4 Replies Latest reply on Aug 27, 2013 5:53 AM by ataylor

    HornetQ standalone with TomEE...

    emanuele.villa

      Hi,

       

      we're trying to connect, using hornetq-ra-rar "build example", from our application deployed into a TomEE+ to a standalone HornetQ 2.3.0 but with no successful results... Is there anyone who had tried a similar integration successfully? We'll appreciate very much a support in this way!

       

      We have downloaded and started a HornetQ (2.3.0-Final) standalone instance with no change to configuration files (we're using the default provided configuration); we have done the following changes in our TomEE instance (following the official JBoss and TomEE documentation plus the following post: http://lucamerolla.wordpress.com/2011/06/10/openejb-and-hornetq/):

       

      1 - In hornetq-ra-rar example project (downloaded from the official jboss hornetq web-site) we create a file called service-jar.xml under the path hornetq-ra-rar/src/main/resources/ord/hornetq/ra/ with the following content:

       

      <?xml version="1.0" encoding="UTF-8"?>

      <ServiceJar>

       

        <ServiceProvider

                id="HornetQ MDB Container"

                service="Container"

                types="MESSAGE"

                constructor="id, securityService, ResourceAdapter, MessageListenerInterface, ActivationSpecClass, InstanceLimit"

                class-name="org.apache.openejb.core.mdb.MdbContainer">

       

          ResourceAdapter HornetQ JMS Resource Adapter

          MessageListenerInterface javax.jms.MessageListener

          ActivationSpecClass org.hornetq.ra.inflow.HornetQActivationSpec

          InstanceLimit 10

       

        </ServiceProvider>

       

       

        <ServiceProvider

                id="HornetQ JMS Resource Adapter"

                service="Resource"

                types="HornetQResourceAdapter"

                class-name="org.hornetq.ra.HornetQResourceAdapter">

       

          DataSource Default Unmanaged JDBC Database

       

        </ServiceProvider>

       

        <ServiceProvider

                id="HornetQ JMS Connection Factory"

                service="Resource"

                types="javax.jms.ConnectionFactory, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory, QueueConnectionFactory, TopicConnectionFactory"

                class-name="org.hornetq.ra.HornetQRAManagedConnectionFactory">

       

          ResourceAdapter HornetQ JMS Resource Adapter

          TransactionSupport xa

          PoolMaxSize 10

          PoolMinSize 0

          ConnectionMaxWaitMilliseconds 5000

          ConnectionMaxIdleMinutes 15

       

        </ServiceProvider>

       

             <ServiceProvider

                id="Default Queue"

                service="Resource"

                types="javax.jms.Queue, Queue"

                constructor="destination"

                class-name="org.hornetq.jms.client.HornetQQueue">

              </ServiceProvider>

       

             <ServiceProvider

                id="Default Topic"

                service="Resource"

                types="javax.jms.Topic, Topic"

                constructor="destination"

                class-name="org.hornetq.jms.client.HornetQTopic">

              </ServiceProvider>

       

      </ServiceJar>

       

      2 - In hornetq-ra-rar example project (the same of previous point) we changed the content of the file ra.xml as below:

       

      <?xml version="1.0" encoding="UTF-8"?>

       

       

      <connector xmlns="http://java.sun.com/xml/ns/j2ee"

                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

                 http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"

                 version="1.5">

       

         <description>HornetQ 2.0 Resource Adapter</description>

         <display-name>HornetQ 2.0 Resource Adapter</display-name>

       

         <vendor-name>Red Hat Middleware LLC</vendor-name>

         <eis-type>JMS 1.1 Server</eis-type>

         <resourceadapter-version>1.0</resourceadapter-version>

       

         <license>

            <description>

      Copyright 2009 Red Hat, Inc.

      Red Hat licenses this file to you under the Apache License, version

      2.0 (the "License"); you may not use this file except in compliance

      with the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

      Unless required by applicable law or agreed to in writing, software

      distributed under the License is distributed on an "AS IS" BASIS,

      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or

      implied.  See the License for the specific language governing

      permissions and limitations under the License.  

            </description>

            <license-required>true</license-required>

         </license>

       

         <resourceadapter>

            <resourceadapter-class>org.hornetq.ra.HornetQResourceAdapter</resourceadapter-class>

            <config-property>

               <description>

                  The transport type. Multiple connectors can be configured by using a comma separated list,

                  i.e. org.hornetq.core.remoting.impl.invm.InVMConnectorFactory,org.hornetq.core.remoting.impl.invm.InVMConnectorFactory.

               </description>

               <config-property-name>ConnectorClassName</config-property-name>

               <config-property-type>java.lang.String</config-property-type>

               <config-property-value>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</config-property-value>

            </config-property>

            <config-property>

               <description>The transport configuration. These values must be in the form of key=val;key=val;,

                  if multiple connectors are used then each set must be separated by a comma i.e. host=host1;port=5445,host=host2;port=5446.

                  Each set of params maps to the connector classname specified.

               </description>

               <config-property-name>ConnectionParameters</config-property-name>

               <config-property-type>java.lang.String</config-property-type>

               <config-property-value>host=127.0.0.1;port=5445</config-property-value>

            </config-property>

       

            <outbound-resourceadapter>

               <connection-definition>

                  <managedconnectionfactory-class>org.hornetq.ra.HornetQRAManagedConnectionFactory</managedconnectionfactory-class>

       

                  <config-property>

                     <description>The default session type</description>

                     <config-property-name>SessionDefaultType</config-property-name>

                     <config-property-type>java.lang.String</config-property-type>

                     <config-property-value>javax.jms.Queue</config-property-value>

                  </config-property>

                  <config-property>

                     <description>Try to obtain a lock within specified number of seconds; less than or equal to 0 disable this functionality</description>

                     <config-property-name>UseTryLock</config-property-name>

                     <config-property-type>java.lang.Integer</config-property-type>

                     <config-property-value>0</config-property-value>

                  </config-property>

       

                  <connectionfactory-interface>org.hornetq.ra.HornetQRAConnectionFactory</connectionfactory-interface>

                  <connectionfactory-impl-class>org.hornetq.ra.HornetQRAConnectionFactoryImpl</connectionfactory-impl-class>

                  <connection-interface>javax.jms.Session</connection-interface>

                  <connection-impl-class>org.hornetq.ra.HornetQRASession</connection-impl-class>

               </connection-definition>

               <transaction-support>XATransaction</transaction-support>

               <authentication-mechanism>

                  <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>

                  <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>

               </authentication-mechanism>

               <reauthentication-support>false</reauthentication-support>

            </outbound-resourceadapter>

       

            <inbound-resourceadapter>

               <messageadapter>

                  <messagelistener>

                     <messagelistener-type>javax.jms.MessageListener</messagelistener-type>

                     <activationspec>

                        <activationspec-class>org.hornetq.ra.inflow.HornetQActivationSpec</activationspec-class>

                        <required-config-property>

                            <config-property-name>destination</config-property-name>

                        </required-config-property>

                     </activationspec>

                  </messagelistener>

               </messageadapter>

            </inbound-resourceadapter>

       

         </resourceadapter>

      </connector>

       

      3 - we build with maven hornetq-ra-rar project (it includes the previous two files service-jar.xml and ra.xml) and we put the generated hornetq-rar-2.3.0.Final-sources.jar under TomEE lib folder with the following hornetq jars list:

       

      hornetq-commons-2.3.0.Final.jar

      hornetq-core-client-2.3.0.Final.jar

      hornetq-jms-client-2.3.0.Final.jar

      hornetq-jms-server-2.3.0.Final.jar

      hornetq-journal-2.3.0.Final.jar

      hornetq-ra-2.3.0.Final.jar

      hornetq-rar-2.3.0.Final-sources.jar

      hornetq-server-2.3.0.Final.jar

      jboss-common-core-2.2.14.GA.jar

      jboss-connector-api_1.5_spec-1.0.0.Final.jar

      jboss-jms-api_1.1_spec-1.0.0.Final.jar

      jbossjts-4.16.4.Final.jar

      jboss-logging-3.1.0.GA.jar

      jboss-logmanager-1.2.2.GA.jar

      jboss-transaction-api_1.1_spec-1.0.0.Final.jar

      jboss-transaction-spi-7.0.0.Final.jar

      jgroups-3.2.5.Final.jar

      jnpserver-5.0.3.GA.jar

      netty-3.6.2.Final.jarhornetq-commons-2.3.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/hornetq-core-client-2.3.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/hornetq-jms-client-2.3.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/hornetq-jms-server-2.3.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/hornetq-journal-2.3.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/hornetq-ra-2.3.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/hornetq-rar-2.3.0.Final-sources.jar

      /home/evilla/data/products/tomEE/hornetqlib/hornetq-server-2.3.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/jboss-common-core-2.2.14.GA.jar

      /home/evilla/data/products/tomEE/hornetqlib/jboss-connector-api_1.5_spec-1.0.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/jboss-jms-api_1.1_spec-1.0.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/jbossjts-4.16.4.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/jboss-logging-3.1.0.GA.jar

      /home/evilla/data/products/tomEE/hornetqlib/jboss-logmanager-1.2.2.GA.jar

      /home/evilla/data/products/tomEE/hornetqlib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/jboss-transaction-spi-7.0.0.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/jgroups-3.2.5.Final.jar

      /home/evilla/data/products/tomEE/hornetqlib/jnpserver-5.0.3.GA.jar

      /home/evilla/data/products/tomEE/hornetqlib/netty-3.6.2.Final.jar

       

      4 - We changed our tomee.xml in this way:

       

      <?xml version="1.0" encoding="UTF-8"?>

      <tomee>

       

              <Container id="SmsJmsMdbContainer" type="MESSAGE" provider="org.hornetq.ra#HornetQ MDB Container">

                      ResourceAdapter SmsJmsResourceAdapter

                      MessageListenerInterface javax.jms.MessageListener

                      ActivationSpecClass org.hornetq.ra.inflow.HornetQActivationSpec

                      InstanceLimit 10

              </Container>

             

              <Resource id="SmsJmsResourceAdapter" type="HornetQResourceAdapter" provider="org.hornetq.ra#HornetQ JMS Resource Adapter">

                      DiscoveryAddress 127.0.0.1

                      DiscoveryPort 5445

              </Resource>

             

              <Resource id="SmsQueue" provider="org.hornetq.ra#Default Queue">

              </Resource>

             

              <Connector id="SmsJmsConnectionFactory" type="javax.jms.ConnectionFactory" provider="org.hornetq.ra#HornetQ JMS Connection Factory">

                      ResourceAdapter SmsJmsResourceAdapter

                      TransactionSupport xa

                      PoolMaxSize 10

                      PoolMinSize 0

                      ConnectionMaxWaitMilliseconds 5000

                      ConnectionMaxIdleMinutes 15

              </Connector>       

       

      </tomee>

       

      RESULT:

      When we start the application server, we have the following error:

       

      INFO: HQ151001: Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@5ab3f4a1 destination=SmsQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)

      Aug 21, 2013 10:11:32 AM org.hornetq.ra.inflow.HornetQActivation handleFailure

      ERROR: HQ154003: Unable to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@5ab3f4a1 destination=SmsQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)

      HornetQException[errorType=INTERNAL_ERROR message=HQ119004: Failed to initialise session factory]

              at org.hornetq.core.client.impl.ServerLocatorImpl.initialise(ServerLocatorImpl.java:393)

              at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:776)

              at org.hornetq.ra.inflow.HornetQActivation.setup(HornetQActivation.java:312)

              at org.hornetq.ra.inflow.HornetQActivation.handleFailure(HornetQActivation.java:651)

              at org.hornetq.ra.inflow.HornetQActivation$SetupActivation.run(HornetQActivation.java:706)

              at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:366)

              at org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)

              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

              at java.lang.Thread.run(Thread.java:722)

      Caused by: java.net.SocketException: Not a multicast address

              at java.net.MulticastSocket.joinGroup(MulticastSocket.java:306)

              at org.hornetq.api.core.UDPBroadcastGroupConfiguration$UDPBroadcastEndpoint.openClient(UDPBroadcastGroupConfiguration.java:215)

              at org.hornetq.core.cluster.DiscoveryGroup.start(DiscoveryGroup.java:108)

              at org.hornetq.core.client.impl.ServerLocatorImpl.initialise(ServerLocatorImpl.java:387)

              ... 9 more

       

      It seems an error due to the DeliveryAddress specified in tomee.xml during SmsJmsResourceAdapter resource definition... Is there a way to specify an unicast address? I mean an addresss like 127.0.0.1 where we install our standalone HornetQ instance... Or is there a way to use another ResourceAdapter? Or we are wrong with something else?

       

      Thank you to anyone who could reply!

      Best regards,

      Emanuele.    

        • 1. Re: HornetQ standalone with TomEE...
          ataylor

          it looks like the RA is trying to use discovery even tho you have configured netty in your config-property's, Maybe TomEE isnt applying the properties correctly or picking up another ra.xml. You could try debugging the rresource adapter to see what is happening, the class is HornetQResourceAdapter, you should be able to debug thr properties getting set.

          • 2. Re: HornetQ standalone with TomEE...
            emanuele.villa

            Hi Andy,

             

            thanks for your reply!

            We tried to use 224.0.0.252 (Link-local Multicast) instead of 127.0.0.1 when configuring HornetQResourceAdapter. Now the application seems to start but we're receiving the following error every 10 sec (probably a configurable retry attempt):

             

            Aug 26, 2013 4:57:16 PM org.hornetq.ra.inflow.HornetQActivation handleFailure

            WARN: HQ152005: Failure in HornetQ activation org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@37bc4fcc destination=SmsQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)

            HornetQException[errorType=CONNECTION_TIMEDOUT message=HQ119012: Timed out waiting to receive initial broadcast from cluster]

                    at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:786)

                    at org.hornetq.ra.inflow.HornetQActivation.setup(HornetQActivation.java:312)

                    at org.hornetq.ra.inflow.HornetQActivation$SetupActivation.run(HornetQActivation.java:702)

                    at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:366)

                    at org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)

                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

                    at java.lang.Thread.run(Thread.java:722)

             

            Aug 26, 2013 4:57:18 PM org.hornetq.ra.inflow.HornetQActivation handleFailure

            INFO: HQ151001: Attempting to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@37bc4fcc destination=SmsQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)

            Aug 26, 2013 4:57:28 PM org.hornetq.ra.inflow.HornetQActivation handleFailure

            ERROR: HQ154003: Unable to reconnect org.hornetq.ra.inflow.HornetQActivationSpec(ra=org.hornetq.ra.HornetQResourceAdapter@37bc4fcc destination=SmsQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15)

            HornetQException[errorType=CONNECTION_TIMEDOUT message=HQ119012: Timed out waiting to receive initial broadcast from cluster]

                    at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:786)

                    at org.hornetq.ra.inflow.HornetQActivation.setup(HornetQActivation.java:312)

                    at org.hornetq.ra.inflow.HornetQActivation.handleFailure(HornetQActivation.java:651)

                    at org.hornetq.ra.inflow.HornetQActivation$SetupActivation.run(HornetQActivation.java:706)

                    at org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:366)

                    at org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)

                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

                    at java.lang.Thread.run(Thread.java:722)

             

            Does this error means that the deployed application cannot reach the standalone hornetq installation? How is it possible to specify that hornetq and the application are both running locally on the same machine? Do we need to set-up something like a loopback?

            And is it possible to see a log of the ip that the adapter is trying to reach? We're using a FINE log level but it's logging only that error.


            Thanks,

            Emanuele.

            • 3. Re: HornetQ standalone with TomEE...
              emanuele.villa

              Hoping that could help... Changing the standalone from non-clustered to clustered (we simply start the standalone clustered version adding only our queue name to file hornetq-jms.xml), we're receiving the following error:

               

              SEVERE: Error during producing message on queue: Could not create a session: com.sun.proxy.$Proxy131 cannot be cast to org.hornetq.ra.HornetQRASession

              javax.jms.JMSException: Could not create a session: com.sun.proxy.$Proxy131 cannot be cast to org.hornetq.ra.HornetQRASession

                      at org.hornetq.ra.HornetQRASessionFactoryImpl.allocateConnection(HornetQRASessionFactoryImpl.java:876)

                      at org.hornetq.ra.HornetQRASessionFactoryImpl.createSession(HornetQRASessionFactoryImpl.java:465)

                      at com.bravofly.sms.gateway.service.asynch.producer.SmsQueueProducerImpl.produce(SmsQueueProducerImpl.java:48)

                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                      at java.lang.reflect.Method.invoke(Method.java:601)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)

                      at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:126)

                      at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:42)

                      at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:63)

                      at org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:69)

                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                      at java.lang.reflect.Method.invoke(Method.java:601)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)

                      at org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176)

                      at org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:95)

                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                      at java.lang.reflect.Method.invoke(Method.java:601)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)

                      at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)

                      at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:239)

                      at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:191)

                      at org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:246)

                      at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:241)

                      at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:83)

                      at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:279)

                      at com.sun.proxy.$Proxy126.produce(Unknown Source)

                      at com.bravofly.sms.gateway.service.asynch.AsynchSmsChannelRouter.routeFakeSms(AsynchSmsChannelRouter.java:39)

                      at com.bravofly.sms.ws.impl.SmsAsynchProviderFacadeImplWS.sendFakeSms(SmsAsynchProviderFacadeImplWS.java:72)

                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                      at java.lang.reflect.Method.invoke(Method.java:601)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)

                      at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)

                      at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:126)

                      at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:42)

                      at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:63)

                      at org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:69)

               

              We tried to debug the class HornetQRASessionFactoryImpl and supposing that the error is on the allocateConnection method, we see that the connection manager cm used in HornetQRASessionFactoryImpl is of type org.apache.geronimo.connector.outbound.GenericConnectionManager. Taking a look to this class at line 90 with a breakpoint we see that the object connection returned is com.sun.proxy.$Proxy131@340"org.hornetq.ra.HornetQRASession@19306130" and looking at the exception the point of failure should be that line...

              Does anyone have an idea of how to solve the cast exception? Or is there another way to make hornetQ working in TomEE?

               

              Thank you,
              Emanuele.

              • 4. Re: HornetQ standalone with TomEE...
                ataylor

                same issue, like i say, try debugging to see what is happening, its hard for me to say.

                 

                or you could use jboss as 7 or Wildfly