|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Flow type selectionHi all,
I am using servicemix 3.3.1, and have a question regarding flow types. Let’s say I have a default configuration: ... <sm:flows> <sm:sedaFlow /> <sm:jmsFlow jmsURL="${activemq.url}" /> <sm:jcaFlow connectionManager="#connectionManager" jmsURL="${activemq.url}" /> </sm:flows> ... How does servicemix decide which flow to use for a particular exchanges? Logs at the debug level show me that only seda flow is used. As I understand, in this case messages are in-memory only and cannot survive a server restart? Karolis Petrauskas |
|
|
Re: Flow type selectionHi Karolis,
you can find explanation about flows in the following wiki pages: http://servicemix.apache.org/nmr-flows.html http://servicemix.apache.org/how-stuff-works.html In your case, SMX is able to use seda, JMS and JCA flows which the default configuration for SMX >= 3.3.0. By default, SMX will use the first in the list but you can force to use another one. Regards JB Karolis Petrauskas wrote: > Hi all, > > I am using servicemix 3.3.1, and have a question regarding flow > types. Let’s say I have a default configuration: > ... > <sm:flows> > <sm:sedaFlow /> > <sm:jmsFlow jmsURL="${activemq.url}" /> > <sm:jcaFlow connectionManager="#connectionManager" > jmsURL="${activemq.url}" /> > </sm:flows> > ... > How does servicemix decide which flow to use for a particular > exchanges? Logs at the debug level show me that only seda flow is > used. As I understand, in this case messages are in-memory only and > cannot survive a server restart? > > Karolis Petrauskas |
|
|
Re: Flow type selectionHi,
Thank you for your response. Can you tell me how to force SMX to use jms flow? As i see servicemix with configuration <sm:container ... flowName="jms"> till uses seda. And what is purpose to have three flows configured, if only one can be used? Karolis On Tue, Nov 3, 2009 at 1:58 PM, Jean-Baptiste Onofré <jb@...> wrote: > Hi Karolis, > > you can find explanation about flows in the following wiki pages: > http://servicemix.apache.org/nmr-flows.html > http://servicemix.apache.org/how-stuff-works.html > > In your case, SMX is able to use seda, JMS and JCA flows which the default > configuration for SMX >= 3.3.0. By default, SMX will use the first in the > list but you can force to use another one. > > Regards > JB > > Karolis Petrauskas wrote: >> >> Hi all, >> >> I am using servicemix 3.3.1, and have a question regarding flow >> types. Let’s say I have a default configuration: >> ... >> <sm:flows> >> <sm:sedaFlow /> >> <sm:jmsFlow jmsURL="${activemq.url}" /> >> <sm:jcaFlow connectionManager="#connectionManager" >> jmsURL="${activemq.url}" /> >> </sm:flows> >> ... >> How does servicemix decide which flow to use for a particular >> exchanges? Logs at the debug level show me that only seda flow is >> used. As I understand, in this case messages are in-memory only and >> cannot survive a server restart? >> >> Karolis Petrauskas |
|
|
Re: Flow type selectionL.S.,
To determine which flow to use for conveying a MessageExchange, the container use a FlowChooser implementation. You can always write one yourself, but the DefaultFlowChooser determines the flow based on: - the value of an exchange header property (JbiConstants.FLOW_PROPERTY_NAME -> org.apache.servicemix.flow) - if the property has not been set, it will pick the first flow that is capable of handling the exchange, looking at the exchange properties (synchronous/asynchronous, transacted, ..) You can find more details on which flow handles which kind of message on the http://servicemix.apache.org/transactions.html page (there's a table around the middle of the table). E.g. with the Seda flow and JMS flow configured in that order, all plain synchronous and asynchronous exchanges would be handled by the seda flow, as well as the synchronous transacted exchanges. As soon as any clustering/persistence is required, the seda flow is no longer capable of conveying the exchange and the JMS flow will be used instead. All that said, personally, I usually remove all flows that I don't plan on using from the servicemix.xml file alltogether. Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/11/6 Karolis Petrauskas <k.petrauskas@...>: > Hi, > > Thank you for your response. Can you tell me how to force SMX to > use jms flow? As i see servicemix with configuration <sm:container ... > flowName="jms"> till uses seda. And what is purpose to have three > flows configured, if only one can be used? > > Karolis > On Tue, Nov 3, 2009 at 1:58 PM, Jean-Baptiste Onofré <jb@...> wrote: >> Hi Karolis, >> >> you can find explanation about flows in the following wiki pages: >> http://servicemix.apache.org/nmr-flows.html >> http://servicemix.apache.org/how-stuff-works.html >> >> In your case, SMX is able to use seda, JMS and JCA flows which the default >> configuration for SMX >= 3.3.0. By default, SMX will use the first in the >> list but you can force to use another one. >> >> Regards >> JB >> >> Karolis Petrauskas wrote: >>> >>> Hi all, >>> >>> I am using servicemix 3.3.1, and have a question regarding flow >>> types. Let’s say I have a default configuration: >>> ... >>> <sm:flows> >>> <sm:sedaFlow /> >>> <sm:jmsFlow jmsURL="${activemq.url}" /> >>> <sm:jcaFlow connectionManager="#connectionManager" >>> jmsURL="${activemq.url}" /> >>> </sm:flows> >>> ... >>> How does servicemix decide which flow to use for a particular >>> exchanges? Logs at the debug level show me that only seda flow is >>> used. As I understand, in this case messages are in-memory only and >>> cannot survive a server restart? >>> >>> Karolis Petrauskas > |
|
|
Re: Flow type selectionHi Gert.
It's now clear for me, thanks! Best regards, Karolis Petrauskas On Mon, Nov 16, 2009 at 10:35 PM, Gert Vanthienen <gert.vanthienen@...> wrote: > L.S., > > To determine which flow to use for conveying a MessageExchange, the > container use a FlowChooser implementation. You can always write one > yourself, but the DefaultFlowChooser determines the flow based on: > - the value of an exchange header property > (JbiConstants.FLOW_PROPERTY_NAME -> org.apache.servicemix.flow) > - if the property has not been set, it will pick the first flow that > is capable of handling the exchange, looking at the exchange > properties (synchronous/asynchronous, transacted, ..) > > You can find more details on which flow handles which kind of message > on the http://servicemix.apache.org/transactions.html page (there's a > table around the middle of the table). E.g. with the Seda flow and > JMS flow configured in that order, all plain synchronous and > asynchronous exchanges would be handled by the seda flow, as well as > the synchronous transacted exchanges. As soon as any > clustering/persistence is required, the seda flow is no longer capable > of conveying the exchange and the JMS flow will be used instead. > > All that said, personally, I usually remove all flows that I don't > plan on using from the servicemix.xml file alltogether. > > Regards, > > Gert Vanthienen > ------------------------ > Open Source SOA: http://fusesource.com > Blog: http://gertvanthienen.blogspot.com/ > > > > 2009/11/6 Karolis Petrauskas <k.petrauskas@...>: >> Hi, >> >> Thank you for your response. Can you tell me how to force SMX to >> use jms flow? As i see servicemix with configuration <sm:container ... >> flowName="jms"> till uses seda. And what is purpose to have three >> flows configured, if only one can be used? >> >> Karolis >> On Tue, Nov 3, 2009 at 1:58 PM, Jean-Baptiste Onofré <jb@...> wrote: >>> Hi Karolis, >>> >>> you can find explanation about flows in the following wiki pages: >>> http://servicemix.apache.org/nmr-flows.html >>> http://servicemix.apache.org/how-stuff-works.html >>> >>> In your case, SMX is able to use seda, JMS and JCA flows which the default >>> configuration for SMX >= 3.3.0. By default, SMX will use the first in the >>> list but you can force to use another one. >>> >>> Regards >>> JB >>> >>> Karolis Petrauskas wrote: >>>> >>>> Hi all, >>>> >>>> I am using servicemix 3.3.1, and have a question regarding flow >>>> types. Let’s say I have a default configuration: >>>> ... >>>> <sm:flows> >>>> <sm:sedaFlow /> >>>> <sm:jmsFlow jmsURL="${activemq.url}" /> >>>> <sm:jcaFlow connectionManager="#connectionManager" >>>> jmsURL="${activemq.url}" /> >>>> </sm:flows> >>>> ... >>>> How does servicemix decide which flow to use for a particular >>>> exchanges? Logs at the debug level show me that only seda flow is >>>> used. As I understand, in this case messages are in-memory only and >>>> cannot survive a server restart? >>>> >>>> Karolis Petrauskas |
| Free embeddable forum powered by Nabble | Forum Help |