首页 / JAVA / JMS客户端独立Java程序
JMS客户端独立Java程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JMS客户端独立Java程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1487字,纯文字阅读大概需要3分钟。
内容图文
![JMS客户端独立Java程序](/upload/InfoBanner/zyjiaocheng/808/201923de2cbf422fb04427dbdad93203.jpg)
我想使用一个独立的java程序来轮询和检索来自JMS队列的消息而不是MDB.可能吗?
如果是,是否可以共享任何示例/链接?谢谢.
问候,V
解决方法:
我同意Spring JMS很简单的另一个响应(让你知道一点Spring,并拥有框架)但是它也很简单.只需在main中编写一些代码来设置ConnectionFactory,Connection和Session,例如看到
http://download.oracle.com/javaee/1.4/tutorial/doc/JMS4.html
您可以从JNDI查找ConnectionFactory,也可以自己实例化特定于提供者的ConnectionFactory;例如对于WebSphere MQ,您可以编写如下内容:
MQConnectionFactory cf = new MQConnectionFactory();
cf.setHostName(HOSTNAME);
cf.setPort(PORT);
cf.setChannel(CHANNEL);
cf.setTransportType(WMQConstants.WMQ_CM_CLIENT);
(其他提供商可用,我只是不能编写我的头顶上的代码:)然后标准JMS
Connection c = cf.createConnection();
Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue q = s.createQueue("myQueue");
MessageConsumer c = s.createConsumer(q);
此时你有两个选择.您可以创建一个javax.jms.MessageListener实现并在MessageConsumer上设置它,或者如果您想要更直接的控制,您可以启动一个使用MessageConsumer进行get-with-wait的线程(receive(int timeout) )或没有等待获得(receiveNoWait())然后睡觉直到下一次接收.不要使用receive(),但这对JMS来说绝不是一个好主意.如果您需要多个轮询线程,则应检查JMS会话/使用者对象的并发限制.
如果您想要发生任何事情,请不要忘记在完成设置后调用Connection.start()
优点是你只需要你的JMS提供者.jars在类路径上,没有框架等.缺点是它比Spring更复杂,它提供了相当优雅的解决方案 – 注意这里有多少设置代码,相比Spring提取的摘要一切都好.真的取决于你的喜好,其他要求等.
内容总结
以上是互联网集市为您收集整理的JMS客户端独立Java程序全部内容,希望文章能够帮你解决JMS客户端独立Java程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。