I am having issues upgrading from ActiveMQ 3.2 to 4.0.1. In 3.2, I had a
clustered embedded broker setup working. I have been unable to do this with
4.0.1. I read a lot of info on this and seen a bunch of posts, so I'm
assuming this does work. I am attempting to use a static list of
networkConnectors, although I've tried various protocols with no luck. I am
using Jencks as the consumer. 

I would apprieciate any help with this.

-----------------------------------------------------------------------------------------------
Here's a log snippet from the machine that first machine to come up:
-----------------------------------------------------------------------------------------------
DEBUG 23:28:21.743 (reCapableBeanFactory) Invoking BeanPostProcessors after
initialization of bean 'messageHandler' [main]
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:262)
DEBUG 23:28:21.743 (ctApplicationContext) Publishing event in context
[org.springframework.context.support.FileSystemXmlApplicationContext;hashCode=4313181]:
org.springframework.context.event.ContextRefreshedEvent[source=org.springframework.context.support.FileSystemXmlApplicationContext:
display name
[org.springframework.context.support.FileSystemXmlApplicationContext;hashCode=4313181];
startup date [Sun Jun 25 23:28:18 PDT 2006]; root of context hierarchy]
[main]
org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:223)
DEBUG 23:28:21.743 ( AbstractBeanFactory) Returning cached instance of
singleton bean 'broker' [main]
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
DEBUG 23:28:21.743 ( AbstractBeanFactory) Bean with name 'broker' is a
factory bean [main]
org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForSharedInstance(AbstractBeanFactory.java:810)
DEBUG 23:28:21.759 (wardingBridgeSupport)  stopping localhost bridge to null
is disposed already ? false [main]
org.apache.activemq.network.DemandForwardingBridgeSupport.doStop(DemandForwardingBridgeSupport.java:274)
DEBUG 23:28:21.946 ( FailoverTransport$2) Connect fail to:
tcp://WARREN:61616, reason: java.net.ConnectException: Connection refused:
connect [ActiveMQ Task]
org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:182)
DEBUG 23:28:21.946 ( FailoverTransport$2) Waiting 20 ms before attempting
connection.  [ActiveMQ Task]
org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:198)
Waiting for keyboard input... Press enter to send message.
DEBUG 23:28:21.946 (   FailoverTransport) Stopped. [main]
org.apache.activemq.transport.failover.FailoverTransport.stop(FailoverTransport.java:251)
DEBUG 23:28:21.962 (wardingBridgeSupport) localhost bridge to null stopped
[main]
org.apache.activemq.network.DemandForwardingBridgeSupport.doStop(DemandForwardingBridgeSupport.java:299)
INFO  23:28:21.962 (    NetworkConnector) Network Connector bridge Stopped
[main]
org.apache.activemq.network.NetworkConnector.doStop(NetworkConnector.java:278)
DEBUG 23:28:38.306 (WireFormatNegotiator) Sending: WireFormatInfo {
version=1, properties={TightEncodingEnabled=true, TcpNoDelayEnabled=true,
SizePrefixDisabled=false, StackTraceEnabled=true,
MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
[ActiveMQ Transport Server: tcp://TONYB64:61616]
org.apache.activemq.transport.WireFormatNegotiator.start(WireFormatNegotiator.java:62)
DEBUG 23:28:38.306 (        TcpTransport) TCP consumer thread starting
[ActiveMQ Transport: tcp:///10.1.6.183:1871]
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:139)
DEBUG 23:28:38.322 (WireFormatNegotiator) Received WireFormat:
WireFormatInfo { version=1, properties={StackTraceEnabled=true,
TightEncodingEnabled=true, TcpNoDelayEnabled=true, SizePrefixDisabled=false,
MaxInactivityDuration=30000, CacheEnabled=true}, magic=[A,c,t,i,v,e,M,Q]}
[ActiveMQ Transport: tcp:///10.1.6.183:1871]
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:85)
DEBUG 23:28:38.322 (WireFormatNegotiator) tcp:///10.1.6.183:1871 before
negotiation: OpenWireFormat{version=1, cacheEnabled=false,
stackTraceEnabled=false, tightEncodingEnabled=false,
sizePrefixDisabled=false} [ActiveMQ Transport: tcp:///10.1.6.183:1871]
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:92)
DEBUG 23:28:38.322 (WireFormatNegotiator) tcp:///10.1.6.183:1871 after
negotiation: OpenWireFormat{version=1, cacheEnabled=true,
stackTraceEnabled=true, tightEncodingEnabled=true, sizePrefixDisabled=false}
[ActiveMQ Transport: tcp:///10.1.6.183:1871]
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:103)
DEBUG 23:28:39.634 (  AbstractConnection) Transport failed:
java.io.EOFException [ActiveMQ Transport: tcp:///10.1.6.183:1871]
org.apache.activemq.broker.AbstractConnection.serviceTransportException(AbstractConnection.java:171)
java.io.EOFException
        at java.io.DataInputStream.readInt(DataInputStream.java:448)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:142)
        at java.lang.Thread.run(Thread.java:534)

-----------------------------------------------------------------------------------------------
Here's a log snippet from the machine that 2nd machine to come up:
The SocketException occurs when they attempt to start the bridge.
-----------------------------------------------------------------------------------------------
DEBUG 23:28:39.762 ( AbstractBeanFactory) Returning cached instance of
singleton bean 'broker' [main]
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
DEBUG 23:28:39.762 ( AbstractBeanFactory) Bean with name 'broker' is a
factory bean [main]
org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForSharedInstance(AbstractBeanFactory.java:810)
DEBUG 23:28:39.762 (wardingBridgeSupport)  stopping localhost bridge to
localhost is disposed already ? false [main]
org.apache.activemq.network.DemandForwardingBridgeSupport.doStop(DemandForwardingBridgeSupport.java:274)
DEBUG 23:28:39.762 (   FailoverTransport) Stopped. [main]
org.apache.activemq.transport.failover.FailoverTransport.stop(FailoverTransport.java:251)
DEBUG 23:28:39.793 (wardingBridgeSupport) localhost bridge to localhost
stopped [main]
org.apache.activemq.network.DemandForwardingBridgeSupport.doStop(DemandForwardingBridgeSupport.java:299)
INFO  23:28:39.793 (    NetworkConnector) Network Connector bridge Stopped
[main]
org.apache.activemq.network.NetworkConnector.doStop(NetworkConnector.java:278)
Waiting for keyboard input... Press enter to send message.
DEBUG 23:28:39.809 (   FailoverTransport) Transport failed, starting up
reconnect task [ActiveMQ Transport: tcp://TONYB64/10.1.6.139:61616]
org.apache.activemq.transport.failover.FailoverTransport.handleTransportFailure(FailoverTransport.java:226)
java.net.SocketException: socket closed
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:48)
        at
org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:55)
        at java.io.DataInputStream.readInt(DataInputStream.java:443)
        at
org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:274)
        at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:142)
        at java.lang.Thread.run(Thread.java:534)


