You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Jason Dillon <ja...@planet57.com> on 2006/10/16 05:15:09 UTC

Having some trouble making a simple network...

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.PropertyPlaceholderConfi 
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.PropertyPlaceholderConfi 
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.processAddConnection 
(AbstractConnection.java:616)
         at  
org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConn 
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

Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
Thanks :-)

--jason


On Feb 24, 2007, at 11:17 PM, Rob Davies wrote:

> Hi Jason,
>
> its http://issues.apache.org/activemq/browse/AMQ-920
>
> cheers,
>
> Rob
> On 25 Feb 2007, at 02:56, Jason Dillon wrote:
>
>> Cool! :-)
>>
>> Is there a JIRA for this that I can watch?
>>
>> --jason
>>
>>
>> On Feb 23, 2007, at 6:09 AM, Rob Davies wrote:
>>
>>> 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 <ja...@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
>>>>> >>>>
>>>>> >>>
>>>>> >>
>>>>> >
>>>>>
>>>>>
>>>
>>
>


Re: Having some trouble making a simple network...

Posted by Rob Davies <ra...@gmail.com>.
Hi Jason,

its http://issues.apache.org/activemq/browse/AMQ-920

cheers,

Rob
On 25 Feb 2007, at 02:56, Jason Dillon wrote:

> Cool! :-)
>
> Is there a JIRA for this that I can watch?
>
> --jason
>
>
> On Feb 23, 2007, at 6:09 AM, Rob Davies wrote:
>
>> 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 <ja...@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
>>>> >>>>
>>>> >>>
>>>> >>
>>>> >
>>>>
>>>>
>>
>


Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
Cool! :-)

Is there a JIRA for this that I can watch?

--jason


On Feb 23, 2007, at 6:09 AM, Rob Davies wrote:

> 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 <ja...@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
>>> >>>>
>>> >>>
>>> >>
>>> >
>>>
>>>
>


Re: Having some trouble making a simple network...

Posted by Rob Davies <ra...@gmail.com>.
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 <ja...@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
>> >>>>
>> >>>
>> >>
>> >
>>
>>


Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
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 <ja...@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
> >>>>
> >>>
> >>
> >
>
>

Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
Any progress on this?

--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 <ja...@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
>>>>
>>>
>>
>


Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
Sweet!  I am really looking forward to it.  :-)

--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 <ja...@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
>>>>
>>>
>>
>


Re: Having some trouble making a simple network...

Posted by Hiram Chirino <hi...@hiramchirino.com>.
Hey Jason,

Well if you want to take stab at it, the code that needs to get
modified is in the o.a.activemq.network package.  The
DiscoveryNetworkConnector creates new DemandForwardingBridge to
connect the local broker to a remotebroker.  Notice that the
DemandForwardingBridge's constructor takes a local and remote
Transport as constructor arguments.  This sets up the bridge to sends
message from the local transport to the remote one.  In theory you
should be able to transpose those two and then the local broker should
receive messages from the remote broker.

So perhaps we just need to add a option to the
DiscoveryNetworkConnector so that in addition to creating the normal
bridge that forwards from local -> remote, we create a second bridge
to forward from remote -> local.  I Imagine that we could create the
extra set of connections in the DiscoveryNetworkConnector
.onServiceAdd() call.

But this could prove to be risky since network bridges can just about
fail at any point in the process and handling all the failures has
proven tricky and inverting the local/remote nature of the transport
could introduce failures at points that had not been considered
previously.

I'm sure there may be other approaches.. perhaps Rob had something else I mind.

On 10/29/06, Jason Dillon <ja...@planet57.com> wrote:
> While waiting for bi-directional network connections... is there
> anything I can do do get this working?  So that the master broker
> does not need to have explicit knowledge of all slave brokers?  I can
> open a port on the slaves... though I don't like that, but as a short-
> term fix until bi-directional network connections are working I am
> willing to do it.
>
> Maybe multicast from the master broker to slaves?
>
> --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 <ja...@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
> >>>>
> >>>
> >>
> >
>
>


-- 
Regards,
Hiram

Blog: http://hiramchirino.com

Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
While waiting for bi-directional network connections... is there  
anything I can do do get this working?  So that the master broker  
does not need to have explicit knowledge of all slave brokers?  I can  
open a port on the slaves... though I don't like that, but as a short- 
term fix until bi-directional network connections are working I am  
willing to do it.

Maybe multicast from the master broker to slaves?

--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 <ja...@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
>>>>
>>>
>>
>


Re: Having some trouble making a simple network...

Posted by Rob Davies <ra...@gmail.com>.
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 <ja...@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.PropertyPlaceholde 
>>>>> rConfi
>>>>> 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.PropertyPlaceholde 
>>>>> rConfi
>>>>> 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.h 
>>>>> ash
>>>>> (ConcurrentHashMap.java:154)
>>>>>          at
>>>>> edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.g 
>>>>> et
>>>>> (ConcurrentHashMap.java:759)
>>>>>          at
>>>>> org.apache.activemq.broker.AbstractConnection.processAddConnection
>>>>> (AbstractConnection.java:616)
>>>>>          at
>>>>> org.apache.activemq.broker.jmx.ManagedTransportConnection.processA 
>>>>> ddConn
>>>>> 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
>>>
>>
>


Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
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 <ja...@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.PropertyPlaceholder 
>>>> Confi
>>>> 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.PropertyPlaceholder 
>>>> Confi
>>>> 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.ha 
>>>> sh
>>>> (ConcurrentHashMap.java:154)
>>>>          at
>>>> edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.ge 
>>>> t
>>>> (ConcurrentHashMap.java:759)
>>>>          at
>>>> org.apache.activemq.broker.AbstractConnection.processAddConnection
>>>> (AbstractConnection.java:616)
>>>>          at
>>>> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAd 
>>>> dConn
>>>> 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
>>
>


Re: Having some trouble making a simple network...

Posted by Rob Davies <ra...@gmail.com>.
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 <ja...@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.PropertyPlaceholderC 
>>> onfi
>>> 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.PropertyPlaceholderC 
>>> onfi
>>> 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.has 
>>> h
>>> (ConcurrentHashMap.java:154)
>>>          at
>>> edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap.get
>>> (ConcurrentHashMap.java:759)
>>>          at
>>> org.apache.activemq.broker.AbstractConnection.processAddConnection
>>> (AbstractConnection.java:616)
>>>          at
>>> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAdd 
>>> Conn
>>> 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
>


Re: Having some trouble making a simple network...

Posted by Jason Dillon <ja...@planet57.com>.
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 <ja...@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.PropertyPlaceholderCo 
>> nfi
>> 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.PropertyPlaceholderCo 
>> nfi
>> 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.processAddConnection
>> (AbstractConnection.java:616)
>>          at
>> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddC 
>> onn
>> 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


Re: Having some trouble making a simple network...

Posted by Hiram Chirino <hi...@hiramchirino.com>.
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 <ja...@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.PropertyPlaceholderConfi
> 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.PropertyPlaceholderConfi
> 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.processAddConnection
> (AbstractConnection.java:616)
>          at
> org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConn
> 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