[ https://issues.apache.org/jira/browse/AMQ-3635?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13192706#comment-13192706 ]
Timothy Bish commented on AMQ-3635: ----------------------------------- Looks like you might be right. A good way forward is to create a unit test that validates the problem and submit a patch that corrects it. > 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 > 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