Hi,

I've the same behaviour on Windows-OS...

On Windows-OS we get:
Failed to create Producer for endpoint:
Endpoint[activemq://queue:foo?testConnectionOnStartup=true]. Reason:
org.apache.camel.FailedToCreateProducerException: Failed to create Producer
for endpoint: Endpoint[activemq://queue:foo?testConnectionOnStartup=true].
Reason: javax.jms.JMSException: Could not connect to broker URL:
tcp://localhost:61111. Reason: java.net.ConnectException: Connection
refused: connect


However on Mac-OS (Claus) you get:
Failed to create Producer for endpoint:
Endpoint[activemq://queue:foo?testConnectionOnStartup=true]. Reason:
org.apache.camel.FailedToCreateProducerException: Failed to create Producer
for endpoint: Endpoint[activemq://queue:foo?testConnectionOnStartup=true].
Reason: javax.jms.JMSException: Could not connect to broker URL:
tcp://localhost:61111. Reason: java.net.ConnectException: Connection refused

So that the suffix ": connect" is missing when we run the test on
Windows-OS. Indeed it's a OS-dependent behaviour of the native method:

java.net.PlainSocketImpl.socketConnect(InetAddress address, int port, int
timeout)

The Windows-JRE calls ConnectException("connect") to signal a failed socket
connection inside the native method above, that's:
http://download.oracle.com/javase/6/docs/api/java/net/ConnectException.html#ConnectException(java.lang.String)

However the Mac-OS version calls the other constructor which has no
parameter, that's:
http://download.oracle.com/javase/6/docs/api/java/net/ConnectException.html#ConnectException()


IMHO, I would suggest to make use of assertStringContains() instead of
assertEquals() to resolve the issue, something like:

            assertStringContains(e.getMessage(), "Failed to create Producer
for endpoint: Endpoint[activemq://queue:foo?testConnectionOnStartup=true]. "
                + "Reason: org.apache.camel.FailedToCreateProducerException:
Failed to create Producer for endpoint: "
                +
"Endpoint[activemq://queue:foo?testConnectionOnStartup=true]. Reason:
javax.jms.JMSException: "
                + "Could not connect to broker URL: tcp://localhost:61111.
Reason: java.net.ConnectException: Connection refused");

Regards, Babak



--
View this message in context: 
http://camel.465427.n5.nabble.com/Build-break-in-camel-jms-tp4458546p4458842.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to