akshay_ajmani wrote:
>
> 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<[email protected]>
>> 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
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/camel-%2B-service-mix-%2B-spring-aspect-tp24307030p24326755.html
Sent from the Camel - Users mailing list archive at Nabble.com.