users@glassfish.java.net

Re: Anyway to customize thread pool for MDBs consuming from a JMS Queue?

From: <glassfish_at_javadesktop.org>
Date: Tue, 13 May 2008 12:34:21 PDT

Thanks Eduardo.
The deployment guide's laundry list of properties w/o description makes it a bit hard to us, but googling on <use-thread-id> I did find some interesting links on the subject:
http://docs.sun.com/app/docs/doc/819-3672/beahu?a=view
http://docs.sun.com/app/docs/doc/819-3681/6n5srlhlh?a=view

So I defined a new thread pool:

> <thread-pool idle-thread-timeout-in-seconds="120" max-thread-pool-size="128" min-thread-pool-size="4" num-work-queues="1" thread-pool-id="gds-thread-pool"/>

and bound it to my MDB:

        <ejb>
            <ejb-name>TravelSearchMDB</ejb-name>
            <jndi-name>jms/travelSearchReqQueue</jndi-name>
            <use-thread-pool-id>gds-thread-pool</use-thread-pool-id>
            <mdb-connection-factory>
                <jndi-name>jms/qConnFactory</jndi-name>
            </mdb-connection-factory>
            <pass-by-reference>true</pass-by-reference>
            <bean-pool>
                <steady-pool-size>4</steady-pool-size>
                <resize-quantity>4</resize-quantity>
                <max-pool-size>128</max-pool-size>
            </bean-pool>
        </ejb>

Unfortunately a log from the MDB.onMessage reveals it's still executing from the default thread-pool-1:

[#|2008-05-13T12:15:37.800-0700|FINE|sun-appserver9.1|calliope.ejb.travel.search|_ThreadID=100;_ThreadName=p: thread-pool-1; w: 2040;ClassName=calliope.ejb.travel.search.TravelSearchMDB;MethodName=onMessage;_RequestID=e39f9f98-b7e9-4994-85a1-c08f967ffec0;|TravelSearchMDB.onMessage: A Message received in TMDB: calliope.inspiration.InspirationResultPK::1051::378224|#]

so it doesn't need to be working...

What could I be missing?

http://docs.sun.com/app/docs/doc/819-3672/beahu?a=view states "The bean must have a remote interface, or use-thread-pool-id is ignored". Does this apply to MDBs?

http://docs.sun.com/app/docs/doc/819-3681/6n5srlhlh?a=view mentions adding the new thread pool to <orb use-thread-pool-ids> but the admin UI didn't do that. Do I need to add it manually?

Any suggestion is welcome. :)
Thanks.
[Message sent by forum member 'bouteill' (bouteill)]

http://forums.java.net/jive/thread.jspa?messageID=274106