[
https://issues.apache.org/jira/browse/AMQ-2981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dejan Bosanac reopened AMQ-2981:
--------------------------------
After a bit more investigation, it seems that this is regression of
https://issues.apache.org/jira/browse/AMQ-2849
> Connecting to broker using discovery protocol fails
> ---------------------------------------------------
>
> Key: AMQ-2981
> URL: https://issues.apache.org/jira/browse/AMQ-2981
> Project: ActiveMQ
> Issue Type: Bug
> Components: Transport
> Affects Versions: 5.4.0, 5.4.1
> Environment: embedded activemq in tomcat
> spring jms for connection pooling and connections
> Reporter: R Pankajakshan
> Assignee: Dejan Bosanac
>
> steps to reproduce
> 1. have a broker running on a port say '12345' and group say 'test' using
> activemq-core version 5.4.0 or 5.4.1
> 2. use url
> discovery:(multicast://default?group=test)?reconnectDelay=1000&maxReconnectAttempts=30&useExponentialBackOff=false
>
> to connect to the broker
> 3. the following exception occurs
> Caused by: javax.jms.JMSException: Invalid connect parameters:
> {reconnectDelay=1000, maxReconnectAttempts=30, useExponentialBackOff=false}
> at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1298)
> at
> org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1382)
> at
> org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:309)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at
> org.springframework.jms.connection.SingleConnectionFactory$SharedConnectionInvocationHandler.invoke(SingleConnectionFactory.java:550)
> at $Proxy34.createSession(Unknown Source)
> at
> org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:196)
> at
> org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:457)
> ... 38 more
> Caused by: java.io.IOException: Invalid connect parameters:
> {reconnectDelay=1000, maxReconnectAttempts=30, useExponentialBackOff=false}
> at
> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
> at
> org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:594)
> at
> org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
> at
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
> at
> org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
> at
> org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
> at
> org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1276)
> ... 48 more
> Caused by: java.lang.IllegalArgumentException: Invalid connect parameters:
> {reconnectDelay=1000, maxReconnectAttempts=30, useExponentialBackOff=false}
> at
> org.apache.activemq.transport.TransportFactory.doCompositeConnect(TransportFactory.java:159)
> at
> org.apache.activemq.transport.TransportFactory.compositeConnect(TransportFactory.java:93)
> at
> org.apache.activemq.transport.failover.FailoverTransport.doReconnect(FailoverTransport.java:844)
> at
> org.apache.activemq.transport.failover.FailoverTransport$2.iterate(FailoverTransport.java:135)
> at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> 4. downgrading to amq 5.3.2 solves the problem
> NOTE: a new functionality has been added to 5.4.0
> ref : http://activemq.apache.org/discovery-transport-reference.html
> Applying parameters to discovered transports
> From 5.4, transport parameters in the URI will also be applied to discovered
> transports. Therefore, transport parameters may also include parameters for
> the discovered transport. For example, adding the connectionTimeout parameter
> to the URI will apply the parameter to every discovered TCP transport, even
> though this parameter is not a Discovery transport option.
> I think the above change has caused the problem
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira