public static void releaseHazelcastMQContext( HazelcastMQContext mqContext, HazelcastMQInstance hazelcastMQInstance) { mqContext.close(); }
/** * Constructs the reply manager which will listen for replies on the given * destination. If the destination is null, a temporary reply queue will be * created and managed by the reply manager. * * @param replyToDest the reply to destination or null * @param mqInstance the HzMq instance brokering all replies */ public ReplyManager(String replyToDest, HazelcastMQInstance mqInstance) { this.pendingReplyMap = new ConcurrentHashMap<>(); this.nextExpiration = new AtomicLong(Long.MAX_VALUE); this.mqContext = mqInstance.createContext(); mqContext.setAutoStart(false); // If we don't have an exclusive reply queue, create a temporary queue. this.replyToDestination = replyToDest == null ? mqContext.createTemporaryQueue() : replyToDest; this.mqConsumer = mqContext.createConsumer(this.replyToDestination); mqConsumer.setMessageListener(this); }
@Override public MessageProducer createProducer(Destination destination) throws JMSException { HazelcastMQProducer mqProducer = mqContext.createProducer(); HazelcastMQJmsMessageProducer producer = new HazelcastMQJmsMessageProducer( mqProducer, this, destination); return producer; }
private void sendAndReceiveOnSingleOtherNode(ClusterNode node1, ClusterNode node3) { HazelcastMQProducer mqProducer = node1.getMqContext().createProducer(); mqProducer.send(destination, "Hello " + msgCounter++); HazelcastMQConsumer mqConsumer = node3.getMqContext().createConsumer( destination); String msg = new String(mqConsumer.receiveBody(1, TimeUnit.SECONDS)); log.info("Got message on node 3: " + msg); mqConsumer.close(); }
HazelcastMQContext mqConsumerContext3 = mqInstance.createContext(); HazelcastMQProducer mqProducer = mqProducerContext.createProducer(); .createConsumer(destination); mqConsumer1.setMessageListener(this); .createConsumer(destination); mqConsumer2.setMessageListener(this); .createConsumer(destination); mqConsumer3.setMessageListener(this); mqConsumer2.close(); mqConsumer3.close(); mqProducerContext.close(); mqConsumerContext1.close(); mqConsumerContext2.close(); mqConsumerContext3.close(); mqInstance.shutdown();
HazelcastMQContext mqContext = mqInstance.createContext(); HazelcastMQProducer mqProducer = mqContext.createProducer(); .createConsumer("/queue/example.dest"); mqContext.stop(); mqContext.close(); mqInstance.shutdown();
String replyDest = mqContext.createTemporaryQueue(); HazelcastMQProducer mqProducer = mqContext.createProducer(requestDest); mqProducer.send(msg); mqContext.createConsumer(requestDest)) { mqProducer = mqContext.createProducer(rd); mqProducer.send(msg); mqContext.createConsumer(replyDest)) { mqContext.stop();
HazelcastMQContext context1 = node1.createContext(true); HazelcastMQProducer producer = context1.createProducer(); HazelcastMQConsumer consumer = context2.createConsumer(queueName); context1.commit(); context1.commit(); log.info("Got message body: " + new String(msg.getBody())); context1.close(); context2.close();
HazelcastMQProducer producer = context1.createProducer(); HazelcastMQConsumer consumer1 = context1.createConsumer(destination); HazelcastMQConsumer consumer2 = context2.createConsumer(destination); context2.rollback(); context1.close(); context2.close();
mqContext.start(); HazelcastMQProducer mqProducer = mqContext.createProducer(); mqProducer.setTimeToLive(3000); mqProducer.send(destination, "I only have a few seconds to live!"); HazelcastMQConsumer mqConsumer = mqContext.createConsumer(destination); byte[] msgBody = mqConsumer.receiveBodyNoWait(); Assert.isNull(msgBody, "Received message that should have expired.");
HazelcastMQProducer mqProducer = mqContext.createProducer(); mqContext.stop(); mqContext.close(); mqInstance.shutdown();
/** * Starts this session. This method must be called by the connection when it * is started. */ void start() { mqContext.start(); }
/** * Constructs the relayer which will immediately create a context and begin * listening for messages. */ public TopicMessageRelayer() { context = createContext(); consumer = context.createConsumer(TXN_TOPIC_QUEUE_DESTINATION); consumer.setMessageListener(this); }
HazelcastMQConsumer consumer = context2.createConsumer(queueName); context2.close();
/** * Constructs the consumer. The consumer will not start listening for * messages until it is started. * * @param config the component configuration * @param endpoint the endpoint that the consumer belongs to */ public SingleThreadedConsumer(HazelcastMQCamelConfig config, HazelcastMQCamelEndpoint endpoint) { this.mqContext = config.getHazelcastMQInstance().createContext(); this.mqContext.setAutoStart(false); this.mqConsumer = mqContext.createConsumer(endpoint.getDestination()); this.mqConsumer.setMessageListener(this); }
mqContext.createConsumer("/queue/example.dest")) { mqContext.stop();
@Override public void commit() throws JMSException { mqContext.commit(); }
@Override public void rollback() throws JMSException { mqContext.rollback(); }
/** * Stops this session. This method must be called by the connection when it is * stopped. */ void stop() { mqContext.stop(); }
TemporaryQueue createTemporaryQueue() { String destinationName = mqContext.createTemporaryQueue(); String queueName = destinationName .substring(Headers.DESTINATION_TEMPORARY_QUEUE_PREFIX.length()); HazelcastMQJmsTemporaryQueue queue = new HazelcastMQJmsTemporaryQueue(this, queueName); temporaryDestinationMap.put(queue.getMqName(), queue); return queue; }