I have created an issue with eclipse project attached to ask help to resolve the problem. https://issues.apache.org/activemq/browse/CAMEL-1636
On Sat, May 16, 2009 at 5:59 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > On Wed, May 13, 2009 at 12:48 PM, Xasima Xirohata <xas...@gmail.com> wrote: >> Sorry to mail you only, not in list. I don't resolve the problem although >> added >> <bean id="producer" class="org.camel.test.conf.SimpleProducer"/> >> <bean id="consumer" class="org.camel.test.conf.SimpleConsumer"/> >> >> > Can you upload the zip to a/the JIRA ticket? > Then its not lost. > > >> >> >> >> >> On Wed, May 6, 2009 at 8:00 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: >>> On Wed, May 6, 2009 at 6:53 AM, Xasima Xirohata <xas...@gmail.com> wrote: >>>> Thanks! Will try. Curious, is it available any camel instruction >>>> (spring based or java dsl) that may allow to process all classes in a >>>> specified packages to automatically find out all camel annotation to >>>> process. >>>> >>>> Smth like >>>> <camelContext id="camel" >>>> xmlns="http://activemq.apache.org/camel/schema/spring"> >>>> <beanPostProcessor scan="package"/> >>>> .... >>>> >>>> If there are a lot of producer / consumer it might be verbose to list >>>> them all explicitly in xml file to aware CamelPostProcessor to pick >>>> them up and process. >>> Yeah I was wondering if Camel could tail the spring IoC component scanner >>> <!-- Spring IoC scan --> >>> <context:component-scan >>> base-package="com.iba.trainunion.trainlist.camel"/> >>> >>> But maybe Spring is only invoking the CamelBeanPostProcessor if the >>> bean found has any Spring related annotations? >>> eg try adding some spring annotation and see if the @EndpointInject is >>> populated then. >>> >>> >>> >>>> >>>> On Wed, May 6, 2009 at 6:31 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: >>>>> Hi >>>>> >>>>> Ah its Camel that inject its own annotations, so @EndpointInjected is >>>>> handled by Camel. >>>>> Its the CamelBeanPostProcessor that is a Spring BeanPostProcessor. >>>>> >>>>> And since your SimpleProducer is nor known by Spring or Camel its not >>>>> injected at all. >>>>> >>>>> So define it as a Spring bean >>>>> <bean id="simpleProducer" class="xxxx"/> >>>>> >>>>> And Camel should be able to have a go at its parsing to find the >>>>> @EndpointInjected annotations. >>>>> >>>>> >>>>> >>>>> On Tue, May 5, 2009 at 7:15 PM, Xasima Xirohata <xas...@gmail.com> wrote: >>>>>> Hi. I'm using geronimo-jetty-2.1.4 running with jdk1.6. This geronimo >>>>>> has an activemq (4.1.2) running on 61616. I have created queue >>>>>> 'SendReceiveQueue' using geronimo and it works. Generally, I would >>>>>> like to add camel as mediation engine which will connect Http, Cometd, >>>>>> Restlet , and geronimo JMS, >>>>>> >>>>>> I have started to just create simple consumer / producer binded to >>>>>> the existed JMS queue. Unfortunately, I have got NPE when inject >>>>>> producer. >>>>>> >>>>>> It's is interesting that I can inject ConnectionFactory + Queue in >>>>>> standard Servlet using EJB. So the problem in >>>>>> >>>>>> public class CustomServlet extends org.restlet.ext.servlet.ServerServlet{ >>>>>> >>>>>> @Resource(name="DefaultActiveMQConnectionFactory") >>>>>> private ConnectionFactory connectionFactory; >>>>>> >>>>>> @Resource(name="SendReceiveQueue") >>>>>> private Queue queue; >>>>>> >>>>>> protected Log log = LogFactory.getLog(this.getClass()); >>>>>> �...@override >>>>>> public void init() throws ServletException { >>>>>> try { >>>>>> if(queue!=null && connectionFactory!=null) >>>>>> log.info("ok"); >>>>>> >>>>>> >>>>>> Here is the code >>>>>> ------------------------------------------ SimpleProducer >>>>>> ---------------------------------------- >>>>>> public class SimpleProducer { >>>>>> >>>>>> �...@endpointinject(uri="jms:queue:SendReceiveQueue") >>>>>> ProducerTemplate producer; >>>>>> >>>>>> �...@endpointinject(uri="jms:SendReceiveQueue") >>>>>> ProducerTemplate producer2; >>>>>> >>>>>> �...@endpointinject(uri="activemq:SendReceiveQueue") >>>>>> ProducerTemplate producer3; >>>>>> >>>>>> �...@endpointinject(uri="activemq:queue:SendReceiveQueue") >>>>>> ProducerTemplate producer4; >>>>>> >>>>>> Log log = LogFactory.getLog(this.getClass()); >>>>>> >>>>>> public void produceMessage() { >>>>>> // Everything is NULL >>>>>> if(producer!=null) >>>>>> {producer.sendBody("<message>test</message>");log.info("ok1"); }; >>>>>> if(producer2!=null){ >>>>>> producer2.sendBody("<message>test</message>"); >>>>>> log.info("ok2");}; >>>>>> if(producer3!=null){ >>>>>> producer3.sendBody("<message>test</message>"); >>>>>> log.info("ok3");}; >>>>>> if(producer4!=null){ >>>>>> producer4.sendBody("<message>test</message>"); >>>>>> log.info("ok4");}; >>>>>> } >>>>>> } >>>>>> >>>>>> ------------------------------------ Routing >>>>>> ---------------------------------------- >>>>>> public class RoutingConfiguration extends RouteBuilder { >>>>>> protected static Log log = >>>>>> LogFactory.getLog(RoutingConfiguration.class); >>>>>> >>>>>> �...@override >>>>>> public void configure() throws Exception { >>>>>> log.info("Listing components.."); >>>>>> >>>>>> for (String e : getContext().getComponentNames()) >>>>>> log.info(e); >>>>>> >>>>>> log.info("Listing endpoints..."); >>>>>> for (Endpoint e : getContext().getEndpoints()) >>>>>> log.info(e); >>>>>> } >>>>>> } >>>>>> ------------------------------------------ WEB-INF >>>>>> /applicationContext.xml ---------------------------- >>>>>> <?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" >>>>>> xmlns:context="http://www.springframework.org/schema/context" >>>>>> xmlns:broker="http://activemq.apache.org/schema/core" >>>>>> xsi:schemaLocation="http://www.springframework.org/schema/beans >>>>>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd >>>>>> http://www.springframework.org/schema/context >>>>>> >>>>>> http://www.springframework.org/schema/context/spring-context-2.5.xsd >>>>>> http://camel.apache.org/schema/spring >>>>>> http://camel.apache.org/schema/spring/camel-spring.xsd >>>>>> http://activemq.apache.org/schema/core >>>>>> http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd"> >>>>>> >>>>>> <!-- Spring IoC scan --> >>>>>> <context:component-scan >>>>>> base-package="com.iba.trainunion.trainlist.camel"/> >>>>>> >>>>>> <!-- Define camel --> >>>>>> <camel:camelContext id="camel"> >>>>>> <!-- will auto discover camel router in the specified >>>>>> package --> >>>>>> >>>>>> <camel:package>com.iba.trainunion.trainlist.camel</camel:package> >>>>>> <camel:jmxAgent id="agent" createConnector="true"/> >>>>>> </camel:camelContext> >>>>>> >>>>>> <bean id="jms" >>>>>> class="org.apache.activemq.camel.component.ActiveMQComponent"> >>>>>> <property name="brokerURL" value="tcp://localhost:61616"/> >>>>>> </bean> >>>>>> >>>>>> <bean id="activemq" >>>>>> class="org.apache.camel.component.jms.JmsComponent"> >>>>>> <property name="connectionFactory"> >>>>>> <bean >>>>>> class="org.apache.activemq.ActiveMQConnectionFactory"> >>>>>> <property name="brokerURL" >>>>>> value="tcp://localhost:61616"/> >>>>>> </bean> >>>>>> </property> >>>>>> </bean> >>>>>> </beans> >>>>>> >>>>>> --------------------------------------- WEB-INF / web.xml >>>>>> ------------------------------------ >>>>>> >>>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>>> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>> xmlns="http://java.sun.com/xml/ns/javaee" >>>>>> xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee >>>>>> http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" >>>>>> version="2.5"> >>>>>> >>>>>> <!-- ============ CAMEL ================= --> >>>>>> <!-- Start spring autowiring configured in applicationContext.xml --> >>>>>> <listener> >>>>>> >>>>>> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> >>>>>> </listener> >>>>>> <!-- ============ / CAMEL ================= --> >>>>>> >>>>>> ....... >>>>>> >>>>>> >>>>>> --------------------------------------- WEB-INF / geronimo-web.xml >>>>>> ------------------------------------ >>>>>> I have deployed spring-tx, spring-aop, spring into geronimo, since >>>>>> there are a lack of them in standard repository. >>>>>> >>>>>> >>>>>> <?xml version="1.0" encoding="UTF-8" standalone="no"?> >>>>>> <web:web-app >>>>>> xmlns:app="http://geronimo.apache.org/xml/ns/j2ee/application-2.0" >>>>>> xmlns:client="http://geronimo.apache.org/xml/ns/j2ee/application-client-2.0" >>>>>> xmlns:conn="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2" >>>>>> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2" >>>>>> xmlns:ejb="http://openejb.apache.org/xml/ns/openejb-jar-2.2" >>>>>> xmlns:name="http://geronimo.apache.org/xml/ns/naming-1.2" >>>>>> xmlns:pers="http://java.sun.com/xml/ns/persistence" >>>>>> xmlns:pkgen="http://openejb.apache.org/xml/ns/pkgen-2.1" >>>>>> xmlns:sec="http://geronimo.apache.org/xml/ns/security-2.0" >>>>>> xmlns:web="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"> >>>>>> <dep:environment> >>>>>> <dep:moduleId> >>>>>> <dep:groupId>com.iba.trainunion</dep:groupId> >>>>>> <dep:artifactId>trainlist-web</dep:artifactId> >>>>>> <dep:version>1.0</dep:version> >>>>>> <dep:type>car</dep:type> >>>>>> </dep:moduleId> >>>>>> <dep:dependencies> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.springframework</dep:groupId> >>>>>> <dep:artifactId>spring-beans</dep:artifactId> >>>>>> <dep:version>2.5.6</dep:version> >>>>>> <dep:type>jar</dep:type> >>>>>> </dep:dependency> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.springframework</dep:groupId> >>>>>> <dep:artifactId>spring-context</dep:artifactId> >>>>>> <dep:version>2.5.6</dep:version> >>>>>> <dep:type>jar</dep:type> >>>>>> </dep:dependency> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.springframework</dep:groupId> >>>>>> <dep:artifactId>spring-core</dep:artifactId> >>>>>> <dep:version>2.5.6</dep:version> >>>>>> <dep:type>jar</dep:type> >>>>>> </dep:dependency> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.springframework</dep:groupId> >>>>>> <dep:artifactId>spring-web</dep:artifactId> >>>>>> <dep:version>2.5.6</dep:version> >>>>>> <dep:type>jar</dep:type> >>>>>> </dep:dependency> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.springframework</dep:groupId> >>>>>> <dep:artifactId>spring-aop</dep:artifactId> >>>>>> <dep:version>2.5.6</dep:version> >>>>>> <dep:type>jar</dep:type> >>>>>> </dep:dependency> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.springframework</dep:groupId> >>>>>> <dep:artifactId>spring-tx</dep:artifactId> >>>>>> <dep:version>2.5.6</dep:version> >>>>>> <dep:type>jar</dep:type> >>>>>> </dep:dependency> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.springframework</dep:groupId> >>>>>> <dep:artifactId>spring</dep:artifactId> >>>>>> <dep:version>2.5.6</dep:version> >>>>>> <dep:type>jar</dep:type> >>>>>> </dep:dependency> >>>>>> <dep:dependency> >>>>>> <dep:groupId>org.apache.geronimo.configs</dep:groupId> >>>>>> <dep:artifactId>activemq-ra</dep:artifactId> >>>>>> <dep:version>2.1.3</dep:version> >>>>>> <dep:type>car</dep:type> >>>>>> </dep:dependency> >>>>>> </dep:dependencies> >>>>>> <dep:hidden-classes> >>>>>> <dep:filter>org.springframework.</dep:filter> >>>>>> <dep:filter>META-INF/spring</dep:filter> >>>>>> </dep:hidden-classes> >>>>>> </dep:environment> >>>>>> <web:context-root>/trainunion/realtime</web:context-root> >>>>>> </web:web-app> >>>>>> >>>>>> ----------------------------------------------------- Log when deploy >>>>>> ------------------------------------------- >>>>>> Geronimo Application Server started >>>>>> INFO RMI TCP Connection(39)-169.254.167.193 >>>>>> org.apache.geronimo.deployment.DeploymentContext - The Strict Manifest >>>>>> Classpath processing mode is in effect. >>>>>> This option can be altered by specifying >>>>>> -DXorg.apache.geronimo.deployment.LenientMFCP=true|false >>>>>> Specify ="true" for more lenient processing such as ignoring missing >>>>>> jars and references that are not spec compliant. >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.ContextLoader - Root >>>>>> WebApplicationContext: initialization started >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.support.XmlWebApplicationContext - >>>>>> Refreshing >>>>>> org.springframework.web.context.support.xmlwebapplicationcont...@143363: >>>>>> display name [Root WebApplicationContext]; startup date [Tue May 05 >>>>>> 20:13:11 EEST 2009]; root of context hierarchy >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.beans.factory.xml.XmlBeanDefinitionReader - >>>>>> Loading XML bean definitions from ServletContext resource >>>>>> [/WEB-INF/applicationContext.xml] >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.support.XmlWebApplicationContext - >>>>>> Bean factory for application context >>>>>> [org.springframework.web.context.support.xmlwebapplicationcont...@143363]: >>>>>> org.springframework.beans.factory.support.defaultlistablebeanfact...@bc80fa >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.support.XmlWebApplicationContext - >>>>>> Bean 'agent' is not eligible for getting processed by all >>>>>> BeanPostProcessors (for example: not eligible for auto-proxying) >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.apache.camel.impl.DefaultCamelContext - JMX enabled. Using >>>>>> InstrumentationLifecycleStrategy. >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.support.XmlWebApplicationContext - >>>>>> Bean 'com.iba.trainunion.trainlist.camel.RoutingConfiguration' is not >>>>>> eligible for getting processed by all BeanPostProcessors (for example: >>>>>> not eligible for auto-proxying) >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> com.iba.trainunion.trainlist.camel.RoutingConfiguration - Listing >>>>>> components.. >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> com.iba.trainunion.trainlist.camel.RoutingConfiguration - spring-event >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> com.iba.trainunion.trainlist.camel.RoutingConfiguration - Listing >>>>>> endpoints... >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.support.XmlWebApplicationContext - >>>>>> Bean 'camel' is not eligible for getting processed by all >>>>>> BeanPostProcessors (for example: not eligible for auto-proxying) >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.support.XmlWebApplicationContext - >>>>>> Bean 'camel' is not eligible for getting processed by all >>>>>> BeanPostProcessors (for example: not eligible for auto-proxying) >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory - >>>>>> Pre-instantiating singletons in >>>>>> org.springframework.beans.factory.support.defaultlistablebeanfact...@bc80fa: >>>>>> defining beans >>>>>> [org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,agent,camel:beanPostProcessor,camel,jms,activemq]; >>>>>> root of factory hierarchy >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.apache.camel.impl.DefaultCamelContext - Apache Camel 2.0-M1 >>>>>> (CamelContext:camel) is starting >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.apache.camel.management.DefaultInstrumentationAgent - JMX >>>>>> Connector thread started and listening at: >>>>>> service:jmx:rmi:///jndi/rmi://perez_a:1099/jmxrmi/camel >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.apache.camel.impl.DefaultCamelContext - Apache Camel 2.0-M1 >>>>>> (CamelContext:camel) started >>>>>> INFO RMI TCP Connection(40)-169.254.167.193 >>>>>> org.springframework.web.context.ContextLoader - Root >>>>>> WebApplicationContext: initialization completed in 2026 ms >>>>>> >>>>>> >>>>>> >>>>>> Best regards, >>>>>> ~ Xasima Xirohata ~ >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Claus Ibsen >>>>> Apache Camel Committer >>>>> >>>>> Open Source Integration: http://fusesource.com >>>>> Blog: http://davsclaus.blogspot.com/ >>>>> Twitter: http://twitter.com/davsclaus >>>>> Apache Camel Reference Card: >>>>> http://refcardz.dzone.com/refcardz/enterprise-integration >>>>> Interview with me: >>>>> http://architects.dzone.com/articles/interview-claus-ibsen-about?mz=7893-progress >>>>> >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> ~ Xasima Xirohata ~ >>>> >>> >>> >>> >>> -- >>> Claus Ibsen >>> Apache Camel Committer >>> >>> Open Source Integration: http://fusesource.com >>> Blog: http://davsclaus.blogspot.com/ >>> Twitter: http://twitter.com/davsclaus >>> Apache Camel Reference Card: >>> http://refcardz.dzone.com/refcardz/enterprise-integration >>> Interview with me: >>> http://architects.dzone.com/articles/interview-claus-ibsen-about?mz=7893-progress >>> >> >> >> >> -- >> Best regards, >> ~ Xasima Xirohata ~ >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > -- Best regards, ~ Xasima Xirohata ~