[
https://issues.apache.org/jira/browse/AMQ-3635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish reassigned AMQ-3635:
---------------------------------
Assignee: Timothy Bish
> JmsTopicConnector checks for presence of localClientId then uses
> outboundClientId
> ---------------------------------------------------------------------------------
>
> Key: AMQ-3635
> URL: https://issues.apache.org/jira/browse/AMQ-3635
> Project: ActiveMQ
> Issue Type: Bug
> Components: Connector
> Affects Versions: 5.4.2
> Environment: running 5.4.2 on linux.
> Reporter: Jeff Gillings
> Assignee: Timothy Bish
> Priority: Minor
>
> On the JMS bridge topic connector, if I set the outboundClientId but not the
> localClientId, then the outbound client id will not be set.
> This is because the JmsTopicConnector only sets the outboundClientId if the
> localClientId is set. This appears to be a bug.
> Here is 5.4.2 JmsTopicConnector.initializeForeignTopicConnection
> {code}
> protected void initializeForeignTopicConnection() throws NamingException,
> JMSException {
> if (outboundTopicConnection == null) {
> // get the connection factories
> if (outboundTopicConnectionFactory == null) {
> // look it up from JNDI
> if (outboundTopicConnectionFactoryName != null) {
> outboundTopicConnectionFactory =
> (TopicConnectionFactory)jndiOutboundTemplate
> .lookup(outboundTopicConnectionFactoryName,
> TopicConnectionFactory.class);
> if (outboundUsername != null) {
> outboundTopicConnection =
> outboundTopicConnectionFactory
> .createTopicConnection(outboundUsername,
> outboundPassword);
> } else {
> outboundTopicConnection =
> outboundTopicConnectionFactory.createTopicConnection();
> }
> } else {
> throw new JMSException("Cannot create localConnection -
> no information");
> }
> } else {
> if (outboundUsername != null) {
> outboundTopicConnection = outboundTopicConnectionFactory
> .createTopicConnection(outboundUsername,
> outboundPassword);
> } else {
> outboundTopicConnection =
> outboundTopicConnectionFactory.createTopicConnection();
> }
> }
> }
> >>>> if (localClientId != null && localClientId.length() > 0) {
> >>>> // CHECKS for existence of localClientId
> outboundTopicConnection.setClientID(getOutboundClientId());
> // THEN uses outboundClientId
> }
> outboundTopicConnection.start();
> }
> {code}
> I'm thinking the above code should check for existence of outboundClientId
> instead of localClientId
> Compare this to:
> {code}
> protected void initializeLocalTopicConnection() throws NamingException,
> JMSException {
> if (localTopicConnection == null) {
> // get the connection factories
> if (localTopicConnectionFactory == null) {
> if (embeddedConnectionFactory == null) {
> // look it up from JNDI
> if (localConnectionFactoryName != null) {
> localTopicConnectionFactory =
> (TopicConnectionFactory)jndiLocalTemplate
> .lookup(localConnectionFactoryName,
> TopicConnectionFactory.class);
> if (localUsername != null) {
> localTopicConnection = localTopicConnectionFactory
> .createTopicConnection(localUsername,
> localPassword);
> } else {
> localTopicConnection =
> localTopicConnectionFactory.createTopicConnection();
> }
> } else {
> throw new JMSException("Cannot create localConnection
> - no information");
> }
> } else {
> localTopicConnection =
> embeddedConnectionFactory.createTopicConnection();
> }
> } else {
> if (localUsername != null) {
> localTopicConnection =
> localTopicConnectionFactory.createTopicConnection(localUsername,
>
> localPassword);
> } else {
> localTopicConnection =
> localTopicConnectionFactory.createTopicConnection();
> }
> }
> }
> >>>> if (localClientId != null && localClientId.length() > 0) { //
> >>>> CHECKS for existence of localClientId
> localTopicConnection.setClientID(getLocalClientId()); //
> THEN uses localClientId
> }
> localTopicConnection.start();
> }
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira