Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Milestone 1.2
    • Fix Version/s: Milestone 1.3
    • Component/s: None
    • Labels:
      None

      Description

      JMS - do not set durable/persistent, not transactional,short time_to_live as messages are used to kick on the worker – tune jms settings

      1. Task1: Provide tuning parameter :
        Is this set by the application or via JMS container configuration ? ( setting via application preferred)
        Related Bean: DataManipulatorMessageConsumerBean.java
      1. Task2: why do we have 2 jms consumers

        Activity

        Hide
        Misu added a comment -

        The solution describe before was processing messages for more than 12 hours and the system is still running. Even more if the server is stop the the unconsumed messages are not lost after the server starts again the (remains) messages are processed.
        With all of this I thing this can be a reliable solution.

        Show
        Misu added a comment - The solution describe before was processing messages for more than 12 hours and the system is still running. Even more if the server is stop the the unconsumed messages are not lost after the server starts again the (remains) messages are processed. With all of this I thing this can be a reliable solution.
        Hide
        DmitryRyashchentsev added a comment -

        Got the following exception:

        DXAR:start():Warning:Received diff Xid for open txnId:switching transactionId:
        DXAR Xid=4D65647665642C7365727665722C50333730302C02240000006E29113D4D65647665642C7365727665722C5033373030
        DXAR TXid=6388961065159492864
        got Xid=null
        got TXid=6388961065159507968

        ...

        commitTransaction (XA) on JMSService:jmsdirect failed for connectionId:6388961065158812672 and onePhase:false due to unkown JMSService server error.

        And so then:

        JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] on Resource [commit] operation.
        EJB5018: An exception was thrown during an ejb invocation on [InformationServiceImpl]
        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] 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] operation. vmcid: 0x0 minor code: 0 completed: No
        at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:321)
        ...

        Show
        DmitryRyashchentsev added a comment - Got the following exception: DXAR:start():Warning:Received diff Xid for open txnId:switching transactionId: DXAR Xid=4D65647665642C7365727665722C50333730302C02240000006E29113D4D65647665642C7365727665722C5033373030 DXAR TXid=6388961065159492864 got Xid=null got TXid=6388961065159507968 ... commitTransaction (XA) on JMSService:jmsdirect failed for connectionId:6388961065158812672 and onePhase:false due to unkown JMSService server error. And so then: JTS5031: Exception [org.omg.CORBA.INTERNAL: vmcid: 0x0 minor code: 0 completed: Maybe] on Resource [commit] operation. EJB5018: An exception was thrown during an ejb invocation on [InformationServiceImpl] 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] 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] operation. vmcid: 0x0 minor code: 0 completed: No at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:321) ...
        Hide
        PRE added a comment -

        Dima -
        I don't get these error
        Try to set following parameter in the Glassfish JMS properties
        -Type: Local (this should fix the above error message)

        • Reconnect:Enabled -Whether JMS service attempts to reconnect when a connection is lost (might help as well)
        Show
        PRE added a comment - Dima - I don't get these error Try to set following parameter in the Glassfish JMS properties -Type: Local (this should fix the above error message) Reconnect:Enabled -Whether JMS service attempts to reconnect when a connection is lost (might help as well)
        Hide
        DmitryRyashchentsev added a comment -

        I get JMS exception even with LOCAL type:

        com.sun.messaging.jms.JMSException: MQRA:CA:createSession failed-Only one JMS Session allowed when managed connection is involved in a transaction
        at com.sun.messaging.jms.ra.ConnectionAdapter.createSession(ConnectionAdapter.java:372)
        at com.sun.ceq.math.model.DataManipulatorMessageProducerBean.trigger(DataManipulatorMessageProducerBean.java:149)
        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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
        at $Proxy141.trigger(Unknown Source)
        at com.sun.ceq.math.model.DataManipulatorMessageConsumerBean.onMessage(DataManipulatorMessageConsumerBean.java:95)
        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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011)
        at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111)
        at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74)
        at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:179)
        at $Proxy163.onMessage(Unknown Source)
        at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:258)
        at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
        The log message is null.
        com.sun.ceq.math.model.ProducerException: com.sun.messaging.jms.JMSException: MQRA:CA:createSession failed-Only one JMS Session allowed when managed connection is involved in a transaction
        at com.sun.ceq.math.model.DataManipulatorMessageProducerBean.trigger(DataManipulatorMessageProducerBean.java:159)
        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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197)
        at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
        at $Proxy141.trigger(Unknown Source)
        at com.sun.ceq.math.model.DataManipulatorMessageConsumerBean.onMessage(DataManipulatorMessageConsumerBean.java:95)
        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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011)
        at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175)
        at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920)
        at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011)
        at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111)
        at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74)
        at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:179)
        at $Proxy163.onMessage(Unknown Source)
        at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:258)
        at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76)
        at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
        Caused by: com.sun.messaging.jms.JMSException: MQRA:CA:createSession failed-Only one JMS Session allowed when managed connection is involved in a transaction
        at com.sun.messaging.jms.ra.ConnectionAdapter.createSession(ConnectionAdapter.java:372)
        at com.sun.ceq.math.model.DataManipulatorMessageProducerBean.trigger(DataManipulatorMessageProducerBean.java:149)
        ... 27 more
        onMessage: Ok

        Show
        DmitryRyashchentsev added a comment - I get JMS exception even with LOCAL type: com.sun.messaging.jms.JMSException: MQRA:CA:createSession failed-Only one JMS Session allowed when managed connection is involved in a transaction at com.sun.messaging.jms.ra.ConnectionAdapter.createSession(ConnectionAdapter.java:372) at com.sun.ceq.math.model.DataManipulatorMessageProducerBean.trigger(DataManipulatorMessageProducerBean.java:149) 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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011) at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197) at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127) at $Proxy141.trigger(Unknown Source) at com.sun.ceq.math.model.DataManipulatorMessageConsumerBean.onMessage(DataManipulatorMessageConsumerBean.java:95) 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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011) at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011) at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111) at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74) at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:179) at $Proxy163.onMessage(Unknown Source) at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:258) at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555) The log message is null. com.sun.ceq.math.model.ProducerException: com.sun.messaging.jms.JMSException: MQRA:CA:createSession failed-Only one JMS Session allowed when managed connection is involved in a transaction at com.sun.ceq.math.model.DataManipulatorMessageProducerBean.trigger(DataManipulatorMessageProducerBean.java:159) 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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011) at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197) at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127) at $Proxy141.trigger(Unknown Source) at com.sun.ceq.math.model.DataManipulatorMessageConsumerBean.onMessage(DataManipulatorMessageConsumerBean.java:95) 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 com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1011) at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:175) at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2920) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4011) at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1111) at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:74) at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:179) at $Proxy163.onMessage(Unknown Source) at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:258) at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:76) at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555) Caused by: com.sun.messaging.jms.JMSException: MQRA:CA:createSession failed-Only one JMS Session allowed when managed connection is involved in a transaction at com.sun.messaging.jms.ra.ConnectionAdapter.createSession(ConnectionAdapter.java:372) at com.sun.ceq.math.model.DataManipulatorMessageProducerBean.trigger(DataManipulatorMessageProducerBean.java:149) ... 27 more onMessage: Ok
        Hide
        PRE added a comment -

        closed all ticket for Milestone Release 1.3

        Show
        PRE added a comment - closed all ticket for Milestone Release 1.3

          People

          • Assignee:
            cygnusecks1
            Reporter:
            PRE
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: