I believe I used service-mix-camel-service-unit while creating the service
unit.To avoid the exception 
unexpected element (uri:"http://camel.apache.org/schema/spring";,
local:"camelContext"), I think I would have to use camel-archetype-spring.

My main concern is how to make the aspect run on routebuilder.

akshay_ajmani wrote:
> 
> Hi,
>    I will tell u the complete procedure that I followed.
> 1)Created the various service units and assemblies corresponding to the
> example:
> http://cwiki.apache.org/SM/order-file-processing.html 
> 
> 2) In order to try spring aspects , I did all possible steps required for
> it i.e defining the pointcuts etc.
>  My camel-context.xml looked like the one pasted in the previous.
> 
> 3) After deploying it in service mix, I got exception ..RefelectionUtils .
> isNotEqualMethod not defined.
> 
> I changed the camel version in the pom.xml to avoid this error. The
> relevant portion of  pom.xml currently is like this:
> 
>  <plugin>
>         <groupId>org.apache.camel</groupId>
>         <artifactId>camel-maven-plugin</artifactId>
>         <version>1.6.0</version>
>       </plugin>
>  <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.apache.camel</groupId>
>       <artifactId>camel-spring</artifactId>
>       <version>2.0-M2</version>
>     </dependency>
>   </dependencies>
> 
>   <properties>
>     <servicemix-version>3.2.3</servicemix-version>
>     <!--  <camel-version>1.4.0</camel-version>-->
>               <camel-version>1.6.0.0-fuse</camel-version>
>   </properties>
> 
> 4) After doing this , the aspect was not being called.I think the pointcut
> expression i.e the method which the aspect was defined, its class was not
> being loaded by spring framework.
> 
> 5)So I tried to create an aspect on the route builder class.I changed my
> camel-context.xml to the following:
> 
> <?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: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://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd
>           http://www.springframework.org/schema/aop
>        http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
>          http://camel.apache.org/schema/spring/camel-spring.xsd
>        http://www.springframework.org/schema/context
>       
> http://www.springframework.org/schema/context/spring-context-2.5.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="camel5" xmlns="http://camel.apache.org/schema/spring";>
>     <routeBuilder ref="myBuilder" />    
>   </camelContext>
>   
>   <bean id="myBuilder" class="org.camel.su.MyRouteBuilder"/>
>  <bean id="firstAspect" class="org.aspect.FirstAspect"/>
> </beans>
> 
> 
> I changed my point cut expression so that my advice gets called before the
> routebuilder configure method.
> 
> But now I am getting an exception 
> unexpected element (uri:"http://camel.apache.org/schema/spring";,
> local:"camelContext").It is expecting all uris having activemq.
> 
> I have attached my camel-su pom.xml for your reference
> 
>  http://www.nabble.com/file/p24308838/pom.xml pom.xml 
> 
> 
> Gert Vanthienen wrote:
>> 
>> L.S.,
>> 
>> We should be able to get this to work, but I guess the way classes are
>> loaded in JBI can make this just a bit harder -- some of the Spring
>> AOP bits are being loaded from the JBI container classloader so we
>> might have to add things there.  Just a few informational questions
>> before we start digging into this:
>> - what version of servicemix are you using and which version of the
>> servicemix-camel component?
>> - could you make sure that you're using the same version of Camel in
>> your own pom.xml (e.g. when defining extra components etc)?
>> - can you send us the complete stack trace that you're seeing?
>> 
>> Regards,
>> 
>> Gert Vanthienen
>> ------------------------
>> Open Source SOA: http://fusesource.com
>> Blog: http://gertvanthienen.blogspot.com/
>> 
>> 
>> 
>> 2009/7/2 akshay_ajmani <[email protected]>:
>>>
>>> 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/Service-mix-%2B-camel-%2B-spring-aop-aspects-tp24307006p24307006.html
>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>
>>>
>> 
>> 
>> -----
>> ---
>> Gert Vanthienen
>> http://gertvanthienen.blogspot.com
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Service-mix-%2B-camel-%2B-spring-aop-aspects-tp24307006p24309002.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to