I don't know if this may change anything but in fact I am using the VFS
component. Would JMS flow work?

gnodet wrote:
> 
> Currently, the ftp component only send  JBI exchanges synchronously,
> so the JCA flow will never accept those exchanges and they will use
> the SEDA flow.  Of course, this should change.
> 
> On 11/3/06, mart <[EMAIL PROTECTED]> wrote:
>>
>> This lack of documentation is confusing me as well. I have a current
>> workflow
>> that seems to use SEDA. JCA seems to be configured in the default
>> servicemix.xml file:
>>
>>         <sm:flows>
>>          <sm:sedaFlow />
>>           <sm:jcaFlow bootstrapContext="#bootstrapContext"
>>                       connectionManager="#connectionManager"
>>                       jmsURL="tcp://localhost:61616" />
>>         </sm:flows>
>>
>> How can I make my current workflow use JCA (for persistence &
>> reliability,
>> maybe clustering in the long term)? Where do I have to set up my exchange
>> ?
>>
>> My current workflow is ftp => drools based router => different Transform
>> Component => Different destinations (mail/FTP) and I have many cases
>> where
>> my message can be lost.
>>
>> Thanks for any info.
>>
>>
>> gnodet wrote:
>> >
>> > Not at all.
>> > But do not blame yourself as this is not documented :(
>> > When choosing a flow, several QoS requirements will be checked:
>> >   * synchonous / asynchronous: if the exchange was sent using sendSync
>> or
>> > send
>> >   * persistent: if the message need to be peristent
>> >   * transactional: if the message is enlisted in an xa transaction
>> >   * clustered: if the destination endpoint is clustered (activated on
>> > another clustered jbi container)
>> >
>> > The transactional attribute can be set by setting the transaction in
>> the
>> > needed property of the exchange (
>> > MessageExchange.JTA_TRANSACTION_PROPERTY_NAME).  This can also be done
>> > automatically by servicemix using autoEnlistInTransaction attribute on
>> the
>> > container (if an xa transaction is running, the property will be set).
>> > Persistent feature may be set using the persistent attribute on the
>> > container, on the activation spec or on the exchange itself (
>> > org.apache.servicemix.JbiConstants.PERSISTENT_PROPERTY_NAME).
>> >
>> > Each flow will check if it can fullfill the needed requirements, and
>> the
>> > first flow to answer yes will be used (this can be customized).
>> > For example, the jms flow will reject any transactional exchange,
>> whereas
>> > the jca flow will reject any synchronous exchange and seda/st flow will
>> > reject any persistent or clustered exchanges.
>> > Note that you can force the NMR to choose a given flow by using the
>> > JbiConstants.FLOW_PROPERTY_NAME property on the exchange.
>> >
>> > The only combination that is not handled at all by servicemix is:
>> > clustered
>> > + transactional + synchronous.
>> >
>> > However things should be improved regarding to clustering: the seda/st
>> > should accept clustered exchanges if the target endpoint is also
>> activated
>> > locally.
>> >
>> > Hope this helps,
>> > Guillaume Nodet
>> >
>> > On 5/17/06, William Blackburn <[EMAIL PROTECTED]> wrote:
>> >>
>> >> Sorry, I swear this is my last post on this topic!
>> >>
>> >> Requesting a particular Q0S - is this done when creating the
>> >> exchange? i.e. getExchangeFactory().createInOnlyExchange() would use
>> >> seda by default while getExchangeFactory().createRobustInOnlyExchange
>> >> () would use jca?
>> >>
>> >> B.J.
>> >>
>> >> On May 16, 2006, at 5:12 PM, Guillaume Nodet wrote:
>> >>
>> >> > Configuration is not difficult.
>> >> > Try something like
>> >> >  <sm:container flowNames="seda,jca?jmsURL=tcp://localhost:61616"
>> >> >
>> >> > Depending on the requested QoS for the exchange, one of the flow
>> will
>> >> > be choosen.
>> >> > You can change the default implementation by setting the
>> >> > defaultFlowChooser property on the Broker -- i have just seen that i
>> >> > forgot to add getter / setter :(
>> >> >
>> >> > Anyway, if you use a sendSync on jca flow, an exception should be
>> >> > thrown.  If you have multiple flows (including a seda / st flow),
>> >> > sendSync calls should use the seda flow.
>> >> >
>> >> > If your problem is the http binding, you could try using the
>> >> > servicemix-http component which uses send and not sendSync.
>> >> >
>> >> > Cheers,
>> >> > Guillaume Nodet
>> >> >
>> >> >
>> >> > On 5/17/06, William Blackburn <[EMAIL PROTECTED]> wrote:
>> >> >> Success! Got the JCA flow up and running - thank you very much. I
>> did
>> >> >> run into that problem with sendSync though. I use an httpBinding
>> >> >> component to introduce some messages. It uses sendSync internally,
>> >> >> and now I get sporadic io errors when I attempt to use it.
>> >> >>
>> >> >> I may simply choose to use a jmsbinding for this message insertion,
>> >> >> but you mentioned that multiple flows can be configured - does this
>> >> >> mean that the httpBinding could use seda or jms, while everything
>> >> >> else uses jca? I haven't seen an example of this - if its not too
>> >> >> much trouble, could you elaborate?
>> >> >>
>> >> >> Thanks again for all your help so far.
>> >> >>
>> >> >> B.J.
>> >>
>> >>
>> >>
>> >
>> >
>> > --
>> > Cheers,
>> > Guillaume Nodet
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Questions-on-JMSFlow-cluster-configuration-tf1630154s12049.html#a7155558
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Questions-on-JMSFlow-cluster-configuration-tf1630154s12049.html#a7157841
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to