public boolean init() { boolean result = super.init(); if (result) { try { initializeForeignTopicConnection(); initializeLocalTopicConnection(); initializeInboundJmsMessageConvertor(); initializeOutboundJmsMessageConvertor(); initializeInboundTopicBridges(); initializeOutboundTopicBridges(); } catch (Exception e) { LOG.error("Failed to initialize the JMSConnector", e); } } return result; }
protected void initializeOutboundTopicBridges() throws JMSException { if (outboundTopicBridges != null) { TopicSession outboundSession = outboundTopicConnection .createTopicSession(false, Session.AUTO_ACKNOWLEDGE); TopicSession localSession = localTopicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); for (int i = 0; i < outboundTopicBridges.length; i++) { OutboundTopicBridge bridge = outboundTopicBridges[i]; String localTopicName = bridge.getLocalTopicName(); Topic activemqTopic = createActiveMQTopic(localSession, localTopicName); String topicName = bridge.getOutboundTopicName(); Topic foreignTopic = createForeignTopic(outboundSession, topicName); bridge.setConsumerTopic(activemqTopic); bridge.setProducerTopic(foreignTopic); bridge.setProducerConnection(outboundTopicConnection); bridge.setConsumerConnection(localTopicConnection); if (bridge.getJmsMessageConvertor() == null) { bridge.setJmsMessageConvertor(getOutboundMessageConvertor()); } bridge.setJmsConnector(this); addOutboundBridge(bridge); } outboundSession.close(); localSession.close(); } }
protected void initializeInboundTopicBridges() throws JMSException { if (inboundTopicBridges != null) { TopicSession outboundSession = outboundTopicConnection .createTopicSession(false, Session.AUTO_ACKNOWLEDGE); TopicSession localSession = localTopicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); for (int i = 0; i < inboundTopicBridges.length; i++) { InboundTopicBridge bridge = inboundTopicBridges[i]; String localTopicName = bridge.getLocalTopicName(); Topic activemqTopic = createActiveMQTopic(localSession, localTopicName); String topicName = bridge.getInboundTopicName(); Topic foreignTopic = createForeignTopic(outboundSession, topicName); bridge.setConsumerTopic(foreignTopic); bridge.setProducerTopic(activemqTopic); bridge.setProducerConnection(localTopicConnection); bridge.setConsumerConnection(outboundTopicConnection); if (bridge.getJmsMessageConvertor() == null) { bridge.setJmsMessageConvertor(getInboundMessageConvertor()); } bridge.setJmsConnector(this); addInboundBridge(bridge); } outboundSession.close(); localSession.close(); } }
bridge.setDoHandleReplyTo(false); if (bridge.getJmsMessageConvertor() == null) { bridge.setJmsMessageConvertor(getInboundMessageConvertor()); bridge.setDoHandleReplyTo(false); if (bridge.getJmsMessageConvertor() == null) { bridge.setJmsMessageConvertor(getOutboundMessageConvertor());
public void restartProducerConnection() throws NamingException, JMSException { outboundTopicConnection = null; initializeForeignTopicConnection(); }
outboundTopicConnection.setClientID(getOutboundClientId());
localTopicConnection.setClientID(getLocalClientId());