The persistent flag will not give you this behavior. For full recoverability, you need a transactional jms client. This can be done by using the JCA flow or configuring a JMS endpoint explicitely. I'd recommend the later as it is more flexible.
On Wed, Feb 27, 2008 at 10:34 AM, Jérémy SEVELLEC <[EMAIL PROTECTED]> wrote: > Thanks, > Sorry, I'vo got some problem to understand... > ServiceMix can't delivered messages because target jms broker don't work. > ServiceMix read jms message but can't write to the target jms broker. So > normally, serviceMix has to keep messages while the target destination is > here (with a serviceMix crash or not). no? > > 2008/2/27, Guillaume Nodet <[EMAIL PROTECTED]>: > > > > > > The persistent flag on the broker only controls the fact that the > > message are written > > to disk, not the fact that the delivery is transacted. It means that > > if the message is > > delivered, but ServiceMix crashes when processing the message, the message > > will be lost. > > > > > > On Wed, Feb 27, 2008 at 9:01 AM, Jérémy SEVELLEC <[EMAIL PROTECTED]> > > wrote: > > > hi, > > > What do you mean by "non delivered exchanges"? > > > Is that the "targetService" of my jms consumer endpoint is not present > > or > > > is that the jms provider endpoint can't send jms message because the > > target > > > jms broker si stopped? > > > > > > > > > 2008/2/26, Guillaume Nodet <[EMAIL PROTECTED]>: > > > > > > > > > > > > > > Persistence will only allow to recover non delivered exchanges. > > > > If you want full receovery, you'd have to use transaction on top of > > that. > > > > I would consider using a <jms:consumer /> endpoint configured with xa > > > > transactions: the default behavior is synchronous, so everything > > should > > > > work as expected. > > > > > > > > > > > > On Tue, Feb 26, 2008 at 6:10 PM, Jérémy SEVELLEC <[EMAIL PROTECTED] > > > > > > > wrote: > > > > > Hi all, > > > > > > > > > > I'vo got 2 service assembly : > > > > > - one with a jms consumer su. > > > > > - one with a jms provider su. > > > > > > > > > > The consumer is listening a jms queue on a broker and the provider > > is > > > > > writing jms message from the consumer in another queue on another > > > > broker. > > > > > > > > > > If i stop the target jms broker, serviceMix stop sending jms > > message > > > > and > > > > > keep messages while the target jms broker is not started. If I > > stop > > > > > serviceMix, It loses all messages inside!!! > > > > > > > > > > My config : > > > > > - serviceMix in persistent mode : > > > > > > > > > > <!-- the JBI container --> > > > > > <sm:container id="jbi" > > > > > rootDir="./data/smx" > > > > > MBeanServer="#jmxServer" > > > > > installationDirPath="./hotdeploy" > > > > > monitorDeploymentDirectory="false" > > > > > monitorInterval="1" > > > > > transactionManager="#transactionManager" > > > > > createJmxConnector="false" > > > > > depends-on="jndi" > > > > > persistent="true"> > > > > > > > > > > - internal activeMQ persistent mode with kaha persistence: > > > > > > > > > > <amq:broker id="broker" depends-on="jmxServer" > > useShutdownHook="false" > > > > > persistent="true"> > > > > > > > > > > So how to configure ServiceMix to persist his internal message if > > there > > > > is a > > > > > crash on its server to allow a restoration of messages when i > > restart > > > > > ServiceMix? > > > > > > > > > > cordialement... > > > > > > > > > > -- > > > > > Jérémy > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > Cheers, > > > > Guillaume Nodet > > > > ------------------------ > > > > Blog: http://gnodet.blogspot.com/ > > > > > > > > > > > > > > > > -- > > > Jérémy > > > > > > > > > > > > > -- > > > > Cheers, > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > > > > > -- > Jérémy > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
