public MessageServiceManager(ConnectionFactoryOptions jmsOptions) { queueManager = new QueueServiceManager(jmsOptions); topicManager = new TopicServiceManager(jmsOptions); }
@Override public void start() throws Exception { initDefaults(); destination = new QueueDestinationsResource(this); started = true; if (pushStoreFile != null && pushStore == null) { pushStore = new FilePushStore(pushStoreFile); } for (QueueDeployment queueDeployment : queues) { deploy(queueDeployment); } }
consumers.setConsumerTimeoutSeconds(timeoutSeconds); consumers.setDestination(queueName); consumers.setSessionFactory(manager.getConsumerSessionFactory()); consumers.setServiceManager(manager); queueResource.setConsumers(consumers); push.setSessionFactory(manager.getConsumerSessionFactory()); push.setJmsOptions(manager.getJmsOptions()); queueResource.setPushConsumers(push); sender.setDefaultDurable(defaultDurable); sender.setDestination(queueName); sender.setSessionFactory(manager.getSessionFactory()); sender.setPoolSize(manager.getProducerPoolSize()); sender.setProducerTimeToLive(manager.getProducerTimeToLive()); sender.init(); queueResource.setSender(sender); if (manager.getPushStore() != null) { push.setPushStore(manager.getPushStore()); List<PushRegistration> regs = manager.getPushStore().getByDestination(queueName); for (PushRegistration reg : regs) { push.addRegistration(reg);
@Path("/{queue-name}") public synchronized QueueResource findQueue(@PathParam("queue-name") String name) throws Exception { QueueResource queue = queues.get(name); if (queue == null) { String queueName = name; ClientSession session = manager.getSessionFactory().createSession(false, false, false); try { ClientSession.QueueQuery query = session.queueQuery(new SimpleString(queueName)); if (!query.isExists()) { throw new WebApplicationException(Response.status(404).type("text/plain").entity("Queue '" + name + "' does not exist").build()); } DestinationSettings queueSettings = manager.getDefaultSettings(); boolean defaultDurable = queueSettings.isDurableSend() || query.isDurable(); queue = createQueueResource(queueName, defaultDurable, queueSettings.getConsumerSessionTimeoutSeconds(), queueSettings.isDuplicatesAllowed()); } finally { try { session.close(); } catch (ActiveMQException e) { } } } return queue; }
@Override public void contextInitialized(ServletContextEvent contextEvent) { ServletContext context = contextEvent.getServletContext(); Registry registry = (Registry) context.getAttribute(Registry.class.getName()); if (registry == null) { throw new RuntimeException("You must install RESTEasy as a Bootstrap Listener and it must be listed before this class"); } String configfile = context.getInitParameter("rest.messaging.config.file"); deserializationBlackList = context.getInitParameter(ObjectInputStreamWithClassLoader.BLACKLIST_PROPERTY); deserializationWhiteList = context.getInitParameter(ObjectInputStreamWithClassLoader.WHITELIST_PROPERTY); manager = new MessageServiceManager(this); if (configfile != null) { manager.setConfigResourcePath(configfile); } try { manager.start(); registry.addSingletonResource(manager.getQueueManager().getDestination()); registry.addSingletonResource(manager.getTopicManager().getDestination()); } catch (Exception e) { throw new RuntimeException(e); } }
ActiveMQQueue activeMQQueue = ActiveMQDestination.createQueue(queue.getName()); String queueName = activeMQQueue.getAddress(); ClientSession session = manager.getSessionFactory().createSession(false, false, false); try {
consumers.setConsumerTimeoutSeconds(timeoutSeconds); consumers.setDestination(queueName); consumers.setSessionFactory(manager.getConsumerSessionFactory()); consumers.setServiceManager(manager); queueResource.setConsumers(consumers); push.setSessionFactory(manager.getConsumerSessionFactory()); push.setJmsOptions(manager.getJmsOptions()); queueResource.setPushConsumers(push); sender.setDefaultDurable(defaultDurable); sender.setDestination(queueName); sender.setSessionFactory(manager.getSessionFactory()); sender.setPoolSize(manager.getProducerPoolSize()); sender.setProducerTimeToLive(manager.getProducerTimeToLive()); sender.init(); queueResource.setSender(sender); if (manager.getPushStore() != null) { push.setPushStore(manager.getPushStore()); List<PushRegistration> regs = manager.getPushStore().getByDestination(queueName); for (PushRegistration reg : regs) { push.addRegistration(reg);
@Path("/{queue-name}") public synchronized QueueResource findQueue(@PathParam("queue-name") String name) throws Exception { QueueResource queue = queues.get(name); if (queue == null) { String queueName = name; ClientSession session = manager.getSessionFactory().createSession(false, false, false); try { ClientSession.QueueQuery query = session.queueQuery(new SimpleString(queueName)); if (!query.isExists()) { throw new WebApplicationException(Response.status(404).type("text/plain").entity("Queue '" + name + "' does not exist").build()); } DestinationSettings queueSettings = manager.getDefaultSettings(); boolean defaultDurable = queueSettings.isDurableSend() || query.isDurable(); queue = createQueueResource(queueName, defaultDurable, queueSettings.getConsumerSessionTimeoutSeconds(), queueSettings.isDuplicatesAllowed()); } finally { try { session.close(); } catch (ActiveMQException e) { } } } return queue; }
@Override public void contextInitialized(ServletContextEvent contextEvent) { ServletContext context = contextEvent.getServletContext(); Registry registry = (Registry) context.getAttribute(Registry.class.getName()); if (registry == null) { throw new RuntimeException("You must install RESTEasy as a Bootstrap Listener and it must be listed before this class"); } String configfile = context.getInitParameter("rest.messaging.config.file"); deserializationBlackList = context.getInitParameter(ObjectInputStreamWithClassLoader.BLACKLIST_PROPERTY); deserializationWhiteList = context.getInitParameter(ObjectInputStreamWithClassLoader.WHITELIST_PROPERTY); manager = new MessageServiceManager(this); if (configfile != null) { manager.setConfigResourcePath(configfile); } try { manager.start(); registry.addSingletonResource(manager.getQueueManager().getDestination()); registry.addSingletonResource(manager.getTopicManager().getDestination()); } catch (Exception e) { throw new RuntimeException(e); } }
ActiveMQQueue activeMQQueue = ActiveMQDestination.createQueue(queue.getName()); String queueName = activeMQQueue.getAddress(); ClientSession session = manager.getSessionFactory().createSession(false, false, false); try {
@Override public void start() throws Exception { initDefaults(); destination = new QueueDestinationsResource(this); started = true; if (pushStoreFile != null && pushStore == null) { pushStore = new FilePushStore(pushStoreFile); } for (QueueDeployment queueDeployment : queues) { deploy(queueDeployment); } }
public void start() throws Exception { embeddedActiveMQ.start(); tjws.start(); manager.start(); tjws.getDeployment().getRegistry().addSingletonResource(manager.getQueueManager().getDestination()); tjws.getDeployment().getRegistry().addSingletonResource(manager.getTopicManager().getDestination()); }
public MessageServiceManager(ConnectionFactoryOptions jmsOptions) { queueManager = new QueueServiceManager(jmsOptions); topicManager = new TopicServiceManager(jmsOptions); }
public void start() throws Exception { embeddedActiveMQ.start(); tjws.start(); manager.start(); tjws.getDeployment().getRegistry().addSingletonResource(manager.getQueueManager().getDestination()); tjws.getDeployment().getRegistry().addSingletonResource(manager.getTopicManager().getDestination()); }