62,621
社区成员
发帖
与我相关
我的任务
分享 consumer.setMessageListener(new MessageListener(){
public void onMessage(Message msg){
TextMessage text = (TextMessage) msg;
try {
System.out.println(text.getText()+"..恩,我收到了");
Destination replyTo = msg.getJMSReplyTo();
if(replyTo != null){
Message replyMessage = session.createTextMessage(text.getText()+"的消息已被接受");
String correlationID = msg.getJMSMessageID();
replyMessage.setJMSCorrelationID(correlationID);
MessageProducer producer = session.createProducer(replyTo);
producer.send(replyMessage);
}
session.commit();//在事务提交的时候,表示数据签收了,不签收表示数据还会存在
} catch (JMSException e) {
e.printStackTrace();
}
}
});仔细研究了下,这主要是session.commit的原因,他每接受一次都要提交一次,所以导致速率下降,我把它去掉了,速度是达到了要求,可他没有对队列里的信息进行确认,导致他队列里的信息以为没有被接受,所以下次接受的时候还能在接受一遍,求大神赐教该怎么解决速度的问题,并能让消息同时确认了