-
1. Re: MDB consumers in Wildfly 8.2.1
mnovak Aug 2, 2016 6:04 AM (in response to vijayavs)Activation config property maxSessions is implementation specific and is for HornetQ resource adapter. This is the reason why it does not work.
Could you check how many sessions of MDB is in the pool by:
[standalone@localhost:9990 /] ls /deployment=mdb-1.0-SNAPSHOT.jar/subsystem=ejb3/message-driven-bean=mdb ...
change mdb name and check attribute - pool-current-size and pool-max-size.
I think that you can see only one consumer because this one consumer feeds all MDB sessions. But this needs to be validated.
-
2. Re: MDB consumers in Wildfly 8.2.1
jbertram Aug 2, 2016 11:11 AM (in response to mnovak)The "maxSessions" activation configuration property is supported on the ActiveMQ Artemis JCA RA.
-
3. Re: MDB consumers in Wildfly 8.2.1
jbertram Aug 2, 2016 11:20 AM (in response to jbertram)Sorry, the property is named "maxSession" (no 's' on the end).
-
4. Re: MDB consumers in Wildfly 8.2.1
vijayavs Aug 2, 2016 3:19 PM (in response to mnovak)Below is the information you had requested:
[standalone@localhost:9990 /] ls /deployment=somosejbpocEAR.ear/subdeployment=somosejbpoc.jar/subsystem=ejb3/message-driven-bean=JMSMessageListenerSmallQueue
service methods={} pool-name=mdb-strict-max-pool
component-class-name=JMSMessageListenerSmallQueue peak-concurrent-invocations=0 pool-remove-count=0
declared-roles=[] pool-available-count=10 run-as-role=undefined
delivery-active=true pool-create-count=0 security-domain=other
execution-time=0 pool-current-size=0 timers=[]
invocations=0 pool-max-size=10 wait-time=0
-
5. Re: MDB consumers in Wildfly 8.2.1
vijayavs Aug 2, 2016 3:51 PM (in response to vijayavs)I ran a test with 10 threads sending messages to the queue. Below is the output which I observed :
[standalone@localhost:9990 /] ls /deployment=somosejbpocEAR.ear/subdeployment=somosejbpoc.jar/subsystem=ejb3/message-driven-bean=JMSMessageListenerSmallQueue
service methods={} pool-name=mdb-strict-max-pool
component-class-name=JMSMessageListenerSmallQueue peak-concurrent-invocations=0 pool-remove-count=0
declared-roles=[] pool-available-count=7 run-as-role=undefined
delivery-active=true pool-create-count=10 security-domain=other
execution-time=0 pool-current-size=10 timers=[]
invocations=0 pool-max-size=10 wait-time=0
[standalone@localhost:9990 /] ls /deployment=somosejbpocEAR.ear/subdeployment=somosejbpoc.jar/subsystem=ejb3/message-driven-bean=JMSMessageListenerSmallQueue
service methods={} pool-name=mdb-strict-max-pool
component-class-name=JMSMessageListenerSmallQueue peak-concurrent-invocations=0 pool-remove-count=0
declared-roles=[] pool-available-count=9 run-as-role=undefined
delivery-active=true pool-create-count=10 security-domain=other
execution-time=0 pool-current-size=10 timers=[]
invocations=0 pool-max-size=10 wait-time=0
-
6. Re: MDB consumers in Wildfly 8.2.1
mnovak Aug 3, 2016 3:36 AM (in response to vijayavs)Thanks for update!
As there is pool-current-size=10 and pool-max-size=10 during load, there are really 10 MDB sessions. You're seeing one consumer on the queue because those 10 MDB sessions are fed by just 1 consumer. It looks like that this is A-MQ 6/ActiveMQ 5.x resource adapter implementation way, how it consumes messages from for MDB. I understand that one consumer might be a bottleneck. I know that HornetQ/Artemis resource adapter has 1 consumer per MDB session so it's implemented differently.
Looking at activation config properties for ActiveMQ resource adapter - Apache ActiveMQ ™ -- Activation Spec Properties - there are some tips to maximise the throughput. It depends what you need. I guess it can be tuned to minimize latency as well.
-
7. Re: MDB consumers in Wildfly 8.2.1
vijayavs Aug 3, 2016 8:27 AM (in response to mnovak)Thank you for the response!
i Wish to have 1 consumer per MDB to increase throughput. I'll try using maxSessionsPerMessages=10 and test to let you know the results.
appreciate your help!
-
8. Re: MDB consumers in Wildfly 8.2.1
mnovak Aug 3, 2016 8:43 AM (in response to vijayavs)You're welcome. I hope you manage to tune it well :-)