activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Davies <rajdav...@gmail.com>
Subject Re: Having some trouble making a simple network...
Date Fri, 23 Feb 2007 14:09:32 GMT
still on my to do list - it'll be in AMQ 5.0 though

cheers,

Rob
On 23 Feb 2007, at 12:41, Jason Dillon wrote:

> Hey guys... did anything ever happen with this?  Any hope this
> functionality will make it into AMQ 5.0?
>
> --jason
>
>
>> On Oct 16, 2006, at 3:45 AM, Rob Davies wrote:
>>
>> > It'll take a week - or so  - simply because I've a lot of other
>> > stuff to do. It's not a major piece of work - but there's some
>> > fiddly things to change in the broker to support it - so we've just
>> > got to be careful not to break anything else.
>> > On 16 Oct 2006, at 08:11, Jason Dillon wrote:
>> >
>> >> Any idea how easy this is going to be to implement?  Should it be
>> >> fairly simple, or a major design change?
>> >>
>> >> --jason
>> >>
>> >>
>> >> On Oct 15, 2006, at 11:38 PM, Rob Davies wrote:
>> >>
>> >>> Hi Jason,
>> >>>
>> >>> I just created a jira for this: http://issues.apache.org/ 
>> activemq/
>> >>> browse/AMQ-979
>> >>>
>> >>> On 16 Oct 2006, at 05:40, Jason Dillon wrote:
>> >>>
>> >>>> How then do I setup a hub/spoke network where the hub does not
>> >>>> know about all of the spokes, and where the spokes may be behind
>> >>>> firewalls, only allowing outgoing connections?  I had thought
>> >>>> that having the remote broker define a network connection to the
>> >>>> central broker would have been enough to connect them or bi-
>> >>>> directional message flow.  But it sounds like that is not the
>> >>>> case based on what you've said.
>> >>>>
>> >>>> How should I configure the brokers assuming that the remote
>> >>>> brokers maybe behind a firewall then?
>> >>>>
>> >>>> --jason
>> >>>>
>> >>>>
>> >>>> On Oct 15, 2006, at 9:30 PM, Hiram Chirino wrote:
>> >>>>
>> >>>>> Hey Jason,
>> >>>>>
>> >>>>> Not sure what those errors are about, but first off... if  
>> network
>> >>>>> connections are only defined from the remote brokers to the
>> >>>>> central broker,
>> >>>>> then only messages can sent to the central broker.  The central
>> >>>>> broker will
>> >>>>> not be able to send message back to the remote broker.
>> >>>>>
>> >>>>> Regards,
>> >>>>> Hiram
>> >>>>>
>> >>>>> On 10/15/06, Jason Dillon <jason@planet57.com> wrote:
>> >>>>>>
>> >>>>>> Hiya... I'm having some trouble making a simple broker network
>> >>>>>> for
>> >>>>>> GBuild.  The idea was to embed a broker in each node, and
then
>> >>>>>> have
>> >>>>>> the slave nodes connect to the master node, so that all
client
>> >>>>>> code
>> >>>>>> will always be connected, and let activemq handle broker
to
>> >>>>>> broker
>> >>>>>> connectivity.
>> >>>>>>
>> >>>>>> But, I can not seems to get it to work.
>> >>>>>>
>> >>>>>> NOTE: This is not master/slave in terms of broker fail-over...
>> >>>>>> its
>> >>>>>> just hub/spoke where the hub is the master and slave a
>> >>>>>> spoke... just
>> >>>>>> for clarity on the bits below.
>> >>>>>>
>> >>>>>> My central manager (which is what slave nodes connect to)
has:
>> >>>>>>
>> >>>>>> <beans xmlns="http://activemq.org/config/1.0">
>> >>>>>>      <bean
>> >>>>>>  
>> class="org.springframework.beans.factory.config.PropertyPlacehold
>> >>>>>> erConfi
>> >>>>>> gurer"/>
>> >>>>>>      <broker useJmx="true">
>> >>>>>>          <managementContext>
>> >>>>>>              <managementContext connectorPort="5003"
>> >>>>>> jmxDomainName="org.apache.activemq"/>
>> >>>>>>          </managementContext>
>> >>>>>>          <persistenceAdapter>
>> >>>>>>              <journaledJDBC journalLogFiles="5"  
>> dataDirectory="$
>> >>>>>> {gshell.home}/activemq"/>
>> >>>>>>          </persistenceAdapter>
>> >>>>>>          <transportConnectors>
>> >>>>>>              <transportConnector uri="vm://localhost"/>
>> >>>>>>              <transportConnector uri="tcp://localhost:16161"/>
>> >>>>>>          </transportConnectors>
>> >>>>>>      </broker>
>> >>>>>> </beans>
>> >>>>>>
>> >>>>>> And my slave nodes have:
>> >>>>>>
>> >>>>>> <beans xmlns="http://activemq.org/config/1.0">
>> >>>>>>      <bean
>> >>>>>>  
>> class="org.springframework.beans.factory.config.PropertyPlacehold
>> >>>>>> erConfi
>> >>>>>> gurer"/>
>> >>>>>>      <broker useJmx="true">
>> >>>>>>          <managementContext>
>> >>>>>>              <managementContext connectorPort="5004"
>> >>>>>> jmxDomainName="org.apache.activemq"/>
>> >>>>>>          </managementContext>
>> >>>>>>          <persistenceAdapter>
>> >>>>>>              <journaledJDBC journalLogFiles="5"  
>> dataDirectory="$
>> >>>>>> {gshell.home}/activemq"/>
>> >>>>>>          </persistenceAdapter>
>> >>>>>>          <transportConnectors>
>> >>>>>>              <transportConnector uri="vm://localhost"/>
>> >>>>>>          </transportConnectors>
>> >>>>>>          <networkConnectors>
>> >>>>>>              <networkConnector uri="static:(tcp://gbuild.org:
>> >>>>>> 16161)"
>> >>>>>> failover="true"/>
>> >>>>>>          </networkConnectors>
>> >>>>>>      </broker>
>> >>>>>> </beans>
>> >>>>>>
>> >>>>>> But... for some reason this is not working... and I don't
know
>> >>>>>> why.
>> >>>>>> Connectivity is good, as when I change the slave client's
to
>> >>>>>> connect
>> >>>>>> with "tcp://gbuild.org:16161" instead of "vm://localhost"
>> >>>>>> everything
>> >>>>>> works fine.
>> >>>>>>
>> >>>>>> But when the slaves use "vm://localhost" then they never
 
