[ 
https://issues.apache.org/jira/browse/TOMEE-2004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan S Fisher updated TOMEE-2004:
-------------------------------------
    Description: 
Given this message listener:

{code}
@MessageDriven(activationConfig = {
        @ActivationConfigProperty(propertyName = "destination", propertyValue = 
"org.apache.tomee.test"),
        @ActivationConfigProperty(propertyName = "maxSessions", propertyValue = 
"1"), })
public class TestMessageListener implements MessageListener {
    public static final List<String> strings = Collections
            .synchronizedList(new LinkedList<>());

    @Override
    public void onMessage(Message message) {
        try {
            String payload = message.getBody(String.class);
            System.out.println(payload);
            strings.add(payload);
        } catch (JMSException e) {
            throw new RuntimeException(e);
        }
    }
}
{code}

And this test:

{code}
@RunWith(Arquillian.class)
public class TestMessageListenerTest {

    @Deployment
    public static Archive<?> createTestArchive() {
        return ShrinkWrap.create(WebArchive.class)
                .addPackage(TestMessageListener.class.getPackage());
    }

    @Test
    public void testSendMessage(JMSContext jmsContext) throws Exception {
        String destinationName = "org.apache.tomee.test";
        Destination destination = jmsContext.createQueue(destinationName);
        jmsContext.createProducer().send(destination, "test message");
        Thread.sleep(1000L);
        assertTrue(TestMessageListener.strings.size() > 1);
    }

}
{code}

You will get this stack trace.  Oddly enough this works if you deploy it to an 
actual server. The workaround is to cast the {{message}} to a {{TextMessage}} 
and then call {{textMessage.getText()}}

{quote}
INFO: Successfully established connection to broker [vm://jvm_broker]
Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
INFO: Removing non-required WorkContextHandler with no context: 
org.apache.geronimo.connector.work.TransactionContextHandler@1e218814
Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
INFO: Removing non-required WorkContextHandler with no context: 
org.apache.openejb.core.security.SecurityContextHandler@10e665a0
Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
INFO: Removing non-required WorkContextHandler with no context: 
org.apache.geronimo.connector.work.HintsContextHandler@14d9e364
Jan 25, 2017 12:22:49 PM org.apache.openejb.core.transaction.EjbTransactionUtil 
handleSystemException
SEVERE: EjbTransactionUtil.handleSystemException: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
java.lang.AbstractMethodError: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
        at 
com.tomitribe.training.jms.TestMessageListener.onMessage(TestMessageListener.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
        at 
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
        at 
org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:409)
        at 
org.apache.openejb.core.mdb.MdbContainer.invoke(MdbContainer.java:383)
        at 
org.apache.openejb.core.mdb.EndpointHandler.deliverMessage(EndpointHandler.java:228)
        at 
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:169)
        at 
com.tomitribe.training.jms.TestMessageListener$$LocalBeanProxy.onMessage(com/tomitribe/training/jms/TestMessageListener.java)
        at 
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
        at 
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
        at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:1041)
        at 
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
        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:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

java.rmi.RemoteException: The bean encountered a non-application exception; 
nested exception is: 
        java.lang.AbstractMethodError: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
        at 
org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:155)
        at 
org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:427)
        at 
org.apache.openejb.core.mdb.MdbContainer.invoke(MdbContainer.java:383)
        at 
org.apache.openejb.core.mdb.EndpointHandler.deliverMessage(EndpointHandler.java:228)
        at 
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:169)
        at 
com.tomitribe.training.jms.TestMessageListener$$LocalBeanProxy.onMessage(com/tomitribe/training/jms/TestMessageListener.java)
        at 
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
        at 
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
        at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:1041)
        at 
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
        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:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.AbstractMethodError: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
        at 
com.tomitribe.training.jms.TestMessageListener.onMessage(TestMessageListener.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
        at 
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
        at 
org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:409)
        ... 13 more
{quote}


  was:
Given this message listener:

{code}
@MessageDriven(activationConfig = {
        @ActivationConfigProperty(propertyName = "destination", propertyValue = 
"org.apache.tomee.test"),
        @ActivationConfigProperty(propertyName = "maxSessions", propertyValue = 
"1"), })
public class TestMessageListener implements MessageListener {
    public static final List<String> strings = Collections
            .synchronizedList(new LinkedList<>());

