public EngineMessageProducer(int clientID, String queueName, Session session) { this.clientID = clientID; this.queueName = queueName; this.session = session; try { // Step 1. Directly instantiate the JMS Queue object. queue = HornetQJMSClient.createQueue(queueName); if (log.isDebugEnabled()) { log.debug("Created queue named as: " + queueName); } // Step 6. Create a JMS Message Producer producer = session.createProducer(queue); if (log.isDebugEnabled()) { log.debug("Session created: " + session); } } catch (JMSException e) { log.error(e.toString(), e); } catch (Exception e) { log.error(e.toString(), e); // TODO: Restart connection...? } }
public void registerForReceivingMessages() { try { // Step 1. Directly instantiate the JMS Queue object. Queue queue = HornetQJMSClient.createQueue(systemQueueName); // Step 6. Create a JMS Message Producer producer = session.createProducer(queue); TextMessage message = session.createTextMessage("register:" + propertiesBean.getProperty("engine.unique.id")); // Step 8. Send the Message producer.send(message); log.debug("Registration message[{}] has been sent.", message.getText()); Thread.sleep(1000); // Execute receiver messageReceiver.setUp( "queue" + propertiesBean.getProperty("engine.unique.id"), session); // taskExecutorMessageProcess.execute(messageReceiver); messageReceiver.run(); receivingMessages = true; // TODO: Put a while loop here? As same as in the // "public void initiateConnection() {...}" ? } catch (Exception e) { log.error(e.toString(), e); } }
try { queue = HornetQJMSClient.createQueue(queueName);
Queue queue = HornetQJMSClient.createQueue(queueName);
QueueConnection connection = queueConnectionFactory.createQueueConnection(); Queue managementQueue = HornetQJMSClient.createQueue("hornetq.management"); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); connection.start();
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final String name = context.getCurrentAddressValue(); final ServiceTarget serviceTarget = context.getServiceTarget(); final ServiceName serviceName = MessagingServices.getActiveMQServiceName(context.getCurrentAddress()); final ModelNode selectorNode = SELECTOR.resolveModelAttribute(context, model); final boolean durable = DURABLE.resolveModelAttribute(context, model).asBoolean(); final String selector = selectorNode.isDefined() ? selectorNode.asString() : null; // Do not pass the JNDI bindings to ActiveMQ but install them directly instead so that the // dependencies from the BinderServices to the JMSQueueService are not broken Service<Queue> queueService = JMSQueueService.installService(name, serviceTarget, serviceName, selector, durable); final ServiceName jmsQueueServiceName = JMSServices.getJmsQueueBaseServiceName(serviceName).append(name); for (String entry : CommonAttributes.DESTINATION_ENTRIES.unwrap(context, model)) { BinderServiceUtil.installBinderService(serviceTarget, entry, queueService, jmsQueueServiceName); } List<String> legacyEntries = CommonAttributes.LEGACY_ENTRIES.unwrap(context, model); if (!legacyEntries.isEmpty()) { Queue legacyQueue = HornetQJMSClient.createQueue(name); for (String legacyEntry : legacyEntries) { BinderServiceUtil.installBinderService(serviceTarget, legacyEntry, legacyQueue); } } } }
@Override protected void performRuntime(OperationContext context, ModelNode operation, ModelNode model) throws OperationFailedException { final String name = context.getCurrentAddressValue(); final ServiceTarget serviceTarget = context.getServiceTarget(); final ServiceName serviceName = MessagingServices.getActiveMQServiceName(context.getCurrentAddress()); final ModelNode selectorNode = SELECTOR.resolveModelAttribute(context, model); final boolean durable = DURABLE.resolveModelAttribute(context, model).asBoolean(); final String selector = selectorNode.isDefined() ? selectorNode.asString() : null; // Do not pass the JNDI bindings to ActiveMQ but install them directly instead so that the // dependencies from the BinderServices to the JMSQueueService are not broken Service<Queue> queueService = JMSQueueService.installService(name, serviceTarget, serviceName, selector, durable); final ServiceName jmsQueueServiceName = JMSServices.getJmsQueueBaseServiceName(serviceName).append(name); for (String entry : CommonAttributes.DESTINATION_ENTRIES.unwrap(context, model)) { BinderServiceUtil.installBinderService(serviceTarget, entry, queueService, jmsQueueServiceName); } List<String> legacyEntries = CommonAttributes.LEGACY_ENTRIES.unwrap(context, model); if (!legacyEntries.isEmpty()) { Queue legacyQueue = HornetQJMSClient.createQueue(name); for (String legacyEntry : legacyEntries) { BinderServiceUtil.installBinderService(serviceTarget, legacyEntry, legacyQueue); } } } }