>> see any
>> >>>>>> messages, and the master node complains with "No subscriptions
>> >>>>>> registered, will not dispatch message at this time" when
new
>> >>>>>> messages
>> >>>>>> are queued... though when the slave starts I do see it
>> >>>>>> connecting to
>> >>>>>> gbuild.org:16161 and I see the master node create a consumer
>> >>>>>> for the
>> >>>>>> client (and remove it when I stop the slave).
>> >>>>>>
>> >>>>>> Not sure if this matters, but I also see these logs on the
>> >>>>>> master node:
>> >>>>>>
>> >>>>>> <snip>
>> >>>>>> 19:54:45,283 DEBUG [Service] Async error occurred:
>> >>>>>> java.lang.NullPointerException
>> >>>>>> java.lang.NullPointerException
>> >>>>>>          at
>> >>>>>>  
>> edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.
>> >>>>>> hash
>> >>>>>> (ConcurrentHashMap.java:154)
>> >>>>>>          at
>> >>>>>>  
>> edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.
>> >>>>>> get
>> >>>>>> (ConcurrentHashMap.java:759)
>> >>>>>>          at
>> >>>>>>  
>> org.apache.activemq.broker.AbstractConnection.processAddConnectio
>> >>>>>> n
>> >>>>>> (AbstractConnection.java:616)
>> >>>>>>          at
>> >>>>>>  
>> org.apache.activemq.broker.jmx.ManagedTransportConnection.process
>> >>>>>> AddConn
>> >>>>>> ection(ManagedTransportConnection.java:87)
>> >>>>>>          at org.apache.activemq.command.ConnectionInfo.visit
>> >>>>>> (ConnectionInfo.java:121)
>> >>>>>>          at  
>> org.apache.activemq.broker.AbstractConnection.service
>> >>>>>> (AbstractConnection.java:238)
>> >>>>>>          at org.apache.activemq.broker.TransportConnection
>> >>>>>> $1.onCommand
>> >>>>>> (TransportConnection.java:63)
>> >>>>>>          at
>> >>>>>> org.apache.activemq.transport.ResponseCorrelator.onCommand
>> >>>>>> (ResponseCorrelator.java:95)
>> >>>>>>          at
>> >>>>>> org.apache.activemq.transport.TransportFilter.onCommand
>> >>>>>> (TransportFilter.java:65)
>> >>>>>>          at
>> >>>>>> org.apache.activemq.transport.WireFormatNegotiator.onCommand
>> >>>>>> (WireFormatNegotiator.java:133)
>> >>>>>>          at
>> >>>>>> org.apache.activemq.transport.InactivityMonitor.onCommand
>> >>>>>> (InactivityMonitor.java:122)
>> >>>>>>          at
>> >>>>>> org.apache.activemq.transport.TransportSupport.doConsume
>> >>>>>> (TransportSupport.java:84)
>> >>>>>>          at org.apache.activemq.transport.tcp.TcpTransport.run
>> >>>>>> (TcpTransport.java:136)
>> >>>>>>          at java.lang.Thread.run(Thread.java:595)
>> >>>>>> 19:54:45,284 DEBUG [Transport] Transport failed:
>> >>>>>> java.io.IOException:
>> >>>>>> Unknown data type: 68
>> >>>>>> java.io.IOException: Unknown data type: 68
>> >>>>>>          at
>> >>>>>> org.apache.activemq.openwire.OpenWireFormat.doUnmarshal
>> >>>>>> (OpenWireFormat.java:344)
>> >>>>>>          at  
>> org.apache.activemq.openwire.OpenWireFormat.unmarshal
>> >>>>>> (OpenWireFormat.java:275)
>> >>>>>>          at org.apache.activemq.transport.tcp.TcpTransport.run
>> >>>>>> (TcpTransport.java:135)
>> >>>>>>          at java.lang.Thread.run(Thread.java:595)
>> >>>>>> </snip>
>> >>>>>>
>> >>>>>> I'm using the latest 4.1-incubator-SNAPSHOT in m2:
>> >>>>>>
>> >>>>>> <dependency>
>> >>>>>>      <groupId>org.apache.activemq</groupId>
>> >>>>>>      <artifactId>activeio-core</artifactId>
>> >>>>>>      <version>3.0-SNAPSHOT</version>
>> >>>>>> </dependency>
>> >>>>>>
>> >>>>>> <dependency>
>> >>>>>>      <groupId>org.apache.activemq</groupId>
>> >>>>>>      <artifactId>activemq-core</artifactId>
>> >>>>>>      <version>4.1-incubator-SNAPSHOT</version>
>> >>>>>> </dependency>
>> >>>>>>
>> >>>>>>   * * *
>> >>>>>>
>> >>>>>> I really want to get this broker network working so that
the
>> >>>>>> client
>> >>>>>> code can be free from reconnect fluff... and just assume
 
>> that the
>> >>>>>> local embedded broker will handle all inter-broker
>> >>>>>> connectivity issues.
>> >>>>>>
>> >>>>>> Anyone have any idea what's wrong?
>> >>>>>>
>> >>>>>> Thanks,
>> >>>>>>
>> >>>>>> --jason
>> >>>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> Regards,
>> >>>>> Hiram
>> >>>>>
>> >>>>> Blog: http://hiramchirino.com
>> >>>>
>> >>>
>> >>
>> >
>>
>>


Mime
View raw message