JBoss Community

EJBException: Failed to acquire the pool semaphore

created by Samuel Tannous in JBoss Messaging - View the full discussion

Hi Guys,

 

I see that this problem's come up a few times in the past but our scenario is different so I'll raise it again. We're using ActiveMQ in JBoss 6 and are seeing intermittent errors dispatching messages which causes them to be lost (the JMX consolde shows that they've been dequeued but the listener never gets them).

 

There's a good explanation of the "Failed to acquire the pool semaphore" error here: http://stackoverflow.com/questions/7015583/ejbexception-failed-to-acquire-the-pool-semaphore

 

And it sounds simple enough except we're not using prefetch... so my question is, how can this error occur when messages are being polled instead of batched?

 

Our embedded broker url is:

vm://myBroker?create=false&jms.prefetchPolicy.all=0&jms.alwaysSyncSend=true

 

The ejb3-interceptors-aop.xml MDB config is default (@org.jboss.ejb3.annotation.Pool (value="StrictMaxPool", maxSize=15, timeout=10000))

 

The message listener is annotated with:

@MessageDriven(name = "MyListener", messageListenerInterface = javax.jms.MessageListener.class, activationConfig = {

        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),

        @ActivationConfigProperty(propertyName = "maxSessions", propertyValue = "20"),

        @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/com.myorg.MyQueue") })

 

The stack's attached:

 

Any help will be greatly appreciated.

 

Cheers

Sam

Reply to this message by going to Community

Start a new discussion in JBoss Messaging at Community