I was able to reproduce this - and I managed to get past the limit of 30 by doing all of the following:

add maxSessions and maxMessagesPerSessions on the MDBs:

@ActivationConfigProperty(propertyName = "maxSessions", propertyValue = "100"), @ActivationConfigProperty(propertyName = "maxMessagesPerSessions", propertyValue = "100")

Set InstanceLimit on the MDB container in openejb.xml:

<Container id="My MDB Container " type="MESSAGE">

 #  The resource adapter delivers messages to the container

 ResourceAdapter My JMS Resource Adapter

 # Specifies the message listener interface handled by this container

 MessageListenerInterface javax.jms.MessageListener

 # Specifies the activation spec class

 ActivationSpecClass org.apache.activemq.ra.ActiveMQActivationSpec

 # Specifies the maximum number of bean instances that are
 # allowed to exist for each MDB deployment.

 InstanceLimit 100

</Container>

and add threadPoolSize (note lowercase t) on the Resource Adapter in openejb.xml:

<Resource id="My JMS Resource Adapter" type="ActiveMQResourceAdapter">
 # Broker configuration URI as defined by ActiveMQ
 # see http://activemq.apache.org/broker-configuration-uri.html

 BrokerXmlConfig broker:(tcp://localhost:61616)?useJmx=false

 # Broker address

 ServerUrl vm://localhost?async=true

 # DataSource for persistence messages

 DataSource My Unmanaged DataSource

 threadPoolSize 100
</Resource>


Hope that's some help. I can post my test project that reproduced your problem if its any help.

Jon


RakeshSU wrote:
I have a producer which produces (1 msg/sec Eg. MSG 0, MSG 1, and so on)
sending to a queue, picked by a MDB (WorkFlow), which puts this message to a
topic with 3 MDB subscribers (Processors) which take 40 secs to process a
message (based on the message only one processes and remaing 2 just return).
What I see is that  everything stops after the WorkFlow sent out the 30th
message (30 secs) to the topic. It only resumes after 10 seconds when the
first message finished processing.

I have tried changing InstanceLimit, ThreadPoolSize, maxSessions,
maxMessagesPerSession but nothing seems to push it past the 30 mark.

Any ideas.

  • 30 Limit RakeshSU
    • Re: 30 Limit Jonathan Gallimore

Reply via email to