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

05-12-21 bjshasha
系统目前的设计如下:

------ 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 下一页