It's very difficult for us to give a recommendation since we're not familiar with
your business or architecture, and there's rarely a "one size fits all"
solution.
But I'll try to give some pointers, if you're sending messages from web requests
into an application in the same app server instance then using the JCA managed connection
factory is the recommended approach (java:/JmsXA) and will give you the pooling you need.
The overhead of this shouldn't be too high for sending messages.
Do you need MDBs? Well that really depends on whether you also need to persist the row to
a database in the same transaction. Doing this in an MDB allows you to use JTA to do the
message delivery and insert of row in the same global transaction. Of course this comes at
an overhead.
If you can design out the insert into the DB that will give you your biggest performance
boost, since then you can just use a standard JMS consumer and you can avoid JTA too. But
as we've discussed before I'm not sure that's possible for you.
To demonstrate the overhead of all this stuff, try creating a simple program that uses raw
JMS to send and consume from a queue. No JTA, MDB, JCA, Spring or anything else. And
compare the performance.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244463#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...