users@genericjmsra.java.net

Re: Failure when genericjmsra tried to post to DMQ

From: Niels Soeffers <nsoeffers_at_gmail.com>
Date: Fri, 1 Dec 2006 11:27:04 +0100

Hello,

We tried version 1.7 as you suggested. However by upgrading to 1.7 the
"normal" delivery of the messages also seems to cause problems. The
stacktrace is copy-pasted below, and the full server log is attached.

[#|2006-12-01T10:09:
32.556+0100|INFO|sun-appserver-pe8.1_02|javax.enterprise.system.container.ejb.mdb|_ThreadID=18
;|javax.ejb.EJBException
javax.ejb.EJBException: Unable to complete container-managed transaction.;
nested exception is: javax.transaction.SystemException:
org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid:
0x0 minor code: 0 completed: Maybe] on Resource [commit one phase]
operation. vmcid: 0x0 minor code: 0 completed: No
javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031:
Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed:
Maybe] on Resource [commit one phase] operation. vmcid: 0x0 minor code: 0
completed: No
    at com.sun.jts.jta.TransactionManagerImpl.commit(
TransactionManagerImpl.java:266)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(
J2EETransactionManagerImpl.java:918)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(
J2EETransactionManagerOpt.java:362)
    at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java
:2732)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java
:2521
    at
com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(
MessageBeanContainer.java:1071)
    at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(
MessageBeanContainer.java:1042)
    at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(
MessageBeanListenerImpl.java:46)
    at
com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke
(MessageEndpointInvocationHandler.java:105)
    at $Proxy314.afterDelivery(Unknown Source)
    at com.sun.genericra.inbound.InboundJmsResource.releaseEndpoint(
InboundJmsResource.java:182)
    at com.sun.genericra.inbound.WorkImpl.run(WorkImpl.java:57)
    at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:45)
    at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(
ThreadPoolImpl.java:409)
javax.ejb.EJBException: Unable to complete container-managed transaction.;
nested exception is: javax.transaction.SystemException:
org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid:
0x0 minor code: 0 completed: Maybe] on Resource [commit one phase]
operation. vmcid: 0x0 minor code: 0 completed: No
    at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java
:2742)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java
:2521)
    at
com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(
MessageBeanContainer.java:1071)
    at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(
MessageBeanContainer.java:1042)
    at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(
MessageBeanListenerImpl.java:46)
    at
com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke
(MessageEndpointInvocationHandler.java:105)
    at $Proxy314.afterDelivery(Unknown Source)
    at com.sun.genericra.inbound.InboundJmsResource.releaseEndpoint(
InboundJmsResource.java:182)
    at com.sun.genericra.inbound.WorkImpl.run(WorkImpl.java:57)
    at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:45)
    at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(
ThreadPoolImpl.java:409)
|#]


I also came across the following lines in the server log, which I thought
were strange:

