@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("/{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; }