@Path("/{topic-name}") public TopicResource findTopic(@PathParam("topic-name") String name) throws Exception { TopicResource topic = topics.get(name); if (topic == null) { ClientSession session = manager.getSessionFactory().createSession(false, false, false); try { ClientSession.AddressQuery query = session.addressQuery(new SimpleString(name)); if (!query.isExists()) { System.err.println("Topic '" + name + "' does not exist"); throw new WebApplicationException(Response.status(404).type("text/plain").entity("Topic '" + name + "' does not exist").build()); } DestinationSettings queueSettings = manager.getDefaultSettings(); boolean defaultDurable = queueSettings.isDurableSend(); topic = createTopicResource(name, defaultDurable, queueSettings.getConsumerSessionTimeoutSeconds(), queueSettings.isDuplicatesAllowed()); } finally { try { session.close(); } catch (ActiveMQException e) { } } } return topic; }
threadPool.execute(timeoutTask); DestinationSettings defaultSettings = new DestinationSettings(); defaultSettings.setConsumerSessionTimeoutSeconds(configuration.getConsumerSessionTimeoutSeconds()); defaultSettings.setDuplicatesAllowed(configuration.isDupsOk()); defaultSettings.setDurableSend(configuration.isDefaultDurableSend());
threadPool.execute(timeoutTask); DestinationSettings defaultSettings = new DestinationSettings(); defaultSettings.setConsumerSessionTimeoutSeconds(configuration.getConsumerSessionTimeoutSeconds()); defaultSettings.setDuplicatesAllowed(configuration.isDupsOk()); defaultSettings.setDurableSend(configuration.isDefaultDurableSend());
@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; }
@Path("/{topic-name}") public TopicResource findTopic(@PathParam("topic-name") String name) throws Exception { TopicResource topic = topics.get(name); if (topic == null) { ClientSession session = manager.getSessionFactory().createSession(false, false, false); try { ClientSession.AddressQuery query = session.addressQuery(new SimpleString(name)); if (!query.isExists()) { System.err.println("Topic '" + name + "' does not exist"); throw new WebApplicationException(Response.status(404).type("text/plain").entity("Topic '" + name + "' does not exist").build()); } DestinationSettings queueSettings = manager.getDefaultSettings(); boolean defaultDurable = queueSettings.isDurableSend(); topic = createTopicResource(name, defaultDurable, queueSettings.getConsumerSessionTimeoutSeconds(), queueSettings.isDuplicatesAllowed()); } finally { try { session.close(); } catch (ActiveMQException e) { } } } return topic; }
@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; }