zoukankan      html  css  js  c++  java
  • Java Messages Synchronous and Asynchronous

    //The Consumer Class Consumes Messages in a Synchronous Manner
    
    public class Consumer {
    public static void main(String[] args) {
    try {
    // Gets the JNDI context
    Context jndiContext = new InitialContext();
    // Looks up the administered objects
    ConnectionFactory connectionFactory = (ConnectionFactory) 
    jndiContext.lookup("jms/javaee7/ConnectionFactory");
    Destination queue = (Destination) jndiContext.lookup("jms/javaee7/Queue");
    // Loops to receive the messages
    try (JMSContext context = connectionFactory.createContext()) {
    while (true) {
    String message = context.createConsumer(queue).receiveBody(String.class);
    }
    }
    } catch (NamingException e) {
    e.printStackTrace();
    }
    }
    }
    //The Consumer Is a Message Listener
    
    public class Listener implements MessageListener {
    public static void main(String[] args) {
    try {
    // Gets the JNDI context
    Context jndiContext = new InitialContext();
    // Looks up the administered objects
    ConnectionFactory connectionFactory = (ConnectionFactory) 
    jndiContext.lookup("jms/javaee7/ConnectionFactory");
    Destination queue = (Destination) jndiContext.lookup("jms/javaee7/Queue");
    try (JMSContext context = connectionFactory.createContext()) {
    context.createConsumer(queue).setMessageListener(new Listener());
    }
    } catch (NamingException e) {
    e.printStackTrace();
    }
    }
    public void onMessage(Message message) {
    System.out.println("Async Message received: " + message.getBody(String.class));
    }
    }
  • 相关阅读:
    Oracle数据类型之number
    jQuery与Dom
    Tableau问题及解决办法汇总
    安装
    impala语句
    需要模拟点击爬虫小案例
    Navicat连接Oracle报错处理
    python manage.py runserver报错
    Django安装报错
    用户行为日志
  • 原文地址:https://www.cnblogs.com/rojas/p/5310745.html
Copyright © 2011-2022 走看看