2012-08-12 64 views
0

我试图找出一个古老而又相当位烂EJB 2.0应用程序,与迁移到EJB 3.x的是一个未来的可能性。告诉可靠状态和无状态EJB 2.0豆类除了

EJB 3.x足以保持其bean定义的紧凑性并为重要的元数据使用注释。不幸的是,EJB 2.x肯定更复杂,几个XML文件彼此堆叠在一起。添加一些特定于JBoss的方法调用和相应的XML文件,结果是一团糟......

所以,从基础做起:

怎么可能一个可靠告诉状态和无状态EJB 2.0豆分开?

回答

0

的一个重要信息是ejb-jar.xml文件的内容。它可能包含显式元素w.r.t.一个有状态的bean。

对于状态bean:

<session> 
    ... 
    <ejb-name>TestBean</ejb-name> 
    ... 
    <ejb-class>com.example.TestBean</ejb-class> 
    <session-type>Stateful</session-type> 
    ... 
</session> 

对于无状态Bean:

<session> 
    ... 
    <ejb-name>TestBean</ejb-name> 
    ... 
    <ejb-class>com.example.TestBean</ejb-class> 
    <session-type>Stateless</session-type> 
    ... 
</session> 

其他重要指示可以在bean实现中找到。根据EJB 2.0规范,部分7.5.3:

无状态会话bean 不得实现会话同步接口。

从第7.8节,在无状态bean:

会话bean类必须定义一个ejbCreate方法不带参数。

+1

@Razvan:谢谢你的编辑。我想另一杯咖啡是为了... – thkala 2012-08-12 21:51:11