Sorry, I didn't mean to give the impression that the application is using explicit threads (except for the experiments). The UI and MDB threads I referred to are automatically created by the EJB container.
I finally resolved the problem. Both the main code and the MDB were using CMP, and referring to the same EJB (although reconstituted separately, not passed). So as the main code tried to construct the web page, it blocked while accessing EJB's that might be in use by the MDB. In particular, I found the main code waiting in QueuedPessimisticEJBLock.waitForTx(). The solution was to change the MDB to bean-managed persistence, and only wrap actual updates (not reads) in a UserTransaction. Bob View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048024#4048024 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4048024 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
