[
http://jira.jboss.com/jira/browse/EJBTHREE-783?page=comments#action_12363755 ]
William DeCoste commented on EJBTHREE-783:
------------------------------------------
There seem to be 2 issues here
1) A mismatch in the number of threads coming from the JMS adaptor and the number of MDB
instances to handle those threads. Weston and I worked have spent considerable time trying
to recreate the problem and have reviewed the applicable MDB and JMS adaptor code with out
any success as of yet.
2) Messages being lost/committed when there is a failure during the creation of an MDB
instance. I've added a test for this scenario in 4.2 where the MDB instance fails with
a bogus jndi injection as the customer did. It behaves correctly - the message attempts
redelivery to the MDB the proper number of times and then ultimately is sent to the DLQ.
jms message disappeared from db then exception is occured
---------------------------------------------------------
Key: EJBTHREE-783
URL:
http://jira.jboss.com/jira/browse/EJBTHREE-783
Project: EJB 3.0
Issue Type: Bug
Affects Versions: EJB 3.0 RC9 - FD
Environment: JBOSS 4.0.5.GA, JDK1.5.0_06, solarisx86, clustered on two nodes
Reporter: Ramil Israfilov
Assigned To: William DeCoste
Priority: Blocker
Fix For: Branch_4_2
We running clustered jboss4.0.5 and JBOSS MQ is configured to run in clustered
environment.
The node which was running Jboss MQ went down. JBOSS MQ successfully restarted on second
node.But deliver of JMS message failed with error:
2006-11-13 11:47:59,130 ERROR [org.jboss.resource.adapter.jms.inflow.JmsServerSession]
(cludev02) (WorkManager(3)-28:) Unexpected error delivering message SpyTextMessage {
Header {
jmsDestination : QUEUE.certione/ExecutorQueue
jmsDeliveryMode : 2
jmsExpiration : 0
jmsPriority : 4
jmsMessageID : ID:13-116341486898510
jmsTimeStamp : 1163414868985
jmsCorrelationID: null
jmsReplyTo : null
jmsType : CertioneAsyncProcessingMessage
jmsRedelivered : false
jmsProperties : {TrackItemId=738, ExecutorName=certione/PreProcessingProcessRemote,
TokenId=19666, AuditRecord=137}
jmsPropReadWrite: false
msgReadOnly : true
producerClientId: ID:13
}
Body {
text :null
}
}
javax.ejb.EJBException: Failed to acquire the pool semaphore, strictTimeout=10000
at org.jboss.ejb3.StrictMaxPool.get(StrictMaxPool.java:106)
at
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.mdb.MessagingContainer.localInvoke(MessagingContainer.java:245)
at
org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.delivery(MessageInflowLocalProxy.java:268)
at
org.jboss.ejb3.mdb.inflow.MessageInflowLocalProxy.invoke(MessageInflowLocalProxy.java:138)
at $Proxy272.onMessage(Unknown Source)
at
org.jboss.resource.adapter.jms.inflow.JmsServerSession.onMessage(JmsServerSession.java:183)
at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:905)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
at org.jboss.mq.SpySession.run(SpySession.java:323)
at
org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:249)
at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
at java.lang.Thread.run(Thread.java:595)
And the most important is that JMS message disappeared after that from database !
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira