Hello,
If I start an activemq (version 5) broker through command line, then my
tests run fine. However, when I try to automate my tests and call the *same*
shell command for the server (activemq xbean:myConfigFile), I cannot connect
to the running server (and no, I do not want to embed a broker):
javax.jms.JMSException: Wire format negotiation timeout: peer did not send
his wire format.
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1183)
at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1262)
at
org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:292)
at test.config.TestUtils.startJMSBroker(TestUtils.java:361)
at test.ft.workflow.procem.Test.setUp(Test.java:73)
at junit.framework.TestCase.runBare(TestCase.java:132)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.io.IOException: Wire format negotiation timeout: peer did
not send his wire format.
at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:85)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:70)
at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:75)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1172)
... 18 more
this error is caused by this code:
InitialContext ic = new
InitialContext();
ConnectionFactory cf =
(ConnectionFactory) ic
.lookup(JMSMsgReceiver.JMS_CONNECTION_FACTORY_NAME);
javax.jms.Connection jmsConnection =
cf.createConnection();
javax.jms.Session session =
jmsConnection.createSession(false,
javax.jms.Session.AUTO_ACKNOWLEDGE);
I have the same connection problem when launching the process through
ProcessBuilder.start()
Note that the server seems to be running, I can even connect to it through
JMX.
Does anyone know what could cause this connection error?
Thanks in advance,
Chaf
--
View this message in context:
http://www.nabble.com/cannot-connect-to-broker-launched-through-Runtime.exec-tp14812856s2354p14812856.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.