1 2 Previous Next 20 Replies Latest reply on Jul 12, 2013 1:19 PM by martin.capote Go to original post
      • 15. Re: MDB endpoint in use

        Hi Rodrigo, sorry for my english, I speak spanish.

         

        I have the same problem, with JBoss 6.1.0 GA. Can you give me more details about your solution?

         

        Thanks

        • 16. Re: MDB endpoint in use

          Hi Martin,

           

          After more than three years, i must confess that i don't remember every details of the solution. I remember that i was using hibernate and this error occurred due to a concurrent access in the database when updating/inserting registries. Every message that the MDB was dealing with, had persistence in database. Do you have the same behaviour in your situation? Can you see in these exceptions in the logs?

           

          If i remember, the solution was something related to Transaction Management. If you find the database action that is causing this problem, maybe you can add a "RequiresNew" TransactionAttribute to your method to solve the problem.

           

          Hope this helps.

          Rodrigo

          • 17. Re: MDB endpoint in use

            Thanks. Yes, Im using JPA and the MDB have concurrent access to the database. I tried to upgrade hornetq to the 2.2.14, with no luck.

            • 18. Re: MDB endpoint in use
              ataylor

              it wont be a hornetq issue per se, something else is either causing the onmessage to throw a weird exception or another participant in a tx is acting weirdly, most likely database stuff.

              • 19. Re: MDB endpoint in use

                Is it possible that some of your database accesses try to modify the same register? If yes, the problem can be in that point of writing/update in the database. In my case i detected the point of failure in the logs.

                 

                I also don't believe it is an hornetq issue.

                • 20. Re: MDB endpoint in use

                  I have the database (Oracle 11g) in a virtual machine, and I can reproduce the problem with pause & continue at short intervals to simulate a erratic behavior:

                   

                  {noformat}2013-07-11 20:01:58,777 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ###########  TRANSACTION MANAGER  ###########

                  2013-07-11 20:02:00,243 INFO  [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Transaction Id 754571

                  2013-07-11 20:02:03,232 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Updating Transaction Status...

                  2013-07-11 20:02:04,180 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Finishing Transaction Manager

                  2013-07-11 20:02:04,180 INFO  [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ################################################

                  2013-07-11 20:02:23,602 WARN [org.jboss.resource.connectionmanager.TxConnectionManager] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1b3df7e1[state=NORMAL mc=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0 handles=0 lastUse=1373583720105 permit=true trackByTx=true mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@4ca97517 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@9466053 xaResource=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0 txSync=null]: oracle.jdbc.xa.OracleXAException

                  2013-07-11 20:02:23,644 WARN  [com.arjuna.ats.jta] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-16041 prepare on < formatId=131076, gtrid_length=29, bqual_length=28, tx_uid=0:ffffc0a84801:126a:51df359f:c76, node_name=1, branch_uid=0:ffffc0a84801:126a:51df359f:e25, eis_name=unknown eis name > (org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0) failed with exception XAException.XAER_RMFAIL: oracle.jdbc.xa.OracleXAException

                  2013-07-11 20:02:23,678 WARN  [com.arjuna.ats.arjuna] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-12073 BasicAction.End() - prepare phase of action-id 0:ffffc0a84801:126a:51df359f:c76 failed.

                  2013-07-11 20:02:23,678 WARN  [com.arjuna.ats.arjuna] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-12075 Action Aborting

                  2013-07-11 20:02:23,720 WARN  [com.arjuna.ats.jta] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-16045 attempted rollback of < formatId=131076, gtrid_length=29, bqual_length=28, tx_uid=0:ffffc0a84801:126a:51df359f:c76, node_name=1, branch_uid=0:ffffc0a84801:126a:51df359f:e25, eis_name=unknown eis name > (org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0) failed with exception code XAException.XAER_RMFAIL: oracle.jdbc.xa.OracleXAException

                  2013-07-11 20:02:23,731 WARN  [com.arjuna.ats.arjuna] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-12091 Top-level abort of action 0:ffffc0a84801:126a:51df359f:c76 received TwoPhaseOutcome.FINISH_ERROR from com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord

                  2013-07-11 20:02:23,733 ERROR [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Failed to deliver message: java.lang.reflect.UndeclaredThrowableException

                  2013-07-11 20:02:23,734 ERROR [org.hornetq.core.client.impl.ClientConsumerImpl] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Failed to call onMessage(): java.lang.IllegalStateException: afterDelivery without a previous beforeDelivery for message endpoint TrxManagerMDB

                  2013-07-11 20:02:33,184 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ###########  TRANSACTION MANAGER  ###########

                  2013-07-11 20:02:33,295 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Transaction Id 754610

                  2013-07-11 20:01:58,777 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ###########  TRANSACTION MANAGER  ###########

                  2013-07-11 20:02:00,243 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Transaction Id 754571

                  2013-07-11 20:02:03,232 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Updating Transaction Status...

                  2013-07-11 20:02:04,180 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Finishing Transaction Manager

                  2013-07-11 20:02:04,180 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ################################################

                  2013-07-11 20:02:23,602 WARN [org.jboss.resource.connectionmanager.TxConnectionManager] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Connection error occured: org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@1b3df7e1[state=NORMAL mc=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0 handles=0 lastUse=1373583720105 permit=true trackByTx=true mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@4ca97517 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@9466053 xaResource=org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0 txSync=null]: oracle.jdbc.xa.OracleXAException

                  2013-07-11 20:02:23,644 WARN  [com.arjuna.ats.jta] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-16041 prepare on < formatId=131076, gtrid_length=29, bqual_length=28, tx_uid=0:ffffc0a84801:126a:51df359f:c76, node_name=1, branch_uid=0:ffffc0a84801:126a:51df359f:e25, eis_name=unknown eis name > (org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0) failed with exception XAException.XAER_RMFAIL: oracle.jdbc.xa.OracleXAException

                  2013-07-11 20:02:23,678 WARN  [com.arjuna.ats.arjuna] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-12073 BasicAction.End() - prepare phase of action-id 0:ffffc0a84801:126a:51df359f:c76 failed.

                  2013-07-11 20:02:23,678 WARN  [com.arjuna.ats.arjuna] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-12075 Action Aborting

                  2013-07-11 20:02:23,720 WARN  [com.arjuna.ats.jta] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-16045 attempted rollback of < formatId=131076, gtrid_length=29, bqual_length=28, tx_uid=0:ffffc0a84801:126a:51df359f:c76, node_name=1, branch_uid=0:ffffc0a84801:126a:51df359f:e25, eis_name=unknown eis name > (org.jboss.resource.adapter.jdbc.xa.XAManagedConnection@15ce2c0) failed with exception code XAException.XAER_RMFAIL: oracle.jdbc.xa.OracleXAException

                  2013-07-11 20:02:23,731 WARN  [com.arjuna.ats.arjuna] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ARJUNA-12091 Top-level abort of action 0:ffffc0a84801:126a:51df359f:c76 received TwoPhaseOutcome.FINISH_ERROR from com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord

                  2013-07-11 20:02:23,733 ERROR [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Failed to deliver message: java.lang.reflect.UndeclaredThrowableException

                  2013-07-11 20:02:23,734 ERROR [org.hornetq.core.client.impl.ClientConsumerImpl] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Failed to call onMessage(): java.lang.IllegalStateException: afterDelivery without a previous beforeDelivery for message endpoint TrxManagerMDB

                  2013-07-11 20:02:33,184 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ###########  TRANSACTION MANAGER  ###########

                  2013-07-11 20:02:33,295 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Transaction Id 754610

                  2013-07-11 20:02:34,022 INFO  [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Updating Transaction Status...

                  2013-07-11 20:02:34,081 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Finishing Transaction Manager

                  2013-07-11 20:02:34,081 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ################################################

                  2013-07-11 20:03:11,314 ERROR [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-3 (group:HornetQ-client-global-threads-1508716274)) [] Failed to deliver message: java.lang.IllegalStateException: This message endpoint + TrxManagerMDB is already in use by another thread Thread[Thread-6 (group:HornetQ-client-global-threads-1508716274),5,HornetQ-client-global-threads-1508716274]

                  2013-07-11 20:03:11,423 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] ###########  TRANSACTION MANAGER  ###########

                  2013-07-11 20:03:11,538 INFO [com.zzzzzzzzz.common.transactionManager.TrxManagerBean] (Thread-6 (group:HornetQ-client-global-threads-1508716274)) [] Transaction Id 754633

                  2013-07-11 20:03:12,908 ERROR [org.hornetq.ra.inflow.HornetQMessageHandler] (Thread-16 (group:HornetQ-client-global-threads-1508716274)) [] Failed to deliver message: java.lang.IllegalStateException: This message endpoint + TrxManagerMDB is already in use by another thread Thread[Thread-6 (group:HornetQ-client-global-threads-1508716274),5,HornetQ-client-global-threads-1508716274]

                  {noformat}

                   

                   

                  The MDB "TrxManagerMDB" is configured with 15 instances, and after these error, one of every 15 messages throw the error "This message endpoint + TrxManagerMDB is already in use by another thread" and is not processed.

                  Im using JBoss 6.1.0 GA, the Oracle Driver is ojdbc6.jar (Implementation-Version: 11.2.0.2.0).

                  This is my datasource:

                   

                   

                   

                  {code:xml}<datasources>

                  <xa-datasource>

                  <jndi-name>MYDATASOURCE</jndi-name>

                  <isSameRM-override-value>false</isSameRM-override-value>

                  <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>

                  <xa-datasource-property name="URL">jdbc:oracle:thin:@x.x.x.x:ORCL</xa-datasource-property>

                           <xa-datasource-property name="User">user</xa-datasource-property>

                  <xa-datasource-property name="Password">pass</xa-datasource-property>

                  <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

                   

                  <no-tx-separate-pools/>

                           <track-connection-by-tx/>

                           <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>

                   

                  <min-pool-size>1</min-pool-size> 

                  <max-pool-size>25</max-pool-size> 

                  <blocking-timeout-millis>15000</blocking-timeout-millis> 

                  <idle-timeout-minutes>15</idle-timeout-minutes>

                  <metadata>

                  <type-mapping>Oracle10g</type-mapping>

                  </metadata>

                  <use-java-context>false</use-java-context>

                  </xa-datasource>

                   

                    <mbean code="org.jboss.resource.adapter.jdbc.vendor.OracleXAExceptionFormatter"

                  name="jboss.jca:service=OracleXAExceptionFormatter">

                      <depends optional-attribute-name="TransactionManagerService">jboss:service=TransactionManager</depends>

                    </mbean>

                  </datasources>{code:xml}

                  Thanks

                  1 2 Previous Next