Package org.apache.qpid.server

Examples of org.apache.qpid.server.AMQChannel


     * @throws Exception
     */
    public void testMessageCountAlert() throws Exception
    {
        setSession(new InternalTestProtocolSession(getVirtualHost()));
        AMQChannel channel = new AMQChannel(getSession(), 2, getMessageStore());
        getSession().addChannel(channel);

        setQueue(AMQQueueFactory.createAMQQueueImpl(new AMQShortString("testQueue1"), false, new AMQShortString("AMQueueAlertTest"),
                              false, false,
                getVirtualHost(), null));
View Full Code Here


     * @throws Exception
     */
    public void testMessageSizeAlert() throws Exception
    {
        setSession(new InternalTestProtocolSession(getVirtualHost()));
        AMQChannel channel = new AMQChannel(getSession(), 2, getMessageStore());
        getSession().addChannel(channel);

        setQueue(AMQQueueFactory.createAMQQueueImpl(new AMQShortString("testQueue2"), false, new AMQShortString("AMQueueAlertTest"),
                              false, false,
                getVirtualHost(), null));
View Full Code Here

     * @throws Exception
     */
    public void testQueueDepthAlertNoSubscriber() throws Exception
    {
        setSession(new InternalTestProtocolSession(getVirtualHost()));
        AMQChannel channel = new AMQChannel(getSession(), 2, getMessageStore());
        getSession().addChannel(channel);

        setQueue(AMQQueueFactory.createAMQQueueImpl(new AMQShortString("testQueue3"), false, new AMQShortString("AMQueueAlertTest"),
                              false, false,
                getVirtualHost(), null));
View Full Code Here

     * @throws Exception
     */
    public void testMessageAgeAlert() throws Exception
    {
        setSession(new InternalTestProtocolSession(getVirtualHost()));
        AMQChannel channel = new AMQChannel(getSession(), 2, getMessageStore());
        getSession().addChannel(channel);

        setQueue(AMQQueueFactory.createAMQQueueImpl(new AMQShortString("testQueue4"), false, new AMQShortString("AMQueueAlertTest"),
                              false, false,
                getVirtualHost(), null));
View Full Code Here

     The QueueDepth should decrease when messages are delivered from the queue (QPID-408)
    */
    public void testQueueDepthAlertWithSubscribers() throws Exception
    {
        AMQChannel channel = new AMQChannel(getSession(), 2, getMessageStore());
        getSession().addChannel(channel);

        // Create queue
        setQueue(getNewQueue());
        Subscription subscription =
                SUBSCRIPTION_FACTORY.createSubscription(channel.getChannelId(), getSession(), new AMQShortString("consumer_tag"), true, null, false, channel.getCreditManager());

        getQueue().registerSubscription(
                subscription, false);

        _queueMBean = (AMQQueueMBean) getQueue().getManagedObject();
        _queueMBean.setMaximumMessageCount(9999l);   // Set a high value, because this is not being tested
        _queueMBean.setMaximumQueueDepth(MAX_QUEUE_DEPTH);

        // Send messages(no of message to be little more than what can cause a Queue_Depth alert)
        int messageCount = Math.round(MAX_QUEUE_DEPTH / MAX_MESSAGE_SIZE) + 10;
        long totalSize = (messageCount * MAX_MESSAGE_SIZE);
        sendMessages(channel, messageCount, MAX_MESSAGE_SIZE);

        // Check queueDepth. There should be no messages on the queue and as the subscriber is listening
        // so there should be no Queue_Deoth alert raised
        assertEquals(new Long(totalSize), new Long(_queueMBean.getQueueDepth()));
        Notification lastNotification = _queueMBean.getLastNotification();
//        assertNull(lastNotification);

        // Kill the subscriber and check for the queue depth values.
        // Messages are unacknowledged, so those should get requeued. All messages should be on the Queue
        getQueue().unregisterSubscription(subscription);
        channel.requeue();

        assertEquals(new Long(totalSize), new Long(_queueMBean.getQueueDepth()));

        lastNotification = _queueMBean.getLastNotification();
        assertNotNull(lastNotification);
        String notificationMsg = lastNotification.getMessage();
        assertTrue(notificationMsg.startsWith(NotificationCheck.QUEUE_DEPTH_ALERT.name()));

        // Connect a consumer again and check QueueDepth values. The queue should get emptied.
        // Messages will get delivered but still are unacknowledged.
        Subscription subscription2 =
                SUBSCRIPTION_FACTORY.createSubscription(channel.getChannelId(), getSession(), new AMQShortString("consumer_tag"), true, null, false, channel.getCreditManager());

        getQueue().registerSubscription(
                subscription2, false);

        while (getQueue().getUndeliveredMessageCount()!= 0)
        {
            Thread.sleep(100);
        }
//        assertEquals(new Long(0), new Long(_queueMBean.getQueueDepth()));

        // Kill the subscriber again. Now those messages should get requeued again. Check if the queue depth
        // value is correct.
        getQueue().unregisterSubscription(subscription2);
        channel.requeue();

        assertEquals(new Long(totalSize), new Long(_queueMBean.getQueueDepth()));
        getSession().closeSession();

        // Check the clear queue
View Full Code Here

        _session = new InternalTestProtocolSession();

        _session.setVirtualHost(_virtualHost);

        _channel = new AMQChannel(_session, 1, _messageStore);

        _session.addChannel(_channel);
    }
View Full Code Here

    }

    public void contentHeaderReceived(int channelId, ContentHeaderBody body) throws AMQException
    {

        AMQChannel channel = getAndAssertChannel(channelId);

        channel.publishContentHeader(body);

    }
View Full Code Here

    }

    public void contentBodyReceived(int channelId, ContentBody body) throws AMQException
    {
        AMQChannel channel = getAndAssertChannel(channelId);

        channel.publishContentBody(body);
    }
View Full Code Here

        return new ArrayList<AMQChannel>(_channelMap.values());
    }

    public AMQChannel getAndAssertChannel(int channelId) throws AMQException
    {
        AMQChannel channel = getChannel(channelId);
        if (channel == null)
        {
            throw new AMQException(AMQConstant.NOT_FOUND, "Channel not found with id:" + channelId);
        }
View Full Code Here

        return channel;
    }

    public AMQChannel getChannel(int channelId) throws AMQException
    {
        final AMQChannel channel =
                ((channelId & CHANNEL_CACHE_SIZE) == channelId) ? _cachedChannels[channelId] : _channelMap.get(channelId);
        if ((channel == null) || channel.isClosing())
        {
            return null;
        }
        else
        {
View Full Code Here

TOP

Related Classes of org.apache.qpid.server.AMQChannel

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.