JMS,Queue,阻塞队列发生异常(JBOSS环境)
具体情况是这样的.
使用JBOSS AS 7.JMS,使用PTP的Queue.
正常情况下,队列的消息都是按序发送,读取的.
现在JBOSS的JMS里有10条消息,从1~~10. 1为第一条数据.
但是在读取JBOSS的第一条数据"1"的时候,读取失败,这个时候JMS的"1"这条数据还在不在?
仍然是上面的情况,但在读取失败后,这个JBOSS服务器关闭了.那么JBOSS重启后,这个JMS的消息"1"还存在不存在?
如果我描述不清晰的话请大家提醒下...汗.先谢谢大家.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
泪流满面,只有你在帮我啊.
嗯,下午我想法子试试.
按照JMS的规则,是不是客户端接收后,还得返回个接收信息,JMS才会清楚掉刚才发送的那条信息?
回复
你用的什么?Spring? 应该不需要你返回任何数据,jms有自己的协议知道消息是否成功消费。我用的activemq,没用过jboss还不了解你的情况。jms中queue和topic是不同的,希望你没弄错。
回复
汗,这个我肯定是知道的.我用的是JBOSS的HornetQ.现在是在试验我说的这种情况,因为会影响到后续的设计.
我明白你的意思了.我刚才说JMS的接收数据,可能你误会了.我意思是Session session=conn.createSession(false,Session.Auto_AcKnowledge);后面是Auto,Client,Dups不是有三种方式吗?我意思是说这个JMS的机制,开发者肯定不用去手写代码返回信息.我意思是说JMS内部机制应该会从消费者端返回接收成功的信息给生产者吧?
Queue当读取失败应该还在的.直到有一个client接收了这个Message