Package com.muleinaction

Source Code of com.muleinaction.RawJmsMuleClientTest

package com.muleinaction;

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.commons.lang.RandomStringUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mule.api.MuleMessage;
import org.mule.module.client.MuleClient;

public class RawJmsMuleClientTest
{
    public static final String BROKER_URL = "tcp://localhost:52525";

    private BrokerService amqBroker;

    private String queueName;

    private String expectedPayload;

    @Before
    public void initializeActiveMQ() throws Exception
    {
        expectedPayload = RandomStringUtils.randomAlphanumeric(10);

        amqBroker = new BrokerService();
        amqBroker.addConnector(BROKER_URL);
        amqBroker.start();

        queueName = "queue." + RandomStringUtils.randomAlphanumeric(10);

        // load a message in the test queue so we can fetch it via the remote
        // client
        final ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
            BROKER_URL);

        final Connection connection = connectionFactory.createConnection();

        final Session session = connection.createSession(false,
            Session.AUTO_ACKNOWLEDGE);

        session.createProducer(session.createQueue(queueName)).send(
            session.createTextMessage(expectedPayload));

        connection.close();
    }

    @After
    public void disposeActiveMQ() throws Exception
    {
        amqBroker.stop();
    }

    @Test
    public void tapJmsTransport() throws Exception
    {
        //<start id="lis_12_raw-jms"/>
        MuleClient muleClient = new MuleClient("raw-jms-muleclient-config.xml");//<co id="lis_12_raw-jms_1"/>

        muleClient.getMuleContext().start();//<co id="lis_12_raw-jms_2"/>

        MuleMessage response = muleClient.request(
            "jms://" + queueName + "?connector=amqConnector", 1000);//<co id="lis_12_raw-jms_3"/>

        muleClient.getMuleContext().dispose();//<co id="lis_12_raw-jms_4"/>
        muleClient.dispose();
        //<end id="lis_12_raw-jms"/>

        final String actualPayload = response.getPayloadAsString();

        assertThat(expectedPayload, is(actualPayload));
    }
}
TOP

Related Classes of com.muleinaction.RawJmsMuleClientTest

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.