Package org.apache.qpid.server.store

Examples of org.apache.qpid.server.store.MessageStore


     * interrogating the store with its own implementation methods and verifying
     * expected exceptions are thrown to indicate the message is not present.
     */
    public void testMessageCreationAndRemoval() throws Exception
    {
        MessageStore store = getVirtualHost().getMessageStore();
        AbstractBDBMessageStore bdbStore = assertBDBStore(store);

        StoredMessage<MessageMetaData> storedMessage_0_8 = createAndStoreSingleChunkMessage_0_8(store);
        long messageid_0_8 = storedMessage_0_8.getMessageNumber();

View Full Code Here


     * in the TransactionLog interface implemented by the store, and verifying the
     * behaviour using BDB implementation methods.
     */
    public void testTranCommit() throws Exception
    {
        MessageStore log = getVirtualHost().getMessageStore();

        AbstractBDBMessageStore bdbStore = assertBDBStore(log);

        final UUID mockQueueId = UUIDGenerator.generateRandomUUID();
        TransactionLogResource mockQueue = new TransactionLogResource()
        {
            @Override
            public String getName()
            {
                return getId().toString();
            }

            @Override
            public UUID getId()
            {
                return mockQueueId;
            }

            @Override
            public boolean isDurable()
            {
                return true;
            }
        };

        Transaction txn = log.newTransaction();

        txn.enqueueMessage(mockQueue, new MockMessage(1L));
        txn.enqueueMessage(mockQueue, new MockMessage(5L));
        txn.commitTran();

View Full Code Here

     * implemented by the store, and verifying the behaviour using BDB
     * implementation methods.
     */
    public void testTranRollbackBeforeCommit() throws Exception
    {
        MessageStore log = getVirtualHost().getMessageStore();

        AbstractBDBMessageStore bdbStore = assertBDBStore(log);

        final UUID mockQueueId = UUIDGenerator.generateRandomUUID();
        TransactionLogResource mockQueue = new TransactionLogResource()
        {
            @Override
            public String getName()
            {
                return getId().toString();
            }

            @Override
            public UUID getId()
            {
                return mockQueueId;
            }

            @Override
            public boolean isDurable()
            {
                return true;
            }
        };

        Transaction txn = log.newTransaction();

        txn.enqueueMessage(mockQueue, new MockMessage(21L));
        txn.abortTran();

        txn = log.newTransaction();
        txn.enqueueMessage(mockQueue, new MockMessage(22L));
        txn.enqueueMessage(mockQueue, new MockMessage(23L));
        txn.commitTran();

        List<Long> enqueuedIds = bdbStore.getEnqueuedMessages(mockQueueId);
View Full Code Here

        assertEquals("Second Message is incorrect", 23L, val.longValue());
    }

    public void testOnDelete() throws Exception
    {
        MessageStore log = getVirtualHost().getMessageStore();
        AbstractBDBMessageStore bdbStore = assertBDBStore(log);
        String storeLocation = bdbStore.getStoreLocation();

        File location = new File(storeLocation);
        assertTrue("Store does not exist at " + storeLocation, location.exists());
View Full Code Here

     * implemented by the store, and verifying the behaviour using BDB
     * implementation methods.
     */
    public void testTranRollbackAfterCommit() throws Exception
    {
        MessageStore log = getVirtualHost().getMessageStore();

        AbstractBDBMessageStore bdbStore = assertBDBStore(log);

        final UUID mockQueueId = UUIDGenerator.generateRandomUUID();
        TransactionLogResource mockQueue = new TransactionLogResource()
        {
            @Override
            public String getName()
            {
                return getId().toString();
            }

            @Override
            public UUID getId()
            {
                return mockQueueId;
            }

            @Override
            public boolean isDurable()
            {
                return true;
            }
        };

        Transaction txn = log.newTransaction();

        txn.enqueueMessage(mockQueue, new MockMessage(30L));
        txn.commitTran();

        txn = log.newTransaction();
        txn.enqueueMessage(mockQueue, new MockMessage(31L));
        txn.abortTran();

        txn = log.newTransaction();
        txn.enqueueMessage(mockQueue, new MockMessage(32L));
        txn.commitTran();

        List<Long> enqueuedIds = bdbStore.getEnqueuedMessages(mockQueueId);

View Full Code Here

        return Collections.unmodifiableCollection(exchangeTypes);
    }

    public void executeTransaction(TransactionalOperation op)
    {
        MessageStore store = _virtualHost.getMessageStore();
        final LocalTransaction txn = new LocalTransaction(store);

        op.withinTransaction(new Transaction()
        {
            public void dequeue(final MessageInstance entry)
View Full Code Here

    private MessageStore initialiseMessageStore(VirtualHostConfiguration hostConfig, VirtualHost virtualHost)
    {
        final Object storeTypeAttr = virtualHost.getAttribute(VirtualHost.STORE_TYPE);
        String storeType = storeTypeAttr == null ? null : String.valueOf(storeTypeAttr);
        MessageStore  messageStore = null;
        if (storeType == null)
        {
            try
            {
                final Class<?> clazz = Class.forName(hostConfig.getMessageStoreClass());
                final Object o = clazz.newInstance();

                if (!(o instanceof MessageStore))
                {
                    throw new ClassCastException(clazz + " does not implement " + MessageStore.class);
                }

                messageStore = (MessageStore) o;
            }
            catch (ClassNotFoundException e)
            {
                throw new ServerScopedRuntimeException("Failed to fina virtual host message store implementation, " +
                                                       "check the classpath and the configuration", e);
            }
            catch (InstantiationException e)
            {
                throw new ServerScopedRuntimeException("Failed to initialise virtual host store, " +
                                                       "check the configuration", e);
            }
            catch (IllegalAccessException e)
            {
                throw new ServerScopedRuntimeException("Failed to initialise virtual host store, " +
                                                       "check the configuration", e);
            }
        }
        else
        {
            messageStore = new MessageStoreCreator().createMessageStore(storeType);
        }

        final
        MessageStoreLogSubject
                storeLogSubject = new MessageStoreLogSubject(getName(), messageStore.getClass().getSimpleName());
        OperationalLoggingListener.listen(messageStore, storeLogSubject, getEventLogger());

        return messageStore;
    }
View Full Code Here

                if (_virtualHost.getState() == org.apache.qpid.server.virtualhost.State.ACTIVE)
                {
                    setDesiredState(currentState, State.STOPPED);
                }

                MessageStore ms = _virtualHost.getMessageStore();
                if (ms != null)
                {
                    try
                    {
                        ms.onDelete();
                    }
                    catch(Exception e)
                    {
                        LOGGER.warn("Exception occurred on store deletion", e);
                    }
View Full Code Here

            exception(ssn, xfr, errorCode, e.getMessage());

            return;
        }

        final MessageStore store = virtualHost.getMessageStore();
        final StoredMessage<MessageMetaData_0_10> storeMessage = createStoreMessage(xfr, messageMetaData, store);
        final ServerSession serverSession = (ServerSession) ssn;
        final MessageTransferMessage message = new MessageTransferMessage(storeMessage, serverSession.getReference());
        MessageReference<MessageTransferMessage> reference = message.newReference();
View Full Code Here

            throw new AMQException("Topics cannot be bound. TODO Register valid topic");
        }

        //Get references to Broker Registries
        QueueRegistry queueRegistry = ApplicationRegistry.getInstance().getQueueRegistry();
        MessageStore messageStore = ApplicationRegistry.getInstance().getMessageStore();
        ExchangeRegistry exchangeRegistry = ApplicationRegistry.getInstance().getExchangeRegistry();

        synchronized (queueRegistry)
        {
            AMQQueue queue = queueRegistry.getQueue(queueName);

            if (queue == null)
            {
                _logger.info("Queue '" + binding.getQueueName() + "' does not exists. Creating.");

                queue = new AMQQueue(queueName,
                        Boolean.parseBoolean(binding.getOption(AMQBindingURL.OPTION_DURABLE)),
                        null /* These queues will have no owner */,
                        false /* Therefore autodelete makes no sence */, queueRegistry);

                if (queue.isDurable())
                {
                    messageStore.createQueue(queue);
                }

                queueRegistry.registerQueue(queue);
            }
            else
View Full Code Here

TOP

Related Classes of org.apache.qpid.server.store.MessageStore

Copyright © 2018 www.massapicom. 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.