eclipse+JBoss 5+EJB3开发指南(2):编写有状态的SessionBean - 编程入门网
eclipse+JBoss 5+EJB3开发指南(2):编写有状态的SessionBean时间:2011-09-18 blogjava 哈佛校训编写有状态的(Stateful)的Session Bean也非常简单,只需要将无状态注释(@Stateless)改成有状 态注释(@Stateful)即可。如果使用Stateful Sessionbean,客户端在使用同一个SessionBean对象实例 时可以保存状态,也就是说,在多次引用该对象时实际上在服务端是使用的同一个Sessionbean的对象实 例,而无状态sessionbean使用了不同的sessionbean对象实例,因此,是无法保存状态的。 下面将编写一个简单的购物车的例子,该例子将客户购买的商品都保存在stateful sessionbean中的 List对象中。然后在客户端使用同一个sessionbean的对象实例输出这些商品。我们首先来实现一个 sessionbean的远程接口,这和无状态sessionbean是一样的。代码如下:
为了方便,在这里只将商品名保存在List对象中,读者也可以在List对象中保存更复杂的信息,如使 用一个对象来保存商品信息。 下面来编写具体的Stateful sessionbean,代码如下:
eclipse+JBoss 5+EJB3开发指南(2):编写有状态的SessionBean(2)时间:2011-09-18 blogjava 哈佛校训最后我们编写一个客户端调用程序,代码如下:
在客户端调用时,需要将ShoppingCart接口复制到客户端,当然,@Remote可以去掉。别忘了引用 JBoss安装目录中的client目录中的jar文件。客户端仍然使用了jndi.properties文件来配置相应的信息 ,该文件位于src目录下,内容如下; java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.provider.url=localhost 在执行上面的程序后,将输出如下的信息: 自行车 笔记本电脑 液晶电视 从上面的输出结果可以看出,使用getCommodity方法成功获得了所有的商品信息。要注意的是,需要 使用同一个sessionbean对象实例(shoppingCart)才能保存状态。如果在web应用程序中,需要将 shoppingCart对象保存在Session中,这样在同一个会话中的用户就可以使用该购物车对象了。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |