geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomasz Mazan <win...@wp.pl>
Subject Re: Strange plug with delivering messages to MDB
Date Tue, 22 Jan 2008 11:29:48 GMT


Tomasz Mazan wrote:
> 
> 
> 
> djencks wrote:
>> 
>> 
>> On Jan 18, 2008, at 12:05 AM, Tomasz Mazan wrote:
>> 
>>>
>>>
>>>
>>> djencks wrote:
>>>>
>>>> Do you have a second resource adapter configured for the inbound
>>>> messages to the mdb?
>>>>
>>>> I seem to recall someone reporting a similar problem if they sent the
>>>> same message they received.  If they  copied the message into a new
>>>> message and sent that everything worked as expected.  Are you sending
>>>> the same message or copying it?  I don't know which behavior is
>>>> expected by the jms spec.
>>>>
>>>> thanks
>>>> david jencks
>>>>
>>>
>>> David,
>>>
>>> 1) I use the same resource adapter for the inbound/outbound messages.
>>> 2) I create new Message to send as reply
>>>
>>> Following your advice I had tried to drop received messages and I  
>>> remarked
>>> that problem is in creating new connection. There's no problem with
>>> delivering messages since I've commented that part of my code, but....
>>> obviously... that doesn't solve my problem.
>>>
>>> I've tried something else which looks as good solution - change
>>> connectionmanager transaction's setting from xa-transaction to
>>> local-transaction. I don't see any reason to use XA for my MDB  
>>> which only
>>> receives message - process it using webservice client - and return  
>>> response
>>> to another jms queue.
>> 
>> If using local-transaction in your connector configuration fixes the  
>> problem then there is a bug in activemq xa handling or possibly our  
>> transaction manager.  I wonder if activemq 5 would work better, but  
>> it seems to be non-trivial to integrate it.
>> 
>> thanks
>> david jencks
>> 
>>>
>>>
>>> Beniamin
>>> -- 
>>> View this message in context: http://www.nabble.com/Strange-plug- 
>>> with-delivering-messages-to-MDB-tp14923100s134p14947998.html
>>> Sent from the Apache Geronimo - Users mailing list archive at  
>>> Nabble.com.
>>>
>> 
>> 
>> 
> 
> David
> Using local-transaction causes strange effect:
> - MDB says that response has been sent
> - logs shows transaction COMMIT
> but no message is not delivered to destination
> 
> Only using independent RA for inbound and outbound messages solving my
> problem.
> 
> Beniamin
> 

Another case which I noticed after sending over 2000 messages to MDB (this
MDB only receive message, and doesn't create any new Connection). After
delivering a bit over 1000 messages MDB stopped receiving any new. 

End of log file before stop looks like
12:27:40,359 INFO  [Transaction] TX Required: Committing transaction
org.apache.geronimo.transaction.manager.TransactionImpl@398a2b
12:27:40,375 INFO  [Transaction] The transaction has been rolled back rather
than commited: Unable to commit
12:27:40,515 ERROR [Transaction] Please correct the integration and supply a
NamedXAResource
java.lang.IllegalStateException: Cannot log transactions as
org.apache.activemq.ra.LocalAndXATransaction@1874ef4 is not a
NamedXAResource.
	at
org.apache.geronimo.transaction.manager.TransactionImpl$TransactionBranch.getResourceName(TransactionImpl.java:697)
	at org.apache.geronimo.transaction.log.HOWLLog.prepare(HOWLLog.java:254)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.internalPrepare(TransactionImpl.java:444)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:316)
	at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:245)
	at
org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:140)
	at
org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:75)
	at
org.apache.openejb.core.mdb.MdbContainer.afterDelivery(MdbContainer.java:388)
	at
org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:274)
	at
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:164)
	at $Proxy41.afterDelivery(Unknown Source)
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126)
	at
org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:65)
	at
org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:751)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:290)
	at
org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
	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:885)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
12:27:40,578 INFO  [Transaction] The transaction has been rolled back rather
than commited: Unable to commit
	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:885)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
12:27:42,312 INFO  [CoreManagerBean] Callback for
taskId=220000001::12009588054687d14f1012d3a3ec9f31b, with result=true and
details=[VoiceMail for pstn=220000001 on VMS updated]
12:27:42,312 INFO  [CommonFacadeBean] finding ActionLog instance with
property: taskId, value: 12009588054687d14f1012d3a3ec9f31b
12:27:42,343 ERROR [Transaction] Please correct the integration and supply a
NamedXAResource
java.lang.IllegalStateException: Cannot log transactions as
org.apache.activemq.ra.LocalAndXATransaction@1c9b008 is not a
NamedXAResource.
	at
