activemq中对单独的监听器开启线程

来源:互联网 发布:从数组中删除指定元素 编辑:程序博客网 时间:2024/05/22 16:58
暂时没有参考价值
public class SubApp implements MessageListener{@AutowiredThreadPoolTaskExecutor threadPoolTaskExecutor;@Overridepublic void onMessage(Message arg0) {threadPoolTaskExecutor.execute(new InnerThread(arg0));// TODO Auto-generated method stub//try {//TimeUnit.SECONDS.sleep(2);//System.out.println("receive:"+((TextMessage)arg0).getText() );//if (1 == 1) {  //                throw new RuntimeException("Error");  //            }  //} catch (JMSException e) {//// TODO Auto-generated catch block//e.printStackTrace();//} catch (InterruptedException e) {//// TODO Auto-generated catch block//e.printStackTrace();//}}class InnerThread implements Runnable {private Message message;public InnerThread(Message message){this.message = message;}@Overridepublic void run() {// TODO Auto-generated method stubtry {TimeUnit.SECONDS.sleep(2);System.out.println("receive:"+((TextMessage)message).getText() );  } catch (JMSException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}


要保证在开启prefetch的情况下并发才有效,因为关闭预取,一次只能接收一个消息,多线程起不到作用

0 0