« Return to Thread: camel + service mix + spring aspect
This is my pom.xml
<?xml version="1.0" encoding="UTF-8"?><project>
<parent>
<artifactId>camel</artifactId>
<groupId>camel.trial</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>camel.trial</groupId>
<artifactId>camel-su</artifactId>
<packaging>jbi-service-unit</packaging>
<name>A Camel based JBI Service Unit</name>
<version>0.0.1-SNAPSHOT</version>
<url>http://www.myorganization.org</url>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.servicemix.tooling</groupId>
<artifactId>jbi-maven-plugin</artifactId>
<version>${servicemix-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<version>${camel-version}</version> <!-- ${camel-version}-->
</plugin>
</plugins>
</build>
<repositories>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots />
<id>open.iona.m2-snapshot</id>
<name>IONA Open Source Community Snapshot Repository</name>
<url>http://repo.open.iona.com/maven2-snapshot
</url>
</repository>
<repository>
<releases />
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>apache</id>
<name>Apache Repository</name>
<url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
</repository>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots />
<id>apache.snapshots</id>
<name>Apache Snapshots Repository</name>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases />
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>apache</id>
<name>Apache Repository</name>
<url>http://people.apache.org/repo/m2-ibiblio-rsync-repository</url>
</pluginRepository>
<pluginRepository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots />
<id>apache.snapshots</id>
<name>Apache Snapshots Repository</name>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-camel</artifactId>
<version>${servicemix-version}</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-core</artifactId>
<version>${servicemix-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.5</version>
</dependency>
<!--
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<version>${camel-version}</version>
</dependency>
-->
</dependencies>
<properties>
<servicemix-version>3.3.1.17-fuse</servicemix-version>
<camel-version>1.6.0</camel-version> <!-- 1.4.0 original value -->
</properties>
</project>
I am getting the following error.It seems there is some jar version mismatch.
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'camelContext': Invoca
tion of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'myBuilder' defined in file [C:\progress\fuse-esb-3.4.0.2\data\smx\service-assemblies\camel-sa\version_15
\sus\servicemix-camel\camel-su\camel-context.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMe
thodError: org.springframework.util.ReflectionUtils.isEqualsMethod(Ljava/lang/reflect/Method;)Z
My camel context file is
<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://activemq.apache.org/camel/schema/spring
http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config />
<aop:aspectj-autoproxy/>
<camelContext id="camelContext" useJmx="true" xmlns="http://activemq.apache.org/camel/schema/spring">
<routeBuilder ref="myBuilder" />
</camelContext>
<bean id="myBuilder" class="org.camel.su.MyRouteBuilder"/>
<bean id="firstAspect" class="org.aspect.FirstAspect"/>
</beans>
I have spring core 2.5.6 jar which does not have this method defined.Is my POM.xml correct as I think I may need to change the version of the jar to make this work.Claus Ibsen-2 wrote:Hi
What version of Camel are you using?
There was an issue with 1.6.0 or older not being able to be IoC in
some circumstances if the bean was a RouteBuilder instance.
And thats the case with your route builder.
However when using proxy it can be on interface or class level. And
aspectj looks like it does at classlevel so hence something can go
wrong when Camel is not able to see it as a RouteBuilder instance.
On Thu, Jul 2, 2009 at 3:46 PM, akshay_ajmani<akshay.ajmani@gmail.com> wrote:
>
> Hi,
>
> I have implemented the following example
> http://cwiki.apache.org/SM/order-file-processing.html and it is working
> fine. I need to add few modifications to my camel context.xml. My question
> is , is it possible to add spring aspects to camel-context.xml i.e
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:aop="http://www.springframework.org/schema/aop"
> xmlns:context="http://www.springframework.org/schema/context"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
> http://activemq.apache.org/camel/schema/spring
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
> http://www.springframework.org/schema/aop
> http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
> http://www.springframework.org/schema/context
>
> http://www.springframework.org/schema/context/spring-context-2.5.xsd">
>
>
> <context:annotation-config />
>
> <aop:aspectj-autoproxy/>
>
>
>
> <camelContext id="camel"
> xmlns="http://activemq.apache.org/camel/schema/spring">
> <package>org.camel.su</package>
> </camelContext>
> <bean id="firstAspect" class="org.aspect.FirstAspect"/>
>
> </beans>
>
>
>
> I have my pointcuts defined in the java code using spring annotations.
>
> The code is as follows:
>
> @Aspect
> public class SystemArchitecture {
>
>
>
> @Pointcut("execution(* *(..))")
> public void myFirstPointCut()
> {
>
> }
>
> }
>
> package org.aspect;
>
> import org.aspectj.lang.ProceedingJoinPoint;
> import org.aspectj.lang.annotation.Around;
> import org.aspectj.lang.annotation.Aspect;
>
> @Aspect
> public class FirstAspect {
>
>
> @Around("SystemArchitecture.myFirstPointCut()")
> public void firstAspect(ProceedingJoinPoint joinPoint)
> {
> System.out.println("PRINTING FIRST ASPECT");
> try {
> joinPoint.proceed();
> } catch (Throwable e) {
> // TODO Auto-generated catch block
> e.printStackTrace();
> }
> }
> }
>
>
>
>
> If defining aspects in camel-context.xml is possible, then how do I define
> aspects on my RouteBuilder class.Because I want a particular piece of code
> to be always executed before my route builder class is called and I do not
> want to embed that code in the routebuilder class.
>
> For ex: If I do some thing like this below,
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:aop="http://www.springframework.org/schema/aop"
> xmlns:context="http://www.springframework.org/schema/context"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
> http://activemq.apache.org/camel/schema/spring
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
> http://www.springframework.org/schema/aop
> http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
> http://www.springframework.org/schema/context
>
> http://www.springframework.org/schema/context/spring-context-2.5.xsd">
>
>
> <context:annotation-config />
>
> <aop:aspectj-autoproxy/>
>
>
>
> <camelContext id="camel"
> xmlns="http://activemq.apache.org/camel/schema/spring">
> <routeBuilder ref="someRouterBuilder"/>
> </camelContext>
> <bean id="firstAspect" class="org.aspect.FirstAspect"/>
> <bean id="someRouterBuilder" class="org.camel.su.MyRouteBuilder"/>
> </beans>
>
> public class MyRouteBuilder extends RouteBuilder {
>
> @Override
> public void configure() throws Exception {
> System.out.println("IN ROUTE BUILDER#####");
>
> // from our camelService which is called by the file poller
>
> from("jbi:service:http://servicemix.apache.org/example/orderProcessing")
> // we process the received order xml
> .process(new OrderProcessor())
> // and send the result xml back to the file sender
> .to("jbi:service:http://servicemix.apache.org/example/fileSender");
>
>
> }
>
>
> }
>
>
>
> I get an exception is saying that routeBuilder should of type
> org.apache.camel.builder.RouteBuilder. I do not understand why I am getting
> this exception as my RouteBuilder class is already extending the camel
> RouteBuilder class.
>
>
> Please help me these queries.I thank you all for your time.
>
>
>
>
>
>
>
> --
> View this message in context: http://www.nabble.com/camel-%2B-service-mix-%2B-spring-aspect-tp24307030p24307030.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
« Return to Thread: camel + service mix + spring aspect
| Free embeddable forum powered by Nabble | Forum Help |