JBOSS 做项目时的问题 有关Jboss, Mbean, Session bean 求助

bjshasha 05-12-21

系统目前的设计如下:
------ Client --------
| |
JMS 数据通道
| |
------ Server --------
|Jboss |
| Stateful Session bean |
| |(1)| |
[MBean与Session bean通讯]
| |(1)| |
| MBean |
------ Server --------
| |
Socket数据通道
| |
----- Collection --------

目前的问题集中在于(1)部分的实现如何处理
需求:由于从Collection会有大量的消息传递到Mbean,Mbean要处理消息并且要传递消息到不同的客户端连接的Session bean
问题:
1.是否有办法获取到Jboss容器创建的Session bean 的对象列表
2.Server 层中的 MBean实现与Session bean实现间是否有更好的通讯机制
(曾经考虑过JMS通讯 不过JMS属于异步的方式同时Session bean部分还要加入JMS接收和判断处理不知道是否是好的设计而且如果Mean采用topic与Session通讯 则Session bean也要判断对自己无用的消息。)

系统目前采用Ejb3 编写Stateful Session Bean

大家帮帮忙啊

bjshasha
2005-12-21 10:45

还有一个疑问没有搞清楚
顺便也提出来:
就是在JBOSS 中 Session Bean 容器和 MBean 是否在一个JVM中
印象中好像EJB是可以跨越Jvm的 在Stateful Session Bean的容器和 Mbean的管理器之间是否是一个JVM
因为设计中想用单例模式做一部分东西
如果跨越了多个JVM单例的类也要被实例化多次了

求解

banq老大 看到你上午在啊 帮帮忙
叩谢

banq
2005-12-21 10:55

尽管我非常推崇JBoss,但是,再大热情也不会让我做绑定JBoss的事情,除了JNDI以外,不能做移植性很差的In Box系统。

>1.是否有办法获取到Jboss容器创建的Session bean 的对象列表
很危险,如果你有这种需求,一定要这样做,可以考虑是否需要EJB架构了,EJB对于通用商业应用是简单有效规则的,但是灵活性/定制性都是很差的,尽管是EJB3。能详细说说为什么要这样做吗?

>2.Server 层中的 MBean实现与Session bean实现间是否有更好的通讯机制

是可以的,但是和JMX打交道,现在趋势已经抛弃单纯的JMX架构,而是使用Ioc容器+JMX的架构,这篇文章如下:

http://www.jdon.com/artichect/micocontainer.htm

不好意思,没有真正帮助你,如果你将需求完整表达出来,我们可以探讨一个可维护性更好 可伸缩性更好的方案。

yuxie
2005-12-21 13:34

MBean ???
楼主说的MBean 是 Message DriverBean还是JMX中的ManagedBean??
JMS并不一定非要异步,可以做同步处理的

bjshasha
2005-12-21 15:12

谢谢benq老大的回复

yuxie 这里的Mbean指的是JMX中的manageBean 不是MDB
JMS的确是可以实现同步处理不过对于上面提到的session bean与Mbean之间的通讯MBean是要与Session bean的多个实例进行消息交互除非每一个请求来了后建立自己的Q 不然还是要做Topic处理这样对于同步处理又比较麻烦
本来想自己设计一个pool将session bean的实例放到pool中这样又可能造成jboss的池在释放实例的时候不能完全释放掉
所以还是没有好的办法

可能的确要像benq老大说的换一种架构方式来实现比较容易不过这样又牵扯到Client之间的通讯问题。

大家再帮我想象办法啊

2Go 1 2 下一页