Why do the TopicSession.createDurableSubscriber and TopicSession.unubscribe calls raise JMSException with the message "ORA - 4020 - deadlock detected while trying to lock object"?
Answer Posted / munnu
CreateDurableSubscriber and unsubscribe calls require exclusive access to the Topics. If there are pending JMS operations (send/publish/receive) on the same Topic before these calls are issued, the ORA - 4020 exception is raised.
There are two solutions to the problem:
1. Try to isolate the calls to createDurableSubscriber and unsubscribe at the setup or cleanup phase when there are no other JMS operations happening on the Topic. That will make sure that the required resources are not held by other JMS operational calls. Hence the error ORA - 4020 will not be raised.
2. Issue a TopicSession.commit call before calling createDurableSubscriber and unsubscribe call.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What is a message in software?
What is administered objects in jms?
Explain how does the JMS work with the J2EE?
What are the different places where you can use the JMS API?
How to Allowe messages to expire ?
What is jms testing?
What are the different types of messaging systems?
Explain about message listeners?
What is the use of jms server in weblogic?
What is the use of jms?
Can we use jms for sending automated e-mails?
Can we have more than one consumer for a jms queue?
What is jms and activemq?
Explain Reliability Mechanisms in JMS?
What are the functionalities of a jms provider?