Here are my config files:

-----------------------------------------------------------------------------------------------
activemq-jms-broker.xml -- For Server B
-----------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC  "-//ACTIVEMQ//DTD//EN" "org.activemq/activemq.dtd">
<beans>
        <broker persistent="false" useJmx="false"
xmlns="http://activemq.org/config/1.0";>
                <!-- Local server -->
                <transportConnectors>
                        <transportConnector uri="tcp://localhost:61616" />
                </transportConnectors>
                <!-- Remote servers -->
                <networkConnectors>
                        <networkConnector uri="static:(tcp://A:61616)" 
failover="true" />
                </networkConnectors>
                <persistenceAdapter>
                        <memoryPersistenceAdapter />
                </persistenceAdapter>
        </broker>
</beans>
-----------------------------------------------------------------------------------------------
activemq-jms-broker.xml -- For Server A
-----------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC  "-//ACTIVEMQ//DTD//EN" "org.activemq/activemq.dtd">
<beans>
        <broker persistent="false" useJmx="false"
xmlns="http://activemq.org/config/1.0";>
                <!-- Local server -->
                <transportConnectors>
                        <transportConnector uri="tcp://localhost:61616" />
                </transportConnectors>
                <!-- Remote servers -->
                <networkConnectors>
                        <networkConnector uri="static:(tcp://B:61616)" 
failover="true" />
                </networkConnectors>
                <persistenceAdapter>
                        <memoryPersistenceAdapter />
                </persistenceAdapter>
        </broker>
</beans>

-----------------------------------------------------------------------------------------------
activemq.xml
-----------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd";>

<beans default-lazy-init="false">
        <bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
                <property name="config" value="file:./activemq-jms-broker.xml" 
/>
                <property name="start"  value="true" />
        </bean>
        <bean id="jmsFactory" 
class="org.apache.activemq.ActiveMQConnectionFactory"
depends-on="broker">
                <property name="brokerURL" value="vm://localhost" />
        </bean>
        <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
        <property name="connectionFactory">
            <bean
class="org.springframework.jms.connection.SingleConnectionFactory">
                <property name="targetConnectionFactory">
                    <ref local="jmsFactory"/>
                </property>
            </bean>
        </property>
                <property name="pubSubDomain"                   value="true" />
                <property name="pubSubNoLocal"                  value="false" />
                <property name="defaultDestinationName" value="Message.Topic" />
                <property name="explicitQosEnabled"             value="true" />
                <property name="deliveryMode"                   value="1" />
                <property name="timeToLive"                             
value="15000" />
        </bean>
        <bean id="centralUpdateListenerTask"
class="com.et.db.CentralUpdateListenerAsyncEventQueueTask"
singleton="false">
                <constructor-arg>
                        <ref bean="jmsTemplate" />
                </constructor-arg>
        </bean>

        <!-- JMS consumer beans -->
        <bean id="msgDrivenObject" class="org.jencks.JCAConnector">
                <property name="jcaContainer" ref="jcaContainerBean" />
        <property name="activationSpec">
                        <bean id="activeMQActivationSpec"
class="org.apache.activemq.ra.ActiveMQActivationSpec">
                                <property name="destination"                    
value="Message.Topic" />
                        <property name="destinationType"                
value="javax.jms.Topic" />
                                <property name="maxSessions"                    
value="100" />
                                <property name="maxMessagesPerSessions" 
value="100" />
                        </bean>
                </property>
                <property name="ref" value="messageHandler" />
        </bean>
        <bean id="jcaContainerBean" class="org.jencks.JCAContainer">
                <property name="bootstrapContext">
                        <bean 
class="org.jencks.factory.BootstrapContextFactoryBean">
                                <property name="threadPoolSize" value="25" />
                        </bean>
                </property>
                <property name="resourceAdapter">
                        <bean id="activeMQResourceAdapter" 
class="org.apache.activemq.ra.ActiveMQResourceAdapter">
                                <property name="serverUrl"              
value="vm://localhost" />
                        </bean>
                </property>
                <property name="lazyLoad"                               
value="false" />
        </bean>
        <bean id="messageHandler" class="com.et.activemq.MessageHandler"
singleton="true" />
</beans>

Thanks,
Tony
--
View this message in context: 
http://www.nabble.com/Embedded-Broker-problem-with-ActiveMQ-4.0.1-t1847300.html#a5042233
Sent from the ActiveMQ - User forum at Nabble.com.

Reply via email to