Regarding restricting number of instant for MDB 2004-07-19 - By Binildas C. A.
Back Hi
Instead of "If the system start associating a MDB for each message ", The system will associate some instance of the MDB which is already available in the pool for each message. This means, for each individual message, we dont end up with each seperate MDB instance. Instead, MDB instances get reused (Object pooling). This is the very use of using MDB than a standalone JMS listener(of course, with other features like TX, etc...)
Instead of "for each message then there will be many processes running in parallel" , we can re-write as follows: For each message, container wont start seperate process, and not even a seperate thread. Instead, container will chose a thread from the thread pool, and associate that thread to the chosed MDB context, and the message will be served by this MDB.
Now, to tune the number of MDBs and all - This a task which we need to do taking into consideration things like:
1. App Server 2. Size of application 3. Other applications in server 4. Frequency of messages 5. Time to serve each message 6... The list goes like this...
Binildas Sr. Tech. Architect http://www.infosys.com/setlabs/)
-- -- Original Message -- -- From: "Kamaraj, Pushparaj" <Pushparaj_Kamaraj@(protected)> To: <J2EEPATTERNS-INTEREST@(protected)> Sent: Monday, July 19, 2004 12:33 PM Subject: Regarding restricting number of instant for MDB
> Hi, > We are having Message driven bean and other session beans in the > same container. > The characteristics of MDB is whenever a message is added to the JMS > queue it will be instantiated to serve the message. > We are expecting there will be large number of messages coming to > JMS queue. If the system start associating a MDB for each message then there > will be many processes running in parallel, which will reduce the system > performance. How to restrict the maximum number of active MDB in the system? > And the configuration should not affect other session bean instants. If we > restrict the maximum instant to 10, at the most there will be only 10 MDBs > and other request will be waiting in the JMS queue. > > We are using the following configuration to achieve the above > requirement. Is that correct? > > <message-driven-descriptor> > <pool> > > <max-beans-in-free-pool>6</max-beans-in-free-pool> > > <initial-beans-in-free-pool>3</initial-beans-in-free-pool> > </pool> > </message-driven-descriptor> > > Thanks, > K.Pushparaj. > > __ ____ ____ ____ ____ ____ ____ ____ ______ > Confidential: This electronic message and all contents contain information > from Syntel, Inc. which may be privileged, confidential or otherwise > protected from disclosure. The information is intended to be for the > addressee only. If you are not the addressee, any disclosure, copy, > distribution or use of the contents of this message is prohibited. If you > have received this electronic message in error, please notify the sender > immediately and destroy the original message and all copies. > > ==================================================================== > Companion Site: http://www.corej2eepatterns.com > J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns > List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html > Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected) >
==================================================================== Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
|
|