public boolean init() { boolean result = super.init(); if (result) { try { initializeForeignQueueConnection(); initializeLocalQueueConnection(); initializeInboundJmsMessageConvertor(); initializeOutboundJmsMessageConvertor(); initializeInboundQueueBridges(); initializeOutboundQueueBridges(); } catch (Exception e) { LOG.error("Failed to initialize the JMSConnector", e); } } return result; }
protected void initializeOutboundQueueBridges() throws JMSException { if (outboundQueueBridges != null) { QueueSession outboundSession = outboundQueueConnection .createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSession localSession = localQueueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); for (int i = 0; i < outboundQueueBridges.length; i++) { OutboundQueueBridge bridge = outboundQueueBridges[i]; String localQueueName = bridge.getLocalQueueName(); Queue activemqQueue = createActiveMQQueue(localSession, localQueueName); String queueName = bridge.getOutboundQueueName(); Queue foreignQueue = createForeignQueue(outboundSession, queueName); bridge.setConsumerQueue(activemqQueue); bridge.setProducerQueue(foreignQueue); bridge.setProducerConnection(outboundQueueConnection); bridge.setConsumerConnection(localQueueConnection); if (bridge.getJmsMessageConvertor() == null) { bridge.setJmsMessageConvertor(getOutboundMessageConvertor()); } bridge.setJmsConnector(this); addOutboundBridge(bridge); } outboundSession.close(); localSession.close(); } }
protected void initializeInboundQueueBridges() throws JMSException { if (inboundQueueBridges != null) { QueueSession outboundSession = outboundQueueConnection .createQueueSession(false, Session.AUTO_ACKNOWLEDGE); QueueSession localSession = localQueueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); for (int i = 0; i < inboundQueueBridges.length; i++) { InboundQueueBridge bridge = inboundQueueBridges[i]; String localQueueName = bridge.getLocalQueueName(); Queue activemqQueue = createActiveMQQueue(localSession, localQueueName); String queueName = bridge.getInboundQueueName(); Queue foreignQueue = createForeignQueue(outboundSession, queueName); bridge.setConsumerQueue(foreignQueue); bridge.setProducerQueue(activemqQueue); bridge.setProducerConnection(localQueueConnection); bridge.setConsumerConnection(outboundQueueConnection); 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 { outboundQueueConnection = null; initializeForeignQueueConnection(); // the outboundQueueConnection was reestablished - publish the new connection to the bridges if (inboundQueueBridges != null) { for (int i = 0; i < inboundQueueBridges.length; i++) { InboundQueueBridge bridge = inboundQueueBridges[i]; bridge.setConsumerConnection(outboundQueueConnection); } } if (outboundQueueBridges != null) { for (int i = 0; i < outboundQueueBridges.length; i++) { OutboundQueueBridge bridge = outboundQueueBridges[i]; bridge.setProducerConnection(outboundQueueConnection); } } }
outboundQueueConnection.setClientID(getOutboundClientId());
localQueueConnection.setClientID(getLocalClientId());