Why do the JMS dbms_aqadm.add_subscriber and dbms_aqadm.remove_subscriber calls sometimes hang when there are concurrent enqueues or dequeues happening on the same queue to which these calls are issued?

Answer Posted / munnu

Add_subscriber and remove_subscriber are administrative operations on a queue. Though AQ does not prevent applications from issuing administrative and operational calls concurrently, they are executed serially. Both add_subscriber and remove_subscriber will block until pending transactions that have enqueued or dequeued messages commit and release the resources they hold. It is expected that adding and removing subscribers will not be a frequent event. It will mostly be part of the setup for the application. The behavior you observe will be acceptable in most cases. The solution is to try to isolate the calls to add_subscriber and remove_subscriber at the setup or cleanup phase when there are no other operations happening on the queue. That will make sure that they will not stay blocked waiting for operational calls to release resources.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How do I start jms server?

483


What is jms server?

491


What is difference between queue and topic in jms?

450


What does kms mean?

476


What is the difference between an sms and text message?

428






What is asynchronous messaging in jms?

467


How to check jms messages in weblogic?

472


What is jms module?

449


Explain the difference between topic and queue?

595


What are the types of messages that are supported by JMS?

468


What is jms in java?

447


What are the different types of messaging systems?

418


What are the different places where you can use the JMS API?

492


What is jms (java messaging service)?

473


Does weblogic jms support clustering?

485