I try to use an @Asynchronous method... not sure to use it correctly, but
result is an exception.

My Ejb : 

@Stateless
public class MyAsyncReceiver {

...

@Asynchronous
        @Lock(LockType.READ)
        @AccessTimeout(-1)
        public void receiveMessage(int pType) {

...
Session.commit(); //send the exception
"javax.jms.TransactionInProgressException"
...
}

...
}

I inject ejb (annotation @EJB) in the caller, and call "receiveMessage"
method.
javax.jms.TransactionInProgressException: Cannot commit() if an XA
transaction is already in progress 
        at
org.apache.activemq.TransactionContext.commit(TransactionContext.java:304)
        at
org.apache.activemq.ra.ManagedTransactionContext.commit(ManagedTransactionContext.java:62)
        at org.apache.activemq.ActiveMQSession.commit(ActiveMQSession.java:574)
        at
org.apache.activemq.ra.ManagedSessionProxy.commit(ManagedSessionProxy.java:108)
        at
org.apache.activemq.ActiveMQQueueSession.commit(ActiveMQQueueSession.java:72)
        at
test_jms.receiver.MyAsyncReceiver.validateMessage(MyAsyncReceiver.java:165)
        at
test_jms.receiver.MyAsyncReceiver.receiveMessage(MyAsyncReceiver.java:107)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
        at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
        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:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:192)
        at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
        at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
        at
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
        at
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
        at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:308)
        at
org.apache.openejb.core.ivm.EjbObjectProxyHandler$1.call(EjbObjectProxyHandler.java:284)
        at
org.apache.openejb.async.AsynchronousPool$AsynchronousCall.call(AsynchronousPool.java:111)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)




--
View this message in context: 
http://tomee-openejb.979440.n4.nabble.com/Activemq-embedded-createSession-unable-to-make-it-work-tp4672172p4672197.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Reply via email to