天快黑了的日志
分享知识、分享快乐
BlogJava
首页
新随笔
联系
聚合
管理
随笔分类
(6)
Exception(1)
(rss)
JVM(1)
(rss)
Question(2)
(rss)
Socket(2)
(rss)
随笔档案
(6)
2010年8月 (3)
2010年7月 (3)
最新随笔
1. 谁能解决多个MDB读取JBoss Topic上的BytesMessage出现的奇怪问题
2. Java虚拟机探险之Class Loader
3. 谁能帮忙解释一下为什么这个程序会死锁?
4. 另类NoClassDefFoundError
5. Socket Programming Considerations (2)
6. Socket Programming Considerations (1)
最新评论
1. re: 谁能帮忙解释一下为什么这个程序会死锁?[未登录]
评论内容较长,点击标题查看
--littleJava
2. re: 谁能帮忙解释一下为什么这个程序会死锁?
感谢大家的回复,这个问题确实很难解释清楚。我们只能注意,多线程下千万不要使用非线程安全的对象。
--天快黑了
3. re: 谁能帮忙解释一下为什么这个程序会死锁?
@猪儿笨笨
就是这个程序是否出现死锁要看rp的,跑个200多次才会出现一次
我用批处理连续跑了上千次,出现了好几次死锁的情况
--bigwesthorse
4. re: 谁能帮忙解释一下为什么这个程序会死锁?
没有明白楼上说什么意思?
这样说吧,是否在一个JVM内,还是说同时启动多个JVM?
如果多个JVM,就很难说有什么问题,比如说用光了资源,等等。
--猪儿笨笨
5. re: 谁能帮忙解释一下为什么这个程序会死锁?
评论内容较长,点击标题查看
--bigwesthorse
谁能解决多个MDB读取JBoss Topic上的BytesMessage出现的奇怪问题
Posted on 2010-08-24 15:54
天快黑了
阅读(1315)
评论(0)
编辑
收藏
所属分类:
Question
2个不同的MDB监听JBoss 4.2.3 上的同一个Topic (集成JBoss Messaging 1.4.2 SP1),Topic上的消息是BytesMessage。发一个消息到Topic上,2个MDB都会收到这个消息。
但奇怪的是只有一个MDB能正常读取BytesMesage,另一个MDB读取BytesMessage.
readBytes
()始终返回-1
同样的测试程序,在WebLogic上就正常。
JBoss怎么会发送同一个BytesMessage对象到所有的subscriber?有人解决过同样的问题吗?
google了很长时间,也尝试了很多方法,似乎没什么好的办法。一种方法是避免使用BytesMessage, 还有一种方法就是使用反射,直接复制JBoss的BytesMessage实现。
public
void
onMessage(Message msg)
{
BytesMessageProxy msgProxy
=
(BytesMessageProxy)msg;
Class clazz
=
MessageProxy.
class
;
Field field
=
clazz.getDeclaredField(
"
message
"
);
field.setAccessible(
true
);
JBossMessage rawMsg
=
(JBossMessage)field.get(msgProxy);
BytesMessage newMsg
=
(BytesMessage)rawMsg.doCopy();
//
read data from newMsg
}
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
谁能解决多个MDB读取JBoss Topic上的BytesMessage出现的奇怪问题
谁能帮忙解释一下为什么这个程序会死锁?
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
积分与排名
积分 - 15840
排名 - 1942
阅读排行榜
1. 谁能帮忙解释一下为什么这个程序会死锁?(7896)
2. Java虚拟机探险之Class Loader(2217)
3. Socket Programming Considerations (1)(1813)
4. Socket Programming Considerations (2)(1653)
5. 谁能解决多个MDB读取JBoss Topic上的BytesMessage出现的奇怪问题(1315)
posts - 5, comments - 25, trackbacks - 0, articles - 1
Copyright © 天快黑了