    @Override
    public void onMessage(Message message) {
        try {
            String payload = message.getBody(String.class);
            System.out.println(payload);
            strings.add(payload);
        } catch (JMSException e) {
            throw new RuntimeException(e);
        }
    }
}
{code}

And this test:

{code}
@RunWith(Arquillian.class)
public class TestMessageListenerTest {

    @Deployment
    public static Archive<?> createTestArchive() {
        return ShrinkWrap.create(WebArchive.class)
                .addPackage(TestMessageListener.class.getPackage());
    }

    @Test
    public void testSendMessage(JMSContext jmsContext) throws Exception {
        String destinationName = "org.apache.tomee.test";
        Destination destination = jmsContext.createQueue(destinationName);
        jmsContext.createProducer().send(destination, "test message");
        Thread.sleep(1000L);
        assertTrue(TestMessageListener.strings.size() > 1);
    }

}
{code}

You will get this stack trace.  Oddly enough this works if you deploy it to an 
actual server:

{quote}
INFO: Successfully established connection to broker [vm://jvm_broker]
Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
INFO: Removing non-required WorkContextHandler with no context: 
org.apache.geronimo.connector.work.TransactionContextHandler@1e218814
Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
INFO: Removing non-required WorkContextHandler with no context: 
org.apache.openejb.core.security.SecurityContextHandler@10e665a0
Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
INFO: Removing non-required WorkContextHandler with no context: 
org.apache.geronimo.connector.work.HintsContextHandler@14d9e364
Jan 25, 2017 12:22:49 PM org.apache.openejb.core.transaction.EjbTransactionUtil 
handleSystemException
SEVERE: EjbTransactionUtil.handleSystemException: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
java.lang.AbstractMethodError: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
        at 
com.tomitribe.training.jms.TestMessageListener.onMessage(TestMessageListener.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
        at 
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
        at 
org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:409)
        at 
org.apache.openejb.core.mdb.MdbContainer.invoke(MdbContainer.java:383)
        at 
org.apache.openejb.core.mdb.EndpointHandler.deliverMessage(EndpointHandler.java:228)
        at 
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:169)
        at 
com.tomitribe.training.jms.TestMessageListener$$LocalBeanProxy.onMessage(com/tomitribe/training/jms/TestMessageListener.java)
        at 
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
        at 
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
        at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:1041)
        at 
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
        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:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

java.rmi.RemoteException: The bean encountered a non-application exception; 
nested exception is: 
        java.lang.AbstractMethodError: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
        at 
org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:155)
        at 
org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:427)
        at 
org.apache.openejb.core.mdb.MdbContainer.invoke(MdbContainer.java:383)
        at 
org.apache.openejb.core.mdb.EndpointHandler.deliverMessage(EndpointHandler.java:228)
        at 
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:169)
        at 
com.tomitribe.training.jms.TestMessageListener$$LocalBeanProxy.onMessage(com/tomitribe/training/jms/TestMessageListener.java)
        at 
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
        at 
org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
        at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:1041)
        at 
org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
        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:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.AbstractMethodError: 
org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
        at 
com.tomitribe.training.jms.TestMessageListener.onMessage(TestMessageListener.java:23)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
        at 
org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
        at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
        at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
        at 
org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:409)
        ... 13 more
{quote}



