Hi, it should work for topics, the same as for queues. The only problem I can anticipate is that you may use non-durable topic subscribers. Check out these articles
http://activemq.apache.org/how-do-durable-queues-and-topics-work.html http://activemq.apache.org/why-do-i-not-receive-messages-on-my-durable-topic-subscription.html If that is not a problem, try turning on debugging and diagnose what is happening. Cheers -- Dejan Bosanac Open Source Integration - http://fusesource.com/ ActiveMQ in Action - http://www.manning.com/snyder/ Blog - http://www.nighttale.net On Wed, Feb 4, 2009 at 6:36 PM, Bjørn T Johansen <b...@havleik.no> wrote: > Or maybe I am doing this wrong... I am using same kind of jsm:listener that > I use to read messages from a queue... Should this work or do I have to > subscribe to a topic som other way? (I can't seem to find any examples on > how to read topic messages using Spring...) > > > BTJ > > > > Quoting Bjørn T Johansen <b...@havleik.no>: > > There is one thing that is still not working... >> >> I changed the queue <queue physicalName="no.asp.nexstep.xmlfilesall"/> to >> a topic: >> >> <topic physicalName="no.asp.nexstep.xmlfilesall"/> >> >> And it seems to be workin because when posting a message to that topic on >> the central server, it is forwarded to both boserver1 and boserver2. But >> when a client connects to either boserver1 or boserver2, there is no topic >> in the topic queue to be read and I guess I am still missing something? >> >> >> BTJ >> >> On Wed, 4 Feb 2009 15:31:21 +0100 >> Bjørn T Johansen <b...@havleik.no> wrote: >> >> Hmmm... I might have the config correct... I was confused by the fact >>> that all the queues are display on the admin page of both boserver1 and >>> boserver2... (but the messages seems to only bo delivered where they are >>> supposed to...) >>> >>> But could any verify that my config is correct? and that there isn't any >>> more configuration I should/could use? >>> >>> >>> BTJ >>> >>> On Wed, 4 Feb 2009 15:06:37 +0100 >>> Bjørn T Johansen <b...@havleik.no> wrote: >>> >>> > Hmmm... That's the example I have used but I don't get the config >>> correct... >>> > >>> > The is the config for the central broker: >>> > >>> > <networkConnector name="bridge_boserver1" uri="static://(tcp:// >>> 10.4.34.26:61616)" dynamicOnly="true" conduitSubscriptions="false" >>> > decreaseNetworkConsumerPriority="false"> <excludedDestinations> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfiles_boserver2"/> >>> > </excludedDestinations> >>> > <staticallyIncludedDestinations> >>> > <queue physicalName="no.asp.nexstep.queue"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfiles_boserver1"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfilesall"/> >>> > </staticallyIncludedDestinations> >>> > <duplex>true</duplex> >>> > <networkTTL>1</networkTTL> >>> > </networkConnector> >>> > <networkConnector name="bridge_boserver2" >>> uri="static://(tcp://10.4.34.19:61616)" dynamicOnly="true" >>> conduitSubscriptions="false" >>> > decreaseNetworkConsumerPriority="false"> <excludedDestinations> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfiles_boserver1"/> >>> > </excludedDestinations> >>> > <staticallyIncludedDestinations> >>> > <queue physicalName="no.asp.nexstep.queue"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfiles_boserver2"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfilesall"/> >>> > </staticallyIncludedDestinations> >>> > <duplex>true</duplex> >>> > <networkTTL>1</networkTTL> >>> > </networkConnector> >>> > </networkConnectors> >>> > >>> > >>> > >>> > And this is for the boserver1 broker..: >>> > >>> > <networkConnectors> >>> > <!-- by default just auto discover the other brokers --> >>> > <!--<networkConnector name="default-nc" >>> uri="multicast://default"/>--> >>> > <!-- Example of a static configuration: >>> > <networkConnector name="host1 and host2" >>> uri="static://(tcp://host1:61616,tcp://host2:61616)"/> >>> > --> >>> > <networkConnector name="bridge" uri="static://(tcp:// >>> 10.4.34.10:61616)" dynamicOnly="true" conduitSubscriptions="false" >>> > decreaseNetworkConsumerPriority="false"> >>> <staticallyIncludedDestinations> >>> > <queue physicalName="no.asp.nexstep.queue"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfiles_boserver1"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfilesall"/> >>> > </staticallyIncludedDestinations> >>> > <duplex>true</duplex> >>> > <networkTTL>1</networkTTL> >>> > </networkConnector> >>> > </networkConnectors> >>> > >>> > >>> > And this is for the boserver2 broker..: >>> > >>> > <networkConnectors> >>> > <!-- by default just auto discover the other brokers --> >>> > <!-- Example of a static configuration: >>> > <networkConnector name="host1 and host2" >>> uri="static://(tcp://host1:61616,tcp://host2:61616)"/> >>> > --> >>> > <networkConnector name="bridge" uri="static://(tcp:// >>> 10.4.34.10:61616)" dynamicOnly="true" conduitSubscriptions="false" >>> > decreaseNetworkConsumerPriority="false"> >>> <staticallyIncludedDestinations> >>> > <queue physicalName="no.asp.nexstep.queue"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfiles_boserver2"/> >>> > <queue >>> physicalName="no.asp.nexstep.xmlfilesall"/> >>> > </staticallyIncludedDestinations> >>> > <duplex>true</duplex> >>> > <networkTTL>1</networkTTL> >>> > </networkConnector> >>> > </networkConnectors> >>> > >>> > >>> > The problem is that all the queues are available on both boserver1 >>> broker and boserv2 broker (I thought that boserver1 should not see the >>> bosever2 >>> > queue and boserver2 should not have seen the boserver1 queue but they >>> do). >>> > >>> > What I want is messages posted on boserver1 should only reach the >>> central broker (and not the boserver2 broker). Also messages posted on the >>> > central broker should reach either boserver1 or boserver2 (and not >>> based on a random outcome which). Also some messages posted on the central >>> > broker should be delivered to both boserver1 and boserver2 broker... >>> > >>> > >>> > So what am I missing? >>> > >>> > >>> > >>> > BTJ >>> > >>> > >>> > On Wed, 4 Feb 2009 14:48:23 +0100 >>> > Dejan Bosanac <de...@nighttale.net> wrote: >>> > >>> > > Hi Bjorn, >>> > > >>> > > this is exactly what network of brokers are supposed to do. Note that >>> broker >>> > > will forward a message to other broker only if there is a consumer >>> for that >>> > > destination on the other broker. You can ensure that messages go only >>> to the >>> > > next broker in the network, by setting networkTTL parameter to 1. You >>> can >>> > > also exclude some destinations for a certain network connector and >>> ensure >>> > > that messages are never forwarded. Take a look at >>> > > http://activemq.apache.org/networks-of-brokers.html for more >>> detailed >>> > > examples. >>> > > >>> > > Hope this helps >>> > > -- >>> > > Dejan Bosanac >>> > > >>> > > Open Source Integration - http://fusesource.com/ >>> > > ActiveMQ in Action - http://www.manning.com/snyder/ >>> > > Blog - http://www.nighttale.net >>> > > >>> > > >>> > > On Wed, Feb 4, 2009 at 2:24 PM, Bjørn T Johansen <b...@havleik.no> >>> wrote: >>> > > >>> > > > Not sure how to configure this or if it's even possible with >>> ActiveMQ. >>> > > > The system we are want to use is as follows.: >>> > > > >>> > > > One central broker. >>> > > > X number of "client brokers", placed in different location (over >>> WAN) but >>> > > > with contact to the central broker >>> > > > >>> > > > The clients connects to the "client brokers" and when they post a >>> message >>> > > > to a "client broker" it should be forwarded to the central broker >>> where >>> > > > someone should consume it. And when posting a message to the >>> central >>> > > > broker, it should be forwarded to one of the "client brokers" >>> (depending on >>> > > > which >>> > > > queue it's posted on), and a client can read it from the "client >>> broker" >>> > > > I.e no messages should transfer from one "client broker" to another >>> "client >>> > > > broker", all messages should just travel between the central broker >>> and >>> > > > one of the "client brokers". >>> > > > >>> > > > The reason we want a configuration like this, is so messages can be >>> posted >>> > > > even if the network between a client and the central broker is >>> down.. >>> > > > >>> > > > Did that make any sense? Is this possible? >>> > > > I have been looking at a network of brokers but as fas as I can >>> see, this >>> > > > is more a load balancing configuration and that is not what we >>> want... >>> > > > >>> > > > >>> > > > Regards, >>> > > > >>> > > > BTJ >>> > > > >>> > > > -- >>> > > > >>> > > > >>> ----------------------------------------------------------------------------------------------- >>> > > > Bjørn T Johansen >>> > > > >>> > > > b...@havleik.no >>> > > > >>> > > > >>> ----------------------------------------------------------------------------------------------- >>> > > > Someone wrote: >>> > > > "I understand that if you play a Windows CD backwards you hear >>> strange >>> > > > Satanic messages" >>> > > > To which someone replied: >>> > > > "It's even worse than that; play it forwards and it installs >>> Windows" >>> > > > >>> > > > >>> ----------------------------------------------------------------------------------------------- >>> >> >> >