Bugs item #993783, was opened at 2004-07-19 15:55
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=993783&group_id=22866

Category: JBossMQ
Group: v3.2
Status: Open
Resolution: None
Priority: 5
Submitted By: Rainer Montag (rmontag)
Assigned to: Nobody/Anonymous (nobody)
Summary: SpyMessageConsumer.receive() hangs after SpyJMSException

Initial Comment:
SpyMessageConsumer.receive() hangs after SpyJMSException

NOTE:

There is only one jboss instance running. No, there are
no two jboss instances running on the same database.
No, there is no other external application accessing
the jms tables in the database.

I have attached the server log with tracing enabled for
jbossmq.

-------------------

We have this problem in JBoss 3.2.3 and 3.2.5.

We have created a Message Queue (using Oracle 9i as
Persistence Manager) and written a MBean, which starts
a thread with a loop receiving messages from the queue.

Occasionally we see the following exception in our
server.log:

2004-07-16 21:37:47,962 ERROR
[org.jboss.mq.SpyMessageConsumer] Ignoring error
org.jboss.mq.SpyJMSException: Cannot acknowlege a
message; - nested throwable:
(org.jboss.mq.SpyJMSException: Could not delete the
message from the database: delete affected 0 rows)
        at org.jboss.mq.Connection.send(Connection.java:907)
        at
org.jboss.mq.SpySession.doAcknowledge(SpySession.java:633)
        at
org.jboss.mq.SpyMessage.doAcknowledge(SpyMessage.java:634)
        at
org.jboss.mq.SpyMessageConsumer.preProcessMessage(SpyMessageConsumer.java:740)
        at
org.jboss.mq.SpyMessageConsumer.getMessage(SpyMessageConsumer.java:699)
        at
org.jboss.mq.SpyMessageConsumer.receive(SpyMessageConsumer.java:289)
        at
de.danet.an.util.ejbtimer.EJBTimerService$Worker.run(EJBTimerService.java:402)
Caused by: org.jboss.mq.SpyJMSException: Could not
delete the message from the database: delete affected 0
rows
        at
org.jboss.mq.pm.jdbc2.PersistenceManager.remove(PersistenceManager.java:979)
        at
org.jboss.mq.server.BasicQueue.acknowledge(BasicQueue.java:473)
        at
org.jboss.mq.server.JMSQueue.acknowledge(JMSQueue.java:133)
        at
org.jboss.mq.server.ClientConsumer.acknowledge(ClientConsumer.java:322)
        at
org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:529)
        at
org.jboss.mq.server.JMSDestinationManager.acknowledge(JMSDestinationManager.java:513)
        at
org.jboss.mq.server.JMSServerInterceptorSupport.acknowledge(JMSServerInterceptorSupport.java:198)
        at
org.jboss.mq.server.TracingInterceptor.acknowledge(TracingInterceptor.java:490)
        at
org.jboss.mq.server.JMSServerInvoker.acknowledge(JMSServerInvoker.java:198)
        at
org.jboss.mq.il.oil.OILServerILService$Client.run(OILServerILService.java:245)
        at java.lang.Thread.run(Thread.java:536) 


with EJBTimerService.java:

ObjectMessage msg = ObjectMessage)reqReceiver.receive();






As a result of this exception, the receive()-Method
never returns, even if there are new messages on the
queue. In this case we have to restart our Mbean
(recreating new QueueConnection, new QueueSession and
new QueueReceiver) to get the messages.

As stated in the Log, the exception is caught in
SpyMessageConsumer during the acknowledge. Maybe the
exception can be ignored, but it looks as it isn't
handled correctly. Since the exception is not thrown as
an exception of the receive()-Method, we cannot handle
this problem in our code.

OS: Linux 2.4.20
JDK: 1.4.1_01

For Persistence we use the oracle 9.2.0.3 oci driver ,
configured in oracle-ds.xml (no XA). I was also able to
reproduce this using hsqldb (hsqldb-ds.xml). And again:
There is only one jboss instance running.


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=993783&group_id=22866


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to