It's possible thread scheduling is coming into play (runnining on WinXP), but I think
some of my experiments indicate something else is having an effect.
By way of background, the app uses CMP EJB 2 beans and is deployed under JBoss 4.0.4,
UIL2, and JDK 1.6. UI is JSF/MyFaces and DB is MySQL 5.0.18. The queue is the default
configuration queue A. The intent is to send messages from the UI thread to an analysis
queue MDB without waiting for the results.
Tried adding a sleep() as suggested to the MDB (there was already a yield() there). Still
acted synchronous. Modified the sender to spawn a low priority thread to perform the send
(I know, bad EJB practice). Still synch.
Created a standalone sender from the JBoss examples sending to the app. Acted asynch - the
sender posted the messages without waiting for the MDB to process them. Ran a standalone
receiver with simulated load and app sending. Acted asynch, sender posted messages without
waiting. Reverted to app sending and receiving. Still synch, with or without transacted
messages.
So it appears something is going on when the app UI thread is sending to the MDB. They are
entirely separate thread groups (main vs. RMI Runtime), so it's not clear to me where
the scheduling issue is arising. Might it have something to do with CMP? Something else?
Thanks.
Bob
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4046941#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...