messageConsumer = session.createConsumer
(destination, selector);
//接收消息之前,需要把连接启动一下
connection.start();
while (true) {
//6.接收消息 同步接收
Message message = messageConsumer.
receive();
//判断消息的类型
if (message instanceof TextMessage)
{ //判断是否是文本消息
public static string replace(string text, string repl, string with)。 string text=node.gettext()。
在system.text.encoding class中,还有很多其它有用的方法,像getchars,从一个byte[]转成一个char[],等等,还有其它编码方式的,如system.text.utf8encoding class、system.text.unicodeencoding class等,根据不同需要可选不同的class。 system.out.println(new date(system.currenttimemillis()) + "我在执行")。 system.out.println(" end time="+system.currenttimemillis())。
}
}
} catch (JMSException e) {
e.printStackTrace();
} finally {
try {
//关闭连接释放资源
if (null != messageConsumer) {
messageConsumer.close();
}
if (null != session) {
session.close();
}
if (null != connection) {
connection.close();
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}
}
2.10 ActiveMQ消息接收方式
4、 当一个线程开始执行同步代码块时,并不意味着必须以不间断的方式运行,进入同步代码块的线程可以执行thread.sleep()或者执行thread.yield()方法,此时它并不释放对象锁,只是把运行的机会让给其他的线程。4、当一个线程开始执行同步代码块时,并不意味着必须以不间断的方式运行,进入同步代码块的线程可以执行thread.sleep()或执行thread.yield()方法,此时它并不释放对象锁,只是把运行的机会让给其他的线程。同步方法和同步代码块使用与竞争资源相关的、隐式的同步监视器,并且强制要求加锁和释放锁要出现在一个块结构中,而且获得多个锁时,。上面我们已经讲了wait一定要在同步方法或者同步代码块中,源码中join方法的修饰符就是一个synchronized,表明这是一个同步的方法。
一次即结束.
异步接收:使用器接收消息,这种接收方式叫异步接收,接收端会一直处于状态,只要有消息产生,即会接收消息.
下面是异步接收代码:
packagecom.bjpowernode.activemq.listener;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-94236-11.html
哈哈
这年头
你牛