Examples of BindingRecord


Examples of org.apache.qpid.server.store.berkeleydb.records.BindingRecord

            _topicExchanges = topicExchanges;
        }

        public void visit(DatabaseEntry key, DatabaseEntry value) throws DatabaseException
        {
            BindingRecord bindingRec = _bindingTB.entryToObject(key);
            AMQShortString queueName = bindingRec.getQueueName();
            AMQShortString exchangeName = bindingRec.getExchangeName();

            if (_topicExchanges.contains(exchangeName) && queueName.asString().contains(":"))
            {
                _durableSubQueues.add(queueName);
            }
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.records.BindingRecord

        }

        public void visit(DatabaseEntry key, DatabaseEntry value) throws AMQStoreException
        {
            //All the information required in binding entries is actually in the *key* not value.
            BindingRecord oldBindingRec = _oldBindingTB.entryToObject(key);

            AMQShortString queueName = oldBindingRec.getQueueName();
            AMQShortString exchangeName = oldBindingRec.getExchangeName();
            AMQShortString routingKey = oldBindingRec.getRoutingKey();
            FieldTable arguments = oldBindingRec.getArguments();

            //if the queue name is in the gathered list then inspect its binding arguments
            if (_durableSubQueues.contains(queueName))
            {
                if(arguments == null)
                {
                    arguments = new FieldTable();
                }

                if(!arguments.containsKey(_selectorFilterKey))
                {
                    //add the empty string (i.e. 'no selector') value for the selector argument
                    arguments.put(_selectorFilterKey, "");
                }
            }

            //create the binding in the new store
            _newMessageStore.bindQueue(
                    new BindingRecord(exchangeName, queueName, routingKey, arguments));
        }
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.records.BindingRecord

            while (cursor.getNext(key, value, LockMode.RMW) == OperationStatus.SUCCESS)
            {
                //yes, this is retrieving all the useful information from the key only.
                //For table compatibility it shall currently be left as is
                BindingRecord bindingRecord = binding.entryToObject(key);

                String exchangeName = bindingRecord.getExchangeName() == null ? null :
                                      bindingRecord.getExchangeName().asString();
                String queueName = bindingRecord.getQueueName() == null ? null :
                                   bindingRecord.getQueueName().asString();
                String routingKey = bindingRecord.getRoutingKey() == null ? null :
                                    bindingRecord.getRoutingKey().asString();
                ByteBuffer argumentsBB = (bindingRecord.getArguments() == null ? null :
                    java.nio.ByteBuffer.wrap(bindingRecord.getArguments().getDataAsBytes()));

                brh.binding(exchangeName, queueName, routingKey, argumentsBB);
            }
        }
        finally
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.records.BindingRecord

    /**
     * @see DurableConfigurationStore#bindQueue(Exchange, AMQShortString, AMQQueue, FieldTable)
     */
    public void bindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQStoreException
    {
        bindQueue(new BindingRecord(exchange.getNameShortString(), queue.getNameShortString(), routingKey, args));
    }
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.records.BindingRecord

    public void unbindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args)
            throws AMQStoreException
    {
        DatabaseEntry key = new DatabaseEntry();
        EntryBinding keyBinding = _bindingTupleBindingFactory.getInstance();
        keyBinding.objectToEntry(new BindingRecord(exchange.getNameShortString(), queue.getNameShortString(), routingKey, args), key);

        try
        {
            OperationStatus status = _queueBindingsDb.delete(null, key);
            if (status == OperationStatus.NOTFOUND)
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.records.BindingRecord

        {
            _log.error("Unable to create binding: " + e, e);
            return null;
        }

        return new BindingRecord(exchangeName, queueName, routingKey, arguments);
    }
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.upgrade.UpgradeFrom4To5.BindingRecord

            @Override
            public void processEntry(Database sourceDatabase, Database targetDatabase, Transaction transaction,
                    DatabaseEntry key, DatabaseEntry value)
            {
                BindingRecord bindingRecord = bindingTuple.entryToObject(key);

                AMQShortString queueName = bindingRecord.getQueueName();
                AMQShortString exchangeName = bindingRecord.getExchangeName();
                AMQShortString routingKey = bindingRecord.getRoutingKey();
                FieldTable arguments = bindingRecord.getArguments();
                queueBindings.add(new BindingRecord(exchangeName, queueName, routingKey, arguments));
            }
        };
        new DatabaseTemplate(_environment, BINDING_DB_NAME, null).run(databaseOperation);
        return queueBindings;
    }
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.upgrade.UpgradeFrom4To5.BindingRecord

    }

    private void assertBindingRecord(List<BindingRecord> queueBindings, String queueName, String exchangeName,
            String routingKey, String selectorKey)
    {
        BindingRecord record = null;
        for (BindingRecord bindingRecord : queueBindings)
        {
            if (bindingRecord.getQueueName().asString().equals(queueName)
                    && bindingRecord.getExchangeName().asString().equals(exchangeName))
            {
                record = bindingRecord;
                break;
            }
        }
        assertNotNull("Binding is not found for queue " + queueName + " and exchange " + exchangeName, record);
        assertEquals("Unexpected routing key", routingKey, record.getRoutingKey().asString());

        if (selectorKey != null)
        {
            assertEquals("Unexpected selector key for " + queueName, selectorKey,
                    record.getArguments().get(AMQPFilterTypes.JMS_SELECTOR.getValue()));
        }
    }
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.upgrade.UpgradeFrom4To5.BindingRecord

            @Override
            public void processEntry(Database sourceDatabase, Database targetDatabase, Transaction transaction,
                    DatabaseEntry key, DatabaseEntry value)
            {
                BindingRecord bindingRecord = bindingTuple.entryToObject(key);

                AMQShortString queueName = bindingRecord.getQueueName();
                AMQShortString exchangeName = bindingRecord.getExchangeName();
                AMQShortString routingKey = bindingRecord.getRoutingKey();
                FieldTable arguments = bindingRecord.getArguments();
                queueBindings.add(new BindingRecord(exchangeName, queueName, routingKey, arguments));
            }
        };
        new DatabaseTemplate(_environment, BINDING_DB_NAME, null).run(databaseOperation);
        return queueBindings;
    }
View Full Code Here

Examples of org.apache.qpid.server.store.berkeleydb.upgrade.UpgradeFrom4To5.BindingRecord

    }

    private void assertBindingRecord(List<BindingRecord> queueBindings, String queueName, String exchangeName,
            String routingKey, String selectorKey)
    {
        BindingRecord record = null;
        for (BindingRecord bindingRecord : queueBindings)
        {
            if (bindingRecord.getQueueName().asString().equals(queueName)
                    && bindingRecord.getExchangeName().asString().equals(exchangeName))
            {
                record = bindingRecord;
                break;
            }
        }
        assertNotNull("Binding is not found for queue " + queueName + " and exchange " + exchangeName, record);
        assertEquals("Unexpected routing key", routingKey, record.getRoutingKey().asString());

        if (selectorKey != null)
        {
            assertEquals("Unexpected selector key for " + queueName, selectorKey,
                    record.getArguments().get(AMQPFilterTypes.JMS_SELECTOR.getValue()));
        }
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.