[#|2006-12-01T10:12:
12.820+0100|INFO|sun-appserver-pe8.1_02|com.sun.genericjmsra|_ThreadID=52;|Reconnect
attempt->0|#]
[#|2006-12-01T10:12:
17.883+0100|INFO|sun-appserver-pe8.1_02|com.sun.genericjmsra|_ThreadID=52;|Generic
resource adapter started consumption |#]
[#|2006-12-01T10:12:
17.883+0100|INFO|sun-appserver-pe8.1_02|com.sun.genericjmsra|_ThreadID=52;|Reconnect
successful with pool->0|#]
[#|2006-12-01T10:12:
17.883+0100|INFO|sun-appserver-pe8.1_02|com.sun.genericjmsra|_ThreadID=52
;|Reconnected!!|#]

This seems as if the connection is closed?
Another strange thing perhaps related to the above lines are the below lines
which we see at server startup-time:

[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR8000
: The method setReconnectInterval is not present in the class :
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR7097:
No setter method present for the property ReconnectInterval in the class
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR8000
: The method setAddressListIterations is not present in the class :
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR7097:
No setter method present for the property AddressListIterations in the class
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR8000
: The method setReconnectEnabled is not present in the class :
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR7097:
No setter method present for the property ReconnectEnabled in the class
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR8000
: The method setReconnectAttempts is not present in the class :
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR7097:
No setter method present for the property ReconnectAttempts in the class
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR8000
: The method setAddressListBehavior is not present in the class :
com.sun.messaging.jms.ra.ActivationSpec|#]
[#|2006-12-01T10:00:
59.972+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR7097:
No setter method present for the property AddressListBehavior in the class
com.sun.messaging.jms.ra.ActivationSpec|#]


At the end of the log file we also see the following exception:

[#|2006-12-01T10:27:
31.647+0100|SEVERE|sun-appserver-pe8.1_02|javax.enterprise.system.container.ejb.mdb|_ThreadID=22
;|java.lang.NullPointerException
java.lang.NullPointerException
    at java.util.Hashtable.containsKey(Hashtable.java:314)
    at com.sun.jts.jta.TransactionState.containsXAResource(
TransactionState.java:422)
    at com.sun.jts.jta.TransactionImpl.delistResource(TransactionImpl.java
:215)
    at com.sun.enterprise.distributedtx.J2EETransaction.delistResource(
J2EETransaction.java:383)
    at
com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.delistResource(
J2EETransactionManagerImpl.java:755)
    at
com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.delistResource(
J2EETransactionManagerOpt.java:198)
    at com.sun.enterprise.resource.ResourceManagerImpl.unregisterResource(
ResourceManagerImpl.java:210)
    at com.sun.enterprise.resource.PoolManagerImpl.unregisterResource(
PoolManagerImpl.java:333)
    at
com.sun.ejb.containers.MessageBeanContainer.unregisterMessageBeanResource(
MessageBeanContainer.java:746)
    at
com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(
MessageBeanContainer.java:1064)
    at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(
MessageBeanContainer.java:1042)
    at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(
MessageBeanListenerImpl.java:46)
    at
com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke
(MessageEndpointInvocationHandler.java:105)
    at $Proxy314.afterDelivery(Unknown Source)
    at com.sun.genericra.inbound.InboundJmsResource.releaseEndpoint(
InboundJmsResource.java:182)
    at com.sun.genericra.inbound.WorkImpl.run(WorkImpl.java:57)
    at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:45)
    at
com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(
ThreadPoolImpl.java:409)


Next week our customers are alpha testing our product. So we would feel al
lot more confident if the error of my previous posting in version 1.6 could
be resolved. However if we could solve the problem by upgrading to 1.7 and
solve the current issues we are facing with the new version, then I could
talk to my boss and ask if upgrading is an option.

P.S. Thanks for the fast reply!

Kind Regards,

Niels


On 12/1/06, Ramesh Parthasarathy <Ramesh.Parthasarathy_at_sun.com> wrote:
>
> Hi Niels,
>
> We have a new release of generic ra 1.7, could you try using that
> one,
> we have made a few changes to redelivery and DMD features, especially in
> the transactions area. It also has better transaction logging
> capabilities (in FINEST mode).
> If its possible could you please try using this release.
>
> Thanks
> -Ramesh
>
> Niels Soeffers wrote On 11/30/06 15:11,:
> > Hello,
> >
> > We are facing a problem when we try to define a dead message queue for
> > undeliverable messages. We use the Sun Application Server 8.1 with
> > genericjmsra 1.6 and connect to a MQ Series 5.3
> >
> > The only stacktrace we see in our logs is posted below.
> >
> > [#|2006-11-30T15:22:
> 14.720+0100|WARNING|sun-appserver-pe8.1_02|javax.enterprise.system.stream.err|_ThreadID=12
> ;|javax.transaction.xa.XAException:
> > XA operation failed, see errorCode
> > at com.ibm.mq.MQXAResource.end (MQXAResource.java:520)
> > at
> > com.sun.genericra.inbound.InboundXAResourceProxy.end(
> InboundXAResourceProxy.java:77)
> > at
> > com.sun.genericra.inbound.DeliveryHelper.sendMessageToDMD(
> DeliveryHelper.java:92)
> > at com.sun.genericra.inbound.WorkImpl.run (WorkImpl.java:57)
> > at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:45)
> > at
> > com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run
> (ThreadPoolImpl.java:409)
> > |#]
> >
> >
> > The activation properties related to the DMQ that are specified are
> > (these are xdoclet tags, but we confirmed that the sun-ejb-jar.xml also
> > contained the correct values)
> >
> > * @sunone.activation-config-property name="SendBadMessagesToDMD"
> > value="true"
> > * @sunone.activation-config-property
> > name="DeadMessageDestinationJndiName"
> > value="com.ardatis.ventouris.VentourisDeadMessageQueue"
> > * @sunone.activation-config-property
> > name="DeadMessageConnectionFactoryJndiName"
> > value="com.ardatis.ventouris.VentourisDeadMessageQueueConnectionFactory"
> > * @sunone.activation-config-property name="DeadMessageDestinationType"
> > value="javax.jms.Queue"
> >
> >
> > We tried to increase the loglevel of the application server (JTS + JTA +
> > JMS) but nothing useful there.
> > We also tried to enable MQ tracing, the trace file is attached.
> >
> > I hope someone can help us with this because we are really stuck on
> this.
> >
> >
> > --
> > Thanks in advance,
> > Kind Regards,
> >
> > Niels
> >
> >
> > ------------------------------------------------------------------------
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
> > For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_genericjmsra.dev.java.net
> For additional commands, e-mail: users-help_at_genericjmsra.dev.java.net
>
>


-- 
Groeten,
Niels