This content has been marked as final. Show 1 reply
Got the following answer from Tom
If you are able to always use MDBs for the topic consumers, then you probably should very seriously consider using a partitioned topic instead of a replicated topic. Partitioned topics are generally much more efficient, but MDBs are usually needed in combination to make the fully partitioned nature of the topic as transparent as possible...
1. As i understand, with Unit of order, a uniform distributed topic putsYes.
all messages with same UOO to one and same topic destination member .
However, since, it is a replicated distributed topic, even though the
message is put initially in one topic destination member, that member
will eventually forward the message to all members of distributed topic
. Is this understanding correct ?
or is it that the message forwardingNo. The forwarding still occurs.
in RDT will not happen if UOO is set ?
2. If in 1) above, message eventually get replicated to all destinationYes. The ordering is with respect to the subscription.
members, then is ordered processing supported when using UOO in
replicated distributed topic ?
i.e If there is a message driven beanIn RDT, a particular UOO's messages always follow the same route through the system:
subscribing to topic , how does weblogic ensure the ordered processnig
between multiple instances of the same mdb across different nodes of a
- To the main RDT member that "owns" the UOO.
- Then forwarded to each remaining RDT.
- And placed in each member's corresponding subscriptions (in order).
- Then consumed in order via the MDB(s) consuming from the subscription(s).
3. If i use Message driven bean with propertyYes. Note that the one-copy-per-app mode results in a huge
topicMessagesDistributionMode="one-copy-per-application", Then , as i
understand, messages will be delivered to only one mdb instance across
the cluster. In this case, will weblogic ensure the ordered processing
of messages with same UOO across multiple instances of the same mdb
across different nodes of a cluster ?
amount of wasted overhead with RDTs,
as all messages are still forwarded internally, and
this forwarding is quite expensive, but all forwarded messages are
implicitly filtered out by the MDB subscriptions.
3.1 Suppose i have messages A, B, C, D with same unit of order
published to my replicated UDD topic
3.2 A and B gets picked by mdb in node1
3.3 C and D get picked up by mdb in a different machine node2
3.4 Will weblogic JMS ensure that messages C and D will get processed
only after A and B are processed ? (Basically, does weblogic JMS ensures
this paradigm across different nodes in cluster ) ?
4 If 3) above is true, will weblogic always deliver all messages with aOrdering is always maintained, but whether different messages
given UOO to the same mdb instance to ensure ordered processing .. Or is
that messages get processed by any one mdb instance across the nodes and
weblogic somehow maintains the order ?
in the same order end up on different nodes
depends on a variety of factors.