0

We have an application that writes messages to a Queue (not a topic). Another application (a cluster with two nodes) reads the messages from the queue via Message Driven Beans. All applications are deployed on Glassfish 4 servers.

We are currently undergoing a big migration and we are writing to the queue faster than we can process. We are using IBM WebSphere MQ .

My question is - can we deploy more instances of the same MDB? Or how can make the processing of the messages faster?

Thank you!

pixie
  • 507
  • 9
  • 21
  • What is the slow down? Is there contention with the app reading from the queue or is the slow down the business logic for each message you processes? What version of MQ queue manager software and what version of MQ jar files are in use? Are the writing and reading applications doing so under a JMS transacted session? – JoshMc May 15 '18 at 14:43
  • Hi. There are 7 instances of the application writing to the queue with almost no business logic. There are 2 instances of the application reading from the queue with more business logic then the application writing to the queue. I think the problem is not the business logic, but the huge amount of data that is coming. We are using mq driver version 8.0.0.6 - "Fix Pack 8.0.0.6 for WebSphere MQ v8". And yes, there are JMS transacted sessions involved. – pixie May 16 '18 at 09:01
  • Please confirm the writer is doing so under a transacted session and the reader is also using a transacted session. If this is the case it eliminates one possible cause of contention due to locking on the queue file for persistent messages not put in a transacted session. – JoshMc May 16 '18 at 10:08
  • Both are doing so under a transacted session. – pixie May 16 '18 at 13:43

1 Answers1

0

How many active MDB instances do you have? If the answer is 10, youneed to increase the maxPoolDepth (defaults to 10) in your MDBs activation specification.

Doug Grove
  • 962
  • 5
  • 5