So, based on your comments, it seems like both JMSFlow and JCAFlow in SMX3 have numerous shortcomings that limit their usefulness. Will SMX4 "clustering" be JMS-centric or will another technique be used to keep track of which endpoints exist on which nodes in the cluster?
- Ron ----- Original Message ---- From: Guillaume Nodet <[EMAIL PROTECTED]> To: [email protected] Sent: Thursday, May 8, 2008 10:12:36 AM Subject: Re: Controlling the flow used for an EIP:Pipeline transformer Easier, yes, but much less effective and flexible. If you go through the JMS flow, you can not configure the JMS layer. Also, in terms of performance, using the JMS flow will lead to at least two JMS messages for an InOnly (three for an InOut), so it's one more than when using a JMS provider / consumer. Also, note that to be able to use the JMS floz, the EIP pattern must receive the exchange asynchronously (if it receives a synchronous exchange, it will process it synchronously and send new exchanges synchronously too). Anyway, I'm thinking what you want could be done by using a MessageExchangeListener and set the needed property just before the exchange goes into the NMR. This would work for any endpoint and would avoid having to change them all. If you filter wrt the target endpoint, you can easily add the property on the exchange so that all exchanges sent to a set of endpoints will go through JMS. The only downside of this solution is that this piece of configuration would not be at the same location than the endpoint definition. On Thu, May 8, 2008 at 10:24 AM, Ron Gavlin <[EMAIL PROTECTED]> wrote: > Yes, I want to specify a specific point in my flow where I want > load-balancing to occur. In my case, I would like it to occur at a specific > EIP Pipeline endpoint. So, when the Pipeline creates the InOut exchange for > the transformer, I would like the flow on that specific exchange set to > JMSFlow. Does that make sense? Where you envisioning I define a smx-jms BC > instead for those load-balancing points? If so, this is much more complex to > configure since both jms-provider and jms-consumer endpoints must be > configured to support this scenario. It would be much easier for my users to > set a boolean "clustered" property on the Pipeline to control this behavior. > > - Ron > > > ----- Original Message ---- > From: Guillaume Nodet <[EMAIL PROTECTED]> > To: [email protected] > Sent: Thursday, May 8, 2008 4:09:05 AM > Subject: Re: Controlling the flow used for an EIP:Pipeline transformer > > What about using a jms flow configured at specfic points in your flow > to control where the load balancing can occur ? > Using it at each step is quite inefficient imho ... > > On Wed, May 7, 2008 at 7:53 AM, Ron Gavlin <[EMAIL PROTECTED]> wrote: > > I have a cluster of servicemix nodes with a homogenous deployment of > > endpoints across the cluster. I have SEDA and JMSFlow enabled on all nodes > > in the cluster. I would like to ensure one of my EIP Pipeline transformers > > uses JMSFlow instead of SEDA to explicitly force JMS-based load balancing > > to occur across the cluster. I don't see a mechanism currently in > > servicemix-eip to provide this level of control. Am I correct? Assuming I > > am correct, would it make sense to add a "clustered" attribute to the EIP > > Pipeline endpoint, for example, to ensure that the transformer > > MessageExchange gets created with the "clustered" QOS set so that JMSFlow > > gets used rather than SEDA? Let me know if this makes sense. > > > > - Ron > > > > > > > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
