Example usage for org.springframework.jms.core JmsTemplate convertAndSend

List of usage examples for org.springframework.jms.core JmsTemplate convertAndSend

Introduction

In this page you can find the example usage for org.springframework.jms.core JmsTemplate convertAndSend.

Prototype

@Override
    public void convertAndSend(Object message, MessagePostProcessor postProcessor) throws JmsException 

Source Link

Usage

From source file:siia.jms.MessageDrivenPojoDemo.java

public static void main(String[] args) {
    // start the context that contains the message-driven POJO
    ApplicationContext context = new ClassPathXmlApplicationContext("siia/jms/message-driven-pojo.xml");

    // send a Message with JmsTemplate
    JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
    jmsTemplate.convertAndSend("siia.mdp.queue", "World");
}

From source file:camelpoc.AmqBrokerTest.java

@Test
public void shouldCreateAmqBroker() throws Exception {
    // Given//from   w  w  w.ja v a2  s. c  o  m
    ServiceProxy<FabricService> fabricService = ServiceProxy.createServiceProxy(bundleContext,
            FabricService.class);

    String message = "message";
    String queue = "queue";
    System.err.println(executeCommand("fabric:create -n"));
    containers = create(fabricService).withName("router-container").withProfiles("mq-amq")
            .assertProvisioningResult().build();
    ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("admin", "admin",
            "discovery:(fabric:default)");
    JmsTemplate jms = new JmsTemplate(connectionFactory);

    // When
    jms.convertAndSend(queue, message);
    String receivedMessage = (String) jms.receiveAndConvert(queue);

    // Then
    assertEquals(message, receivedMessage);
}

From source file:hello.processors.DivProcessor.java

/**
 * When you receive a message, print it out, then shut down the application.
 * Finally, clean up any ActiveMQ server stuff.
 *///from ww w .j av a 2  s .c  o  m
@JmsListener(destination = "div_queue", containerFactory = "queueJmsContainerFactory")
public void receiveMessage(String message) {
    System.out.println("Processing : " + message);
    String[] split = message.split("/");

    JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);

    try {

        Integer a = Integer.parseInt(split[0]);
        Integer b = Integer.parseInt(split[1]);

        if (b == 0) {
            jmsTemplate.convertAndSend(new ActiveMQTopic("sum_response_topic"),
                    message + " cannot divide by 0.");
        }

        Integer result = a / b;
        jmsTemplate.convertAndSend(new ActiveMQTopic("sum_response_topic"),
                message + " = " + result.toString());

    } catch (NumberFormatException e) {
        jmsTemplate.convertAndSend(new ActiveMQTopic("sum_response_topic"), "Cannot parse request: " + message);
    }
}

From source file:hello.processors.SubProcessor.java

/**
 * When you receive a message, print it out, then shut down the application.
 * Finally, clean up any ActiveMQ server stuff.
 *///from  w w w  .  j  a  v  a 2s.c  o  m
@JmsListener(destination = "sub_queue", containerFactory = "queueJmsContainerFactory")
public void receiveMessage(String message) {
    System.out.println("Processing : " + message);

    JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);

    String[] split = message.split("-");
    try {

        Integer a = Integer.parseInt(split[0]);
        Integer b = Integer.parseInt(split[1]);

        Integer result = a - b;
        jmsTemplate.convertAndSend(new ActiveMQTopic("sub_response_topic"),
                message + " = " + result.toString());

    } catch (NumberFormatException e) {
        jmsTemplate.convertAndSend(new ActiveMQTopic("sub_response_topic"), "Cannot parse request: " + message);
    }
}

From source file:hello.processors.MulProcessor.java

/**
 * When you receive a message, print it out, then shut down the application.
 * Finally, clean up any ActiveMQ server stuff.
 *//*  w  w  w . ja v a2s .  c o m*/
@JmsListener(destination = "mul_queue", containerFactory = "queueJmsContainerFactory")
public void receiveMessage(String message) {
    System.out.println("Processing : " + message);

    JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);

    String[] split = message.split("\\*");
    try {

        Integer a = Integer.parseInt(split[0]);
        Integer b = Integer.parseInt(split[1]);

        Integer result = a * b;
        jmsTemplate.convertAndSend(new ActiveMQTopic("mul_response_topic"),
                message + " = " + result.toString());

    } catch (NumberFormatException e) {
        jmsTemplate.convertAndSend(new ActiveMQTopic("mul_response_topic"), message);
    }
}

From source file:org.apache.servicemix.jms.JmsConsumerEndpointTest.java

