camel-geronimo-2.1.4 integration tutorial
-----------------------------------------

                 Key: CAMEL-1636
                 URL: https://issues.apache.org/activemq/browse/CAMEL-1636
             Project: Apache Camel
          Issue Type: Improvement
          Components: bean-integration
    Affects Versions: 2.0-M1
         Environment: geronimo-jetty6-javaee5-2.1.4, java 6
            Reporter: alexander j. perez tchernov


I think that we need an tutorial / example how to use camel with JMS queue 
created in geronimo-jetty-2.1.4 . I have got  NPE when try to use camel 
producer in simple servlet

I have created 
--------- Simple Producer --- 
public class SimpleProducer {
      @EndpointInject(uri="activemq:queue:SendReceiveQueue")
        ProducerTemplate producer;
        public  void produceMessage() { 
producer.sendBody("<message>test</message>"); }
}
--------- WEB-INF/applicationContext.xml--- 
    <context:component-scan base-package="org.camel.test.conf"/>
    <context:annotation-config />
     <bean id="producer" class="org.camel.test.conf.SimpleProducer"/>
     <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>
-------- UserServlet -------------
public class UserServlet  extends javax.servlet.http.HttpServlet implements 
javax.servlet.Servlet{
        @Resource(name="jms/TestConnectionFactory")
         private ConnectionFactory connectionFactory;
         @Resource(name="jms/TestQueue")
         private Queue queue;

        protected void    doGet (...) { 
                     //use EJB 3.0 injected resources - works fine
                    producer.send(session.createMessage());     
                    // NPE            
                    new SimpleProducer().produceMessage();
        }
}
-------- NPE -------------
Geronimo Application Server started
INFO RMI TCP Connection(7)-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.

ERROR DefaultThreadPool 195 org.mortbay.log - /camel/UserServlet
java.lang.NullPointerException
        at 
org.camel.test.conf.SimpleProducer.produceMessage(SimpleProducer.java:30)
        at webjms.UserServlet.doGet(UserServlet.java:68)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at 
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
        at 
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
        at 
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
        at 
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
        at 
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
        at 
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
        at 
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
        at 
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
        at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
        at 
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

----------- WEB-INF / lib ----------
activemq-camel-5.2.0
activemq-web-5.2.0
apache-camel-2.0-M1
camel-core-2.0-M1
camel-jms-2.0-M1
camel-spring-2.0-M1
camel-spring-integration-2.0-M1

----------- ${geronimo-home} / repository / org /springframework / ----------
spring
spring-aop
spring-beans
spring-context
spring-core
sprinx-txn
spring-web

----------- geronimo-web.xml----------

<?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>org.apache.camel</dep:groupId>
            <dep:artifactId>geronimo-test</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.4</dep:version>
                <dep:type>car</dep:type>
           </dep:dependency>               
        </dep:dependencies>
    </dep:environment>
    <web:context-root>/camel</web:context-root>
    <name:resource-ref>
        <name:ref-name>jms/TestConnectionFactory</name:ref-name>
        <name:pattern>
            <name:groupId>org.apache.geronimo.configs</name:groupId>
            <name:artifactId>activemq-ra</name:artifactId>
            <name:version>2.1.4</name:version>
            <name:name>DefaultActiveMQConnectionFactory</name:name>
        </name:pattern>
    </name:resource-ref>
    <name:resource-env-ref>
        <name:ref-name>jms/TestQueue</name:ref-name>
        <name:pattern>
          <name:groupId>org.apache.geronimo.configs</name:groupId>
            <name:artifactId>activemq-ra</name:artifactId>
            <name:version>2.1.4</name:version>            
            <name:name>SendReceiveQueue</name:name>
        </name:pattern>
    </name:resource-env-ref>
</web:web-app>


I'll try to upload the attachment with overall project but reduced web-inf/lib









-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to