> Receive an AbstractMethodError when calling message.getBody(String.class) in 
> an Arquillian test
> -----------------------------------------------------------------------------------------------
>
>                 Key: TOMEE-2004
>                 URL: https://issues.apache.org/jira/browse/TOMEE-2004
>             Project: TomEE
>          Issue Type: Bug
>            Reporter: Jonathan S Fisher
>            Priority: Minor
>
> Given this message listener:
> {code}
> @MessageDriven(activationConfig = {
>         @ActivationConfigProperty(propertyName = "destination", propertyValue 
> = "org.apache.tomee.test"),
>         @ActivationConfigProperty(propertyName = "maxSessions", propertyValue 
> = "1"), })
> public class TestMessageListener implements MessageListener {
>     public static final List<String> strings = Collections
>             .synchronizedList(new LinkedList<>());
>     @Override
>     public void onMessage(Message message) {
>         try {
>             String payload = message.getBody(String.class);
>             System.out.println(payload);
>             strings.add(payload);
>         } catch (JMSException e) {
>             throw new RuntimeException(e);
>         }
>     }
> }
> {code}
> And this test:
> {code}
> @RunWith(Arquillian.class)
> public class TestMessageListenerTest {
>     @Deployment
>     public static Archive<?> createTestArchive() {
>         return ShrinkWrap.create(WebArchive.class)
>                 .addPackage(TestMessageListener.class.getPackage());
>     }
>     @Test
>     public void testSendMessage(JMSContext jmsContext) throws Exception {
>         String destinationName = "org.apache.tomee.test";
>         Destination destination = jmsContext.createQueue(destinationName);
>         jmsContext.createProducer().send(destination, "test message");
>         Thread.sleep(1000L);
>         assertTrue(TestMessageListener.strings.size() > 1);
>     }
> }
> {code}
> You will get this stack trace.  Oddly enough this works if you deploy it to 
> an actual server. The workaround is to cast the {{message}} to a 
> {{TextMessage}} and then call {{textMessage.getText()}}
> {quote}
> INFO: Successfully established connection to broker [vm://jvm_broker]
> Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
> INFO: Removing non-required WorkContextHandler with no context: 
> org.apache.geronimo.connector.work.TransactionContextHandler@1e218814
> Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
> INFO: Removing non-required WorkContextHandler with no context: 
> org.apache.openejb.core.security.SecurityContextHandler@10e665a0
> Jan 25, 2017 12:22:49 PM org.apache.geronimo.connector.work.WorkerContext run
> INFO: Removing non-required WorkContextHandler with no context: 
> org.apache.geronimo.connector.work.HintsContextHandler@14d9e364
> Jan 25, 2017 12:22:49 PM 
> org.apache.openejb.core.transaction.EjbTransactionUtil handleSystemException
> SEVERE: EjbTransactionUtil.handleSystemException: 
> org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
> java.lang.AbstractMethodError: 
> org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
>       at 
> com.tomitribe.training.jms.TestMessageListener.onMessage(TestMessageListener.java:23)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
>       at 
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
>       at 
> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
>       at 
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
>       at 
> org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:409)
>       at 
> org.apache.openejb.core.mdb.MdbContainer.invoke(MdbContainer.java:383)
>       at 
> org.apache.openejb.core.mdb.EndpointHandler.deliverMessage(EndpointHandler.java:228)
>       at 
> org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:169)
>       at 
> com.tomitribe.training.jms.TestMessageListener$$LocalBeanProxy.onMessage(com/tomitribe/training/jms/TestMessageListener.java)
>       at 
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
>       at 
> org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
>       at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:1041)
>       at 
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>       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:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> java.rmi.RemoteException: The bean encountered a non-application exception; 
> nested exception is: 
>       java.lang.AbstractMethodError: 
> org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
>       at 
> org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:155)
>       at 
> org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:427)
>       at 
> org.apache.openejb.core.mdb.MdbContainer.invoke(MdbContainer.java:383)
>       at 
> org.apache.openejb.core.mdb.EndpointHandler.deliverMessage(EndpointHandler.java:228)
>       at 
> org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:169)
>       at 
> com.tomitribe.training.jms.TestMessageListener$$LocalBeanProxy.onMessage(com/tomitribe/training/jms/TestMessageListener.java)
>       at 
> org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.onMessage(MessageEndpointProxy.java:123)
>       at 
> org.apache.activemq.ra.MessageEndpointProxy.onMessage(MessageEndpointProxy.java:64)
>       at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:1041)
>       at 
> org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:169)
>       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:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.AbstractMethodError: 
> org.apache.activemq.command.ActiveMQTextMessage.getBody(Ljava/lang/Class;)Ljava/lang/Object;
>       at 
> com.tomitribe.training.jms.TestMessageListener.onMessage(TestMessageListener.java:23)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
>       at 
> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
>       at 
> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205)
>       at 
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186)
>       at 
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
>       at 
> org.apache.openejb.core.mdb.MdbContainer._invoke(MdbContainer.java:409)
>       ... 13 more
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to