public void testDurableConsumerDefault() throws Exception {
    JmsComponent component = new JmsComponent();
    JmsConsumerEndpoint endpoint = new JmsConsumerEndpoint();
    endpoint.setService(new QName("jms"));
    endpoint.setEndpoint("endpoint");
    endpoint.setTargetService(new QName("receiver"));
    endpoint.setListenerType("default");
    endpoint.setConnectionFactory(connectionFactory);
    endpoint.setPubSubDomain(true);/* ww  w  . j  a v a2s  . c o  m*/
    endpoint.setSubscriptionDurable(true);
    endpoint.setClientId("clientId");
    endpoint.setDestinationName("destinationTopic");
    endpoint.setCacheLevel(DefaultMessageListenerContainer.CACHE_CONNECTION);
    component.setEndpoints(new JmsConsumerEndpoint[] { endpoint });
    container.activateComponent(component, "servicemix-jms");
    Thread.sleep(500);
    container.start();

    JmsTemplate jmsTemplate = new JmsTemplate();
    jmsTemplate.setConnectionFactory(new PooledConnectionFactory(connectionFactory));
    jmsTemplate.setPubSubDomain(true);
    jmsTemplate.afterPropertiesSet();
    jmsTemplate.convertAndSend("destinationTopic", "<hello>world</hello>");
    receiver.getMessageList().assertMessagesReceived(1);
    Thread.sleep(500);
}

From source file:com.atlantbh.jmeter.plugins.jmstools.JmsUtil.java

@Override
public SampleResult runTest(JavaSamplerContext ctx) {

    SampleResult result = new SampleResult();
    result.setContentType("plain/text");
    result.setDataType(SampleResult.TEXT);
    result.setDataEncoding(SampleResult.DEFAULT_HTTP_ENCODING);

    String connectionUrl = ctx.getParameter("connection.url");
    String bindingUrl = ctx.getParameter("binding.url");
    String message = ctx.getParameter("message");

    if (connectionUrl == null || "".equals(connectionUrl)) {
        result.setSuccessful(false);/*  w ww . j  av  a  2 s. c o m*/
        result.setResponseMessage("Connection URL cannot be empty.");
        result.setResponseCode("0xDEAD");
    } else {
        if (bindingUrl == null || "".equals(bindingUrl)) {
            result.setSuccessful(false);
            result.setResponseMessage("Binding URL cannot be empty.");
            result.setResponseCode("0xDEAD");
        } else {
            try {
                ConnectionFactory connectionFactory = new AMQConnectionFactory(connectionUrl);
                AMQBindingURL burl = new AMQBindingURL(bindingUrl);

                Destination destinationProducer = new AMQAnyDestination(burl);
                JmsTemplate sender = new JmsTemplate();
                sender.setConnectionFactory(connectionFactory);
                sender.setDefaultDestination(destinationProducer);
                BinaryMessageConverter bmc = new BinaryMessageConverter();
                sender.setMessageConverter(bmc);

                BinaryMessagepostProcessor postProcessor = new BinaryMessagepostProcessor();

                sender.setDeliveryMode(2);
                int rt = 30000;
                try {
                    rt = Integer.valueOf(ctx.getParameter("receive.timeout"));
                } catch (Exception e) {
                }

                sender.setReceiveTimeout(rt);

                String direction = ctx.getParameter("direction");
                if (direction == null || "".equals(direction)) {
                    direction = "send";
                }
                if (direction.toLowerCase().equals("send")) {
                    Map<String, String> mp = getMessageProperties(ctx.getParameter("header.properties"));
                    postProcessor.setMessageProperties(mp);
                    sender.convertAndSend((Object) message, postProcessor);
                    result.setSuccessful(true);
                    result.setResponseMessage("Message sent.");
                } else {
                    if (direction.toLowerCase().equals("receive")) {

                        System.out.println("Receive");
                        String messageSelector = ctx.getParameter("message.selector");
                        System.out.println("Selector: " + messageSelector);
                        Object obj = null;
                        if (messageSelector != null && !"".equals(messageSelector)) {
                            obj = sender.receiveSelectedAndConvert(messageSelector);
                        } else {
                            obj = sender.receiveAndConvert();
                        }

                        if (obj != null) {
                            result.setSuccessful(true);
                            result.setResponseData(obj.toString().getBytes());
                            String paramName = ctx.getParameter("header.property.reference");
                            if (paramName != null && !"".equals(paramName))
                                JMeterUtils.setProperty(paramName,
                                        concatProperties(bmc.getMessageProperties()));
                        } else {
                            result.setSuccessful(false);
                            result.setResponseData("Conection timeout".getBytes());

                        }

                    } else {
                        result.setSuccessful(false);
                        result.setResponseMessage("Unknown direction.");

                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
                result.setSuccessful(!true);
                result.setResponseMessage("Exception");
                result.setResponseData(e.getMessage().getBytes());
            }

        }

    }

    return result;
}