Ryan Hochstetler [
http://community.jboss.org/people/ryanhos] created the discussion
"Re: message passing through underlying db"
To view the discussion, visit:
http://community.jboss.org/message/594564#594564
--------------------------------------------------------------
Tim,
If you really have three JBoss Messaging instances pointed at the same exact database
tables, I think this is considered an "out of spec" configuration. Each
independent, non-clustered JBoss Messaging instance requires sole access to the underlying
database tables. (Clustered JBM's understand that they share the tables with other
nodes and are configured with a unique identifier that prevents them from seeing messages
from other nodes). If you are going to run three or four independent JBM instances, you
might consider giving each JBM instance it's own login credentials and create all of
the messaging tables under the default schema for each credential.
You cannot pass messages with the DB, to my knowledge. JBM doesn't appear to requery
the DB. It just assumes that since it is the only thing modifying those tables, the
tables are consistent with its internal state, where it keeps all messages it is currently
processing. For the most part, it issues INSERTs and DELETEs, rarely SELECTs, except at
boot to get the initial working set, or when you've exceeded a queue's FullSize.
DB message passing saves less work than you think if you mentally draw the sequence
diagram for each scenario.
Why not just have Nodes 1 through 3 send messages directly to Node 4? Instead of
looking-up the ConnectionFactory on the local JBoss, look-up the ConnectionFactory on
JBoss 4, and the rest of your code should function as expected.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/594564#594564]
Start a new discussion in JBoss Messaging at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]