Having an embedded broker means the JVM running your JMS client will
contain a JMS broker also.

This allows your producer running on the same JVM to keep sending
messages without caring whether the remote broker is up or not, because
the embedded broker will handle message persistence, queuing, etc. If
the remote broker goes down, the embedded broker will handle failover
via the network connection without the client knowing that the remote
broker is actually down. As far as the producer is concern all it needs
is that the embedded broker is up and running.

So instead of: JMS Client (failover) -> (Master Broker + Slave Broker)
You'd have: JMS Client (vm://localhost) + Embedded Broker (failover
network) -> (Master Broker + Slave Broker)

The thing to watch out for is the networkTTL to ensure that the packet
arrives to the remote broker.

Dingwen Yuan wrote:
> Hello Adrian Co,
>
> I think I have to use failover, because we have deployed brokers in 
> master/slave mode. What do you mean by "embeded broker"? Could you give me 
> any more suggestion?
>
> Thank you!
>
>
>
>
> Dingwen Yuan
> 2007-05-09
>
>
>
> 发件人: Adrian Co
> 发送时间: 2007-05-09 09:55:41
> 收件人: users@activemq.apache.org
> 抄送: 
> 主题: Re: Failover blocks send
>
> I'm guessing it blocks because its trying to reconnect to the broker,
> and pending the send.
>
> Either don't use failover, or use an embedded broker and make your
> network connection failover.
>
> Dingwen Yuan wrote:
>   
>> Hi all,
>>
>> I have used a failover url to configure my JMS client, such as this 
>> "failover:(tcp://127.0.0.1:61616)?jms.useAsyncSend=true". But when the JMS 
>> broker is down and the client is trying to connect to the broker, all send 
>> to topics or queues just get blocked. Why should I do if I want only to get 
>> an exception instead of a blocking.
>>
>> Thank you in advance!
>>
>>
>>
>>
>> Dingwen Yuan
>> 2007-05-09
>>
>>
>>
>>
>>   
>>     
>
> !DSPAM:507,46412b8e220071147216240!
>
>   

Reply via email to