org.apache.activemq.artemis.core.persistence.QueueBindingInfo

Here are the examples of the java api class org.apache.activemq.artemis.core.persistence.QueueBindingInfo taken from open source projects.

1. PostOfficeJournalLoader#initQueues()

Project: activemq-artemis
File: PostOfficeJournalLoader.java
@Override
public void initQueues(Map<Long, QueueBindingInfo> queueBindingInfosMap, List<QueueBindingInfo> queueBindingInfos) throws Exception {
    int duplicateID = 0;
    for (QueueBindingInfo queueBindingInfo : queueBindingInfos) {
        queueBindingInfosMap.put(queueBindingInfo.getId(), queueBindingInfo);
        Filter filter = FilterImpl.createFilter(queueBindingInfo.getFilterString());
        boolean isTopicIdentification = filter != null && filter.getFilterString() != null && filter.getFilterString().toString().equals(ActiveMQServerImpl.GENERIC_IGNORED_FILTER);
        if (postOffice.getBinding(queueBindingInfo.getQueueName()) != null) {
            if (isTopicIdentification) {
                long tx = storageManager.generateID();
                storageManager.deleteQueueBinding(tx, queueBindingInfo.getId());
                storageManager.commitBindings(tx);
                continue;
            } else {
                SimpleString newName = queueBindingInfo.getQueueName().concat("-" + (duplicateID++));
                ActiveMQServerLogger.LOGGER.queueDuplicatedRenaming(queueBindingInfo.getQueueName().toString(), newName.toString());
                queueBindingInfo.replaceQueueName(newName);
            }
        }
        PageSubscription subscription = null;
        if (!isTopicIdentification) {
            subscription = pagingManager.getPageStore(queueBindingInfo.getAddress()).getCursorProvider().createSubscription(queueBindingInfo.getId(), filter, true);
        }
        Queue queue = queueFactory.createQueue(queueBindingInfo.getId(), queueBindingInfo.getAddress(), queueBindingInfo.getQueueName(), filter, subscription, queueBindingInfo.getUser(), true, false, queueBindingInfo.isAutoCreated());
        if (queueBindingInfo.isAutoCreated()) {
            queue.setConsumersRefCount(new AutoCreatedQueueManagerImpl(((PostOfficeImpl) postOffice).getServer().getJMSQueueDeleter(), queueBindingInfo.getQueueName()));
        }
        Binding binding = new LocalQueueBinding(queueBindingInfo.getAddress(), queue, nodeManager.getNodeId());
        queues.put(queueBindingInfo.getId(), queue);
        postOffice.addBinding(binding);
        managementService.registerAddress(queueBindingInfo.getAddress());
        managementService.registerQueue(queue, queueBindingInfo.getAddress(), storageManager);
    }
}