activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sanne <sa...@newfoundland.nl>
Subject Re: Disconnection and reconnection in a network of brokers
Date Mon, 27 Nov 2006 18:06:51 GMT

Hi Gabriel,

Yes it is strange, that is why it took me days to find it out. I'm no expert
at the matter.
All I can say is that it seems to work: I had the same problem as you had.
But yes, I was a bit disappointed in the solution.

Try it, test it, and if it works .....

Regards,

Sanne 



gabriel kastenbaum wrote:
> 
> Thank you for your answer, Sanne. But i am wondering:
> 1) Don't you find it strange that you have to set failOver to false? I 
> find it a little bit odd.
> 2) If ever I do this it doesn't it mean that i need to restart all the 
> brokers, in order for them to reconnect ones to the other?
>  
> Gabriel
> 
> 
> sanne a écrit :
>> Hi Gabriel,
>>
>> It worked for me when I set failOver=false on the connector.
>>
>> Regards,
>>
>> Sanne
>>
>>
>> gabriel kastenbaum wrote:
>>   
>>> Hi,
>>>  
>>> I'm a newbie with ActiveMQ so my troubles may be due to a bad 
>>> configuration.
>>> Here's my problem :
>>> There are 3 servers (IP=100.29.191.225, 100.29.191.226 and 100.29.191 
>>> .227) .
>>> All the 3 servers are working on Linux (kernel=2.4).
>>>
>>> Servers 1 and 2 sends messages  to server 3 through queues.
>>> Server 3 sends messages to 1 and 2 through a topic.
>>> Since multicast isn't available on my network, I've to use static 
>>> addresses.
>>> ActiveMQ is integrated with JBoss. The integration includes both inbound 
>>> and outbound messages. Inbound messages are handled by Message Driven 
>>> Beans (MDBs) and outbound messages are published by an EJB Stateless 
>>> Session Bean. I'm using a JRE 1.5_09
>>>
>>>  
>>>
>>>  
>>> 1)      I used ActiveMQ 4.0.1 for my first tests.
>>> *_activemq.xml file for server 1 was :_*
>>> <beans xmlns="http://activemq.org/config/1.0">
>>>   <bean 
>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>

>>>
>>>   <broker brokerName="${hostname}" useJmx="true">
>>>     <memoryManager> 
>>>         <usageManager id="memory-manager" limit="1048576"/>
>>>     </memoryManager>
>>>     <managementContext>
>>>        <managementContext connectorPort="1097" 
>>> jmxDomainName="org.apache.activemq"/>
>>>     </managementContext>
>>>      <destinationPolicy>
>>>       <policyMap><policyEntries>
>>>        
>>>           <policyEntry topic="FOO.>">
>>>             <dispatchPolicy>
>>>               <strictOrderDispatchPolicy />
>>>             </dispatchPolicy>
>>>             <subscriptionRecoveryPolicy>
>>>               <lastImageSubscriptionRecoveryPolicy />
>>>             </subscriptionRecoveryPolicy>
>>>           </policyEntry>
>>>       </policyEntries></policyMap>
>>>     </destinationPolicy>
>>>
>>>     <persistenceAdapter>
>>>             <journaledJDBC useJournal="false" useQuickJournal="false" 
>>> dataSource="#postgres-ds"/>
>>>     </persistenceAdapter>
>>>      <transportConnectors>
>>>        <transportConnector name="dossierspistes" 
>>> uri="tcp://localhost:61611" brokerName="${hostname}"/>
>>>     </transportConnectors>
>>>     <networkConnectors>
>>>        <networkConnector name="dossierspistes" 
>>> uri="static://(tcp://100.29.191.227:61611)" failover="true" 
>>> networkTTL="255" brokerName="${hostname}"/>
>>>       </networkConnectors>  
>>>   </broker>
>>>  
>>>   <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
>>>     <property name="serverName" value="127.0.0.1"/>
>>>     <property name="databaseName" value="activemq"/>
>>>     <property name="portNumber" value="0"/>
>>>     <property name="user" value="postgres"/>
>>>     <property name="password" value=""/>
>>>     <property name="dataSourceName" value="postgres"/>
>>>     <property name="initialConnections" value="2"/>
>>>     <property name="maxConnections" value="10"/>
>>>   </bean>
>>> </beans>
>>>  
>>> *_file for server 2 :_*
>>> (...)
>>>        <networkConnector name="dossierspistes" 
>>> uri="static://(tcp://100.29.191.227:61611)" failover="true" 
>>> networkTTL="255" brokerName="${hostname}"/>
>>> (...)
>>> *_file for server 3 :_*
>>> (...)
>>>        <networkConnector name="dossierspistes" 
>>> uri="static://(tcp://100.29.191.225:61611,tcp://100.29.191.226:61611)" 
>>> failover="true" networkTTL="255" brokerName="${hostname}"/>
>>> (...) *__*
>>> *_META-INF/ra.xml (on the 3 servers) :_*
>>> <config-property-value>tcp://localhost:61611</config-property-value>
>>> *__*
>>> *_No broker-config.xml_*
>>> *__*
>>>
>>>
>>> If  the servers are on line during all the operations, everything goes 
>>> well : messages are published and received by all.
>>> The problems came when I disconnected Server 1.
>>> a) Server 3 published a message on its topic : server 2 received it. But 
>>> when server 1 came back online, it did *not* get the message.
>>> b) Server 1 sent a message on its queue and then came back online : 
>>> Server 3 did not receive it.
>>>  
>>>  
>>> 2)      Thinking it may be due to 
>>> http://issues.apache.org/activemq/browse/AMQ-895, 
>>> <http://issues.apache.org/activemq/browse/AMQ-895>I've used the patch 
>>> for ActiveMQ 4.0.2 with the same configuration files but the problem 
>>> still remains.
>>>  
>>>  
>>> 3)      My third tests was with ActiveMQ  4.1. The configuration was 
>>> quite the same :
>>> *_activemq.xml, Server 1 :
>>> _*(...)
>>>     <transportConnectors>
>>>        <transportConnector name="dossierspistes-tp" 
>>> uri="tcp://localhost:61616" brokerName="${hostname}"/>
>>>     </transportConnectors>
>>>  
>>>     <networkConnectors>
>>>        <networkConnector name="dossierspistes-nc" 
>>> uri="static://(tcp://100.29.191.227:61616)" failover="true" 
>>> networkTTL="255" brokerName="${hostname}"/>
>>>     </networkConnectors>  
>>> (...)
>>>  
>>> *_Server 2 :_*
>>> (...)
>>>        <networkConnector name="dossierspistes-nc" 
>>> uri="static://(tcp://100.29.191.227:61616)" failover="true" 
>>> networkTTL="255" brokerName="${hostname}"/>
>>>  (...)
>>>  
>>> *_Server 3 :_*
>>> (...)
>>>        <networkConnector name="dossierspistes-nc" 
>>> uri="static://(tcp://100.29.191.225:61616,tcp://100.29.191.226:61616)" 
>>> failover="true" networkTTL="255" brokerName="${hostname}"/>
>>> (...)
>>> *__*
>>> All servers stayed online during the test. No disconnection
>>> Server 3 published a message on its topic.
>>>             Server 2 received it.
>>>             Server 1 sometimes receives the messages, but does not 
>>> receive messages at all.
>>>  
>>> Am I missing something ?
>>>
>>>
>>>     
>>
>>   
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Disconnection-and-reconnection-in-a-network-of-brokers-tf2704774.html#a7564750
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message