org.apache.geronimo.transaction.manager.TransactionImpl$TransactionBranch.getResourceName(TransactionImpl.java:697)
	at org.apache.geronimo.transaction.log.HOWLLog.prepare(HOWLLog.java:254)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.internalPrepare(TransactionImpl.java:444)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:316)
	at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:245)
	at
org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:140)
	at
org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:75)
	at
org.apache.openejb.core.mdb.MdbContainer.afterDelivery(MdbContainer.java:388)
	at
org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:274)
	at
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:164)
	at $Proxy41.afterDelivery(Unknown Source)
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126)
	at
org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:65)
	at
org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:751)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:290)
	at
org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
	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:885)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
12:27:42,359 INFO  [CommonFacadeBean] saving ActionLog instance
12:27:42,359 INFO  [CommonFacadeBean] save successful
12:27:42,375 DEBUG [CoreManagerBean] Confirmation's actionLog saved to DB
12:27:42,375 INFO  [JmsRequestFeedbackBean] Confirmation sent - OK
12:27:42,375 INFO  [Transaction] TX Required: Committing transaction
org.apache.geronimo.transaction.manager.TransactionImpl@43d5b6
12:27:42,375 INFO  [CommonFacadeBean] saving ActionLog instance
12:27:42,375 INFO  [CommonFacadeBean] save successful
12:27:42,375 ERROR [Transaction] Please correct the integration and supply a
NamedXAResource
java.lang.IllegalStateException: Cannot log transactions as
org.apache.activemq.ra.LocalAndXATransaction@f82803 is not a
NamedXAResource.
	at
org.apache.geronimo.transaction.manager.TransactionImpl$TransactionBranch.getResourceName(TransactionImpl.java:697)
	at org.apache.geronimo.transaction.log.HOWLLog.prepare(HOWLLog.java:254)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.internalPrepare(TransactionImpl.java:444)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:316)
	at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:245)
	at
org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:140)
	at
org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:75)
	at
org.apache.openejb.core.mdb.MdbContainer.afterDelivery(MdbContainer.java:388)
	at
org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:274)
	at
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:164)
	at $Proxy41.afterDelivery(Unknown Source)
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126)
	at
org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:65)
	at
org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:751)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:290)
	at
org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
	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:885)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
12:27:42,375 INFO  [CommonFacadeBean] saving ActionLog instance
12:27:42,390 DEBUG [CoreManagerBean] Confirmation's actionLog saved to DB
12:27:42,390 INFO  [JmsRequestFeedbackBean] Confirmation sent - OK
12:27:42,390 INFO  [Transaction] TX Required: Committing transaction
org.apache.geronimo.transaction.manager.TransactionImpl@11cdb12
12:27:42,390 INFO  [CommonFacadeBean] save successful
12:27:42,390 DEBUG [CoreManagerBean] Confirmation's actionLog saved to DB
12:27:42,390 INFO  [JmsRequestFeedbackBean] Confirmation sent - OK
12:27:42,390 INFO  [Transaction] TX Required: Committing transaction
org.apache.geronimo.transaction.manager.TransactionImpl@6fa29c
12:27:42,406 ERROR [Transaction] Please correct the integration and supply a
NamedXAResource
java.lang.IllegalStateException: Cannot log transactions as
org.apache.activemq.ra.LocalAndXATransaction@74645b is not a
NamedXAResource.
	at
org.apache.geronimo.transaction.manager.TransactionImpl$TransactionBranch.getResourceName(TransactionImpl.java:697)
	at org.apache.geronimo.transaction.log.HOWLLog.prepare(HOWLLog.java:254)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.internalPrepare(TransactionImpl.java:444)
	at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:316)
	at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:245)
	at
org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:140)
	at
org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:75)
	at
org.apache.openejb.core.mdb.MdbContainer.afterDelivery(MdbContainer.java:388)
	at
org.apache.openejb.core.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:274)
	at
org.apache.openejb.core.mdb.EndpointHandler.invoke(EndpointHandler.java:164)
	at $Proxy41.afterDelivery(Unknown Source)
	at
org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126)
	at
org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:65)
	at
org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216)
	at org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:751)
	at org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165)
	at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:290)
	at
org.apache.geronimo.connector.work.pool.NamedRunnable.run(NamedRunnable.java:32)
	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:885)
	at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
12:27:42,468 INFO  [Transaction] The transaction has been rolled back rather
than commited: Unable to commit
12:27:42,468 INFO  [Transaction] The transaction has been rolled back rather
than commited: Unable to commit
12:27:42,468 INFO  [Transaction] The transaction has been rolled back rather
than commited: Unable to commit


Beniamin
-- 
View this message in context: http://www.nabble.com/Strange-plug-with-delivering-messages-to-MDB-tp14923100s134p15016851.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Mime
View raw message