From: <ad...@jb...> - 2005-07-28 23:47:49
|
There is an overloaded acronym here MC -> MicroContainer (I'll use this one :-) MC -> Messaging Core "ju...@jb..." wrote : | Right. At which point the question that comes up is why there is need for two implementations of fast, synchronous, in-VM bus implementations? | | If the Messaging Core is capable of equal performance to MicroContainer bus, should it then be placed as the bus for the MicroContainer? | The MicroContainer Bus is just a switching mechanism name -> object reference (which can be aspectized to have a "container") The Messaging Core is a "container" implementation for message routing which could be remote/local, synchronous/asynchronous, reliable/unreliable, etc. The Message Core only becomes a bus when you put a broker in front of it e.g. for the jms facade, create channels that implement queues/topics and add them to the destination manager. Other brokers/buses are equally possible as front ends (including the MC bus), in the same way as you can have a byte code engineered class, a dynamic proxy or some other front end to an AOP aspect chain. The "container" could equally be an aspectized POJO with an enhanced version of the asynchronous/remoting aspects (e.g. add reliablity). You shouldn't confuse the two responsibilites: 1) Dispatch based on a name/indirection (the bus) 2) The method/aspects of the dispatch (the container) View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3887177#3887177 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3887177 |
From: <ad...@jb...> - 2005-07-29 00:20:00
|
"tom...@jb..." wrote : | [transactions] | seems straight forward on how i would handle that. sending messages to the NMR and receiving messages from the NMS should be transactional, just as with JMS. but scanning the sequence diagrams in the spec i'm a bit afraid. i see different threads for beginning and committing transactions :-( this definitely requires some more investigation | This does not look like JMS semantics to me. In JMS, it is the send that is transactional. i.e. until the commit, the receiver does not get the message. In JBI, the sender/initiator is handing over control of the transaction to the receiver/servicer with what looks like a protocol to ensure that both are not in control at the same time. It does say, that it is only anticpated to be used locally (no DTM for now...). So JBI is performing a fundamentally synchronous protocol even if it done across threads using "lock step". View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3887180#3887180 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3887180 |
From: <ovi...@jb...> - 2005-07-29 18:18:32
|
anonymous wrote : For instance, a BC would not be able to acknowledge a message as received until it is pushed to NMR and NMR acknowledges the message is in its queue and persisted. Otherwise recovery would not be possible. Correct. But SE shares a thread with the application it acts as container for and BC is based on a synchronous protocol. If the component receives a positive acknowledgment from the NMR, everything is fine, if not it propagates the error back to the caller, either as an exception or an error code. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3887341#3887341 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3887341 |
From: <ovi...@jb...> - 2005-07-29 18:21:21
|
anonymous wrote : The Message Core only becomes a bus when you put a broker in front of it e.g. for the jms facade, create channels that implement queues/topics and add them to the destination manager. For a JMS system, routing is external. The producer must decide what destination to use, so it uses the "broker" to mediate the transport of that message to the destination's receivers, by passing the message and the destination to the broker. A service plugged into an ESB shouldn't have to do this. It should simply pass the message to the bus and the bus should route the message to its destination based on arbitrary rules, most likely involving the abstract destination service definition or other message metadata. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3887342#3887342 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3887342 |