Powered By Blogger

Saturday, June 8, 2013

Exceeded maximum number of subscribers for queue

In SOA 11.1.1.6, when  someone sees error like "java.sql.SQLException: ORA-24067: exceeded maximum number of subscribers for queue APPS.SAMPLE_QUEUE"


" in soa log then I suggest to follow below steps
This generally occurs in the clustered environment, but standalone should work fine.

Cause: An attempt was made to add new subscribers to the specified, but the number of subscribers for this queue has exceeded the maximum number (1024) of subscribers allowed per queue.

Why does some one create this many number of subscribers?
Answer is obviously nobody wants to do it intentionally but this might happen without developer even knowing. Let's say if you have below plsql code to create subscribers and you deploy code multiple times then each deployment create one subscriber.Please check for this kind of code sections

dbms_aqadm.add_subscriber(queue_name => 'SAMPLE_QUEUE'
,subscriber => TempSubscriber );   Solution: If this issue occurs then you have to delete the AQ table and AQ in your Schema and recreate them

I have also seen another issue if PL/SQL code creates subscriber like above and BPEL 11g service also deployed with durable subscriber set in jms JCA file

Error I see in above case is

BINDING.JCA-12134
ERRJMS_ERR_CR_TOPIC_CONS.
ERRJMS_ERR_CR_TOPIC_CONS.
Unable to create Topic consumer due to JMSException.
Caused by: oracle.jms.AQjmsException: JMS-230: Illegal operation on durable subscription with active TopicSubscriber

No comments:

Post a Comment