On Apr 25, 2008, at 1:10 AM, wesley wrote:

As I'm using ActiveMQ jca adapter on snapshot080331, eventually when producing messages it will throw exceptions.
My message sender:

I've added this as a bug report, but it might take some time to track down, since none of the stack shows Resin code (I assume the problem is related to the ejb-message-bean, i.e. receiving, not sending), and I'll need to poke through ActiveMQ to understand the problem.

-- Scott

==================================================
 @Named("clearCache")
 Topic clearCacheTopic;
 @In
 ConnectionFactory jmsFactory;
 public void sendClearCacheMessage() {
  Connection conn = null;
  try {
   conn = jmsFactory.createConnection();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
   MessageProducer producer = session.createProducer(clearCacheTopic);
   producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
producer.send(session.createTextMessage("Clear cache at " + DateUtils.toDateTimeString(new Date())));
  } catch (JMSException e) {
   log.warn(StringUtils.stackTraceAsString(e));
  } finally {
   try {
    conn.close();
   } catch (Throwable ignore) {
   }
  }
 }
=====================================================================
resin-web.xml
=====================================================================
 <resource-adapter uri="activemq:">
  <init server-url="tcp://192.168.1.100:61616"/>
 </resource-adapter>
 <connection-factory uri="activemq:" name="activemq"/>
 <jms-topic uri="activemq:" name="clearCache">
  <init physicalName="topic.clearCache"/>
 </jms-topic>
 <ejb-message-bean class="com.buysou.cache.ClearCacheListener">
  <destination>#{clearCache}</destination>
 </ejb-message-bean>
=====================================================================
ActiveMQ config is at default.

Is there any trick to prevent this exceptions?

-Wesley

stacktrace:

[15:36:37.941] {ActiveMQ Session Task} javax.resource.ResourceException: begin failed. [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq.ra.LocalAndXATransaction.begin(LocalAndXATransaction.java: 52) [15:36:37.941] {ActiveMQ Session Task} at com.caucho.jca.PoolItem.localTransactionStarted(PoolItem.java:546) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ra .ActiveMQManagedConnection .fireBeginEvent(ActiveMQManagedConnection.java:151) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection.access $100(ActiveMQManagedConnection.java:55) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection $2.beginEvent(ActiveMQManagedConnection.java:94) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.TransactionContext.begin(TransactionContext.java: 204) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq.ra.LocalAndXATransaction.begin(LocalAndXATransaction.java: 49) [15:36:37.941] {ActiveMQ Session Task} at com.caucho.jca.PoolItem.localTransactionStarted(PoolItem.java:546) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ra .ActiveMQManagedConnection .fireBeginEvent(ActiveMQManagedConnection.java:151) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection.access $100(ActiveMQManagedConnection.java:55) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection $2.beginEvent(ActiveMQManagedConnection.java:94) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.TransactionContext.begin(TransactionContext.java: 204) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ra.ManagedTransactionContext.begin(ManagedTransactionContext.java:56) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq.ActiveMQSession.doStartTransaction(ActiveMQSession.java: 1658) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQMessageConsumer.ackLater(ActiveMQMessageConsumer.java:782) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQMessageConsumer .beforeMessageIsConsumed(ActiveMQMessageConsumer.java:728) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:963) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.thread.PooledTaskRunner $1.run(PooledTaskRunner.java:43) [15:36:37.941] {ActiveMQ Session Task} at java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886) [15:36:37.941] {ActiveMQ Session Task} at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908) [15:36:37.941] {ActiveMQ Session Task} at java.lang.Thread.run(Thread.java:619) [15:36:37.941] {ActiveMQ Session Task} Caused by: javax.jms.JMSException: The resource is allready being used in transaction context. [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ra .ManagedTransactionContext .setUseSharedTxContext(ManagedTransactionContext.java:47) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ra .ManagedSessionProxy.setUseSharedTxContext(ManagedSessionProxy.java: 65) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq .ra .ManagedConnectionProxy .setUseSharedTxContext(ManagedConnectionProxy.java:125) [15:36:37.941] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection $1.setInManagedTx(ActiveMQManagedConnection.java:87) [15:36:37.941] {ActiveMQ Session Task} at org .apache .activemq.ra.LocalAndXATransaction.begin(LocalAndXATransaction.java: 50)
[15:36:37.941] {ActiveMQ Session Task}  ... 23 more
[15:36:37.945] {ActiveMQ Session Task} javax.resource.ResourceException: begin failed. [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq.ra.LocalAndXATransaction.begin(LocalAndXATransaction.java: 52) [15:36:37.945] {ActiveMQ Session Task} at com.caucho.jca.PoolItem.localTransactionStarted(PoolItem.java:546) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ra .ActiveMQManagedConnection .fireBeginEvent(ActiveMQManagedConnection.java:151) [15:36:37.945] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection.access $100(ActiveMQManagedConnection.java:55) [15:36:37.945] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection $2.beginEvent(ActiveMQManagedConnection.java:94) [15:36:37.945] {ActiveMQ Session Task} at org.apache.activemq.TransactionContext.begin(TransactionContext.java: 204) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ra.ManagedTransactionContext.begin(ManagedTransactionContext.java:56) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq.ActiveMQSession.doStartTransaction(ActiveMQSession.java: 1658) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQMessageConsumer.ackLater(ActiveMQMessageConsumer.java:782) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQMessageConsumer .beforeMessageIsConsumed(ActiveMQMessageConsumer.java:728) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:963) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) [15:36:37.945] {ActiveMQ Session Task} at org.apache.activemq.thread.PooledTaskRunner $1.run(PooledTaskRunner.java:43) [15:36:37.945] {ActiveMQ Session Task} at java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886) [15:36:37.945] {ActiveMQ Session Task} at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908) [15:36:37.945] {ActiveMQ Session Task} at java.lang.Thread.run(Thread.java:619) [15:36:37.945] {ActiveMQ Session Task} Caused by: javax.jms.JMSException: The resource is allready being used in transaction context. [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ra .ManagedTransactionContext .setUseSharedTxContext(ManagedTransactionContext.java:47) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ra .ManagedSessionProxy.setUseSharedTxContext(ManagedSessionProxy.java: 65) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq .ra .ManagedConnectionProxy .setUseSharedTxContext(ManagedConnectionProxy.java:125) [15:36:37.945] {ActiveMQ Session Task} at org.apache.activemq.ra.ActiveMQManagedConnection $1.setInManagedTx(ActiveMQManagedConnection.java:87) [15:36:37.945] {ActiveMQ Session Task} at org .apache .activemq.ra.LocalAndXATransaction.begin(LocalAndXATransaction.java: 50)
[15:36:37.945] {ActiveMQ Session Task}  ... 17 more
_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to