public void start() throws JMSException { try { if (!started.get()) { targetProducer.start(); started.set(true); } } catch (MQClientException ex) { throw JMSExceptionSupport.create(ex); } }
@Override public void close() throws JMSException { try { if (started.get()) { targetProducer.shutdown(); targetProducer = null; session.removeProducer(this); started.set(false); } } catch (Exception ex) { throw JMSExceptionSupport.create(ex); } }
@Override public void send( Destination destination, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException { message.setJMSDestination(destination); com.alibaba.rocketmq.common.message.Message convertedMsg = ((MessageBase) message).convert(); try { if (!started.get()) { targetProducer.start(); started.set(true); } targetProducer.send(convertedMsg); } catch (Exception ex) { throw JMSExceptionSupport.create(ex); } }