@Override public QueueQueryResult executeQueueQuery(final SimpleString name) throws Exception { return server.queueQuery(removePrefix(name)); }
@Override public AddressQueryResult executeAddressQuery(SimpleString name) throws Exception { return server.addressQuery(removePrefix(name)); }
@Override public BindingQueryResult executeBindingQuery(final SimpleString address) throws Exception { return server.bindingQuery(removePrefix(address)); }
@Override public AddressInfo getAddress(SimpleString address) { return server.getPostOffice().getAddressInfo(removePrefix(address)); }
@Override public void deleteQueue(final SimpleString queueToDelete) throws Exception { final SimpleString unPrefixedQueueName = removePrefix(queueToDelete); Binding binding = postOffice.getBinding(unPrefixedQueueName); if (binding == null || binding.getType() != BindingType.LOCAL_QUEUE) { throw new ActiveMQNonExistentQueueException(); } server.destroyQueue(unPrefixedQueueName, this, true); TempQueueCleanerUpper cleaner = this.tempQueueCleannerUppers.remove(unPrefixedQueueName); if (cleaner != null) { remotingConnection.removeCloseListener(cleaner); remotingConnection.removeFailureListener(cleaner); } }
@Override public void requestProducerCredits(SimpleString address, final int credits) throws Exception { final SimpleString addr = removePrefix(address); PagingStore store = server.getPagingManager().getPageStore(addr); if (store == null) { callback.sendProducerCreditsMessage(credits, address); } else if (!store.checkMemory(new Runnable() { @Override public void run() { callback.sendProducerCreditsMessage(credits, address); } })) { callback.sendProducerCreditsFailMessage(credits, address); } }
private RoutingStatus handleManagementMessage(final Transaction tx, final Message message, final boolean direct) throws Exception { try { securityCheck(removePrefix(message.getAddressSimpleString()), CheckType.MANAGE, this); } catch (ActiveMQException e) { if (!autoCommitSends) { tx.markAsRollbackOnly(e); } throw e; } Message reply = managementService.handleMessage(message); SimpleString replyTo = message.getReplyTo(); if (replyTo != null) { // TODO: move this check somewhere else? this is a JMS-specific bit of logic in the core impl if (replyTo.toString().startsWith("queue://") || replyTo.toString().startsWith("topic://")) { replyTo = SimpleString.toSimpleString(replyTo.toString().substring(8)); } else if (replyTo.toString().startsWith("temp-queue://") || replyTo.toString().startsWith("temp-topic://")) { replyTo = SimpleString.toSimpleString(replyTo.toString().substring(13)); } reply.setAddress(replyTo); doSend(tx, reply, null, direct, false, routingContext); } return RoutingStatus.OK; }
@Override public void createSharedQueue(SimpleString address, SimpleString name, RoutingType routingType, SimpleString filterString, boolean durable, Integer maxConsumers, Boolean purgeOnNoConsumers, Boolean exclusive, Boolean lastValue, SimpleString lastValueKey, Boolean nonDestructive, Integer consumersBeforeDispatch, Long delayBeforeDispatch) throws Exception { address = removePrefix(address); securityCheck(address, name, durable ? CheckType.CREATE_DURABLE_QUEUE : CheckType.CREATE_NON_DURABLE_QUEUE, this); server.checkQueueCreationLimit(getUsername()); AddressSettings as = server.getAddressSettingsRepository().getMatch(address.toString()); server.createSharedQueue(address, routingType, name, filterString, SimpleString.toSimpleString(getUsername()), durable, maxConsumers == null ? as.getDefaultMaxConsumers() : maxConsumers, purgeOnNoConsumers == null ? as.isDefaultPurgeOnNoConsumers() : purgeOnNoConsumers, exclusive == null ? as.isDefaultExclusiveQueue() : exclusive, lastValue == null ? as.isDefaultLastValueQueue() : lastValue, lastValueKey == null ? as.getDefaultLastValueKey() : lastValueKey, nonDestructive == null ? as.isDefaultNonDestructive() : nonDestructive, consumersBeforeDispatch == null ? as.getDefaultConsumersBeforeDispatch() : consumersBeforeDispatch, delayBeforeDispatch == null ? as.getDefaultDelayBeforeDispatch() : delayBeforeDispatch); }
final boolean supportLargeMessage, final Integer credits) throws Exception { final SimpleString unPrefixedQueueName = removePrefix(queueName); SimpleString address = removePrefix(binding.getAddress()); if (browseOnly) { try {
final long delayBeforeDispatch, final boolean autoCreated) throws Exception { final SimpleString unPrefixedName = removePrefix(name);