public Redistributor(final Queue queue, final StorageManager storageManager, final PostOffice postOffice, final Executor executor, final int batchSize) { this.queue = queue; this.sequentialID = storageManager.generateID(); this.storageManager = storageManager; this.postOffice = postOffice; this.executor = executor; this.batchSize = batchSize; }
public TransactionImpl(final StorageManager storageManager, final int timeoutSeconds) { this.storageManager = storageManager; xid = null; id = storageManager.generateID(); createTime = System.currentTimeMillis(); this.timeoutSeconds = timeoutSeconds; }
public TransactionImpl(final StorageManager storageManager) { this.storageManager = storageManager; xid = null; id = storageManager.generateID(); createTime = System.currentTimeMillis(); }
public TransactionImpl(final Xid xid, final StorageManager storageManager, final int timeoutSeconds) { this.storageManager = storageManager; this.xid = xid; id = storageManager.generateID(); createTime = System.currentTimeMillis(); this.timeoutSeconds = timeoutSeconds; }
@Override public long generateID() { return manager.generateID(); }
private void sendLarge(final Message message) throws Exception { // need to create the LargeMessage before continue long id = storageManager.generateID(); LargeServerMessage largeMsg = storageManager.createLargeMessage(id, message); if (logger.isTraceEnabled()) { logger.trace("sendLarge::" + largeMsg); } if (currentLargeMessage != null) { ActiveMQServerLogger.LOGGER.replacingIncompleteLargeMessage(currentLargeMessage.getMessageID()); } currentLargeMessage = largeMsg; }
@Override public void clear() throws Exception { logger.debug("DuplicateIDCacheImpl(" + this.address + ")::clear removing duplicate ID data"); synchronized (this) { if (ids.size() > 0) { long tx = storageManager.generateID(); for (Pair<ByteArrayHolder, Long> id : ids) { storageManager.deleteDuplicateIDTransactional(tx, id.getB()); } storageManager.commit(tx); } ids.clear(); cache.clear(); pos = 0; } }
public CoreMessage createServerMessage() { return new CoreMessage(server.getStorageManager().generateID(), 512); }
public CoreMessage createServerMessage() { return new CoreMessage(server.getStorageManager().generateID(), 512); }
/** * Creates a new consumer for the queue associated with a subscription */ private void createConsumerForSubscriptionQueue(Queue queue, String topic, int qos) throws Exception { long cid = session.getServer().getStorageManager().generateID(); ServerConsumer consumer = session.getServerSession().createConsumer(cid, queue.getName(), null, false, false, -1); consumer.setStarted(true); consumers.put(topic, consumer); consumerQoSLevels.put(cid, qos); }
/** * Creates a new consumer for the queue associated with a subscription */ private void createConsumerForSubscriptionQueue(Queue queue, String topic, int qos) throws Exception { long cid = session.getServer().getStorageManager().generateID(); ServerConsumer consumer = session.getServerSession().createConsumer(cid, queue.getName(), null, false, false, -1); consumer.setStarted(true); consumers.put(topic, consumer); consumerQoSLevels.put(cid, qos); }
private void createManagementConsumer() throws Exception { long consumerId = session.getServer().getStorageManager().generateID(); managementConsumer = session.getServerSession().createConsumer(consumerId, managementAddress, null, false, false, -1); managementConsumer.setStarted(true); }
private void createManagementConsumer() throws Exception { long consumerId = session.getServer().getStorageManager().generateID(); managementConsumer = session.getServerSession().createConsumer(consumerId, managementAddress, null, false, false, -1); managementConsumer.setStarted(true); }
private Message createQueueInfoMessage(final NotificationType type, final SimpleString queueName) { Message message = new CoreMessage().initBuffer(50).setMessageID(storageManager.generateID()); message.setAddress(queueName); String uid = UUIDGenerator.getInstance().generateStringUUID(); message.putStringProperty(ManagementHelper.HDR_NOTIFICATION_TYPE, new SimpleString(type.toString())); message.putLongProperty(ManagementHelper.HDR_NOTIFICATION_TIMESTAMP, System.currentTimeMillis()); message.putStringProperty(new SimpleString("foobar"), new SimpleString(uid)); return message; }
private static Message asLargeMessage(Message message, StorageManager storageManager) throws Exception { ICoreMessage coreMessage = message.toCore(); LargeServerMessage lsm = storageManager.createLargeMessage(storageManager.generateID(), coreMessage); ActiveMQBuffer buffer = coreMessage.getReadOnlyBodyBuffer(); final int readableBytes = buffer.readableBytes(); lsm.addBytes(buffer); lsm.releaseResources(); lsm.putLongProperty(Message.HDR_LARGE_BODY_SIZE, readableBytes); return lsm; }
public StompPostReceiptFunction subscribe(StompConnection connection, String subscriptionID, String durableSubscriptionName, String destination, String selector, String ack, boolean noLocal) throws Exception { StompSession stompSession = getSession(connection); stompSession.setNoLocal(noLocal); if (stompSession.containsSubscription(subscriptionID)) { throw new ActiveMQStompException(connection, "There already is a subscription for: " + subscriptionID + ". Either use unique subscription IDs or do not create multiple subscriptions for the same destination"); } long consumerID = server.getStorageManager().generateID(); return stompSession.addSubscription(consumerID, subscriptionID, connection.getClientID(), durableSubscriptionName, destination, selector, ack); }
private static ICoreMessage createServerMessage(MQTTSession session, SimpleString address, boolean retain, int qos) { long id = session.getServer().getStorageManager().generateID(); CoreMessage message = new CoreMessage(id, DEFAULT_SERVER_MESSAGE_BUFFER_SIZE, session.getCoreMessageObjectPools()); message.setAddress(address); message.putBooleanProperty(MQTT_MESSAGE_RETAIN_KEY, retain); message.putIntProperty(MQTT_QOS_LEVEL_KEY, qos); message.setType(Message.BYTES_TYPE); return message; }
private static ICoreMessage createServerMessage(MQTTSession session, SimpleString address, boolean retain, int qos) { long id = session.getServer().getStorageManager().generateID(); CoreMessage message = new CoreMessage(id, DEFAULT_SERVER_MESSAGE_BUFFER_SIZE, session.getCoreMessageObjectPools()); message.setAddress(address); message.putBooleanProperty(MQTT_MESSAGE_RETAIN_KEY, retain); message.putIntProperty(MQTT_QOS_LEVEL_KEY, qos); message.setType(Message.BYTES_TYPE); return message; }
@Override public void removeAddressInfo(final SimpleString address, final SecurityAuth auth, boolean force) throws Exception { if (auth != null) { securityStore.check(address, CheckType.DELETE_ADDRESS, auth); } AddressInfo addressInfo = getAddressInfo(address); if (postOffice.removeAddressInfo(address, force) == null) { throw ActiveMQMessageBundle.BUNDLE.addressDoesNotExist(address); } long txID = storageManager.generateID(); storageManager.deleteAddressBinding(txID, addressInfo.getId()); storageManager.commitBindings(txID); pagingManager.deletePageStore(address); }
@Override public synchronized SequentialFileFactory newFileFactory(final SimpleString address) throws Exception { String tableName = "" + storageManager.generateID(); SequentialFileFactory factory = newFileFactory(tableName, true); factory.start(); SequentialFile file = factory.createSequentialFile(PagingStoreFactoryDatabase.ADDRESS_FILE); file.open(); ActiveMQBuffer buffer = ActiveMQBuffers.fixedBuffer(SimpleString.sizeofNullableString(address)); buffer.writeSimpleString(address); file.write(buffer, true); file.close(); return factory; }