WEB应用调用Stateful的EJB的问题

J2EE 码拜 9年前 (2016-03-19) 1706次浏览
本人在做一个项目的时候,项目部署在两个server上,分别是
Jboss:用于部署项目中的EJB接口及相关实现
Tomcat:用于部署Web部分
现在本人在EJB项目中实现了一个stateful的EJB,例如用来记录用户的购物车内容,接口取名CartRemote;
web部分是用struts2配置的,例如处理用户管理购物车的action对应的class叫做 CartManageAction
那么本人要怎么在CartManageAction里面调用CartRemote这个EJB呢?
本人原来的做法是在CartManageAction的excute函数中对这个ejb使用lookpu初始化,然后使用
但是本人发现,这样每次获得的EJB都是新的,无法保存状态,例如本人多次添加一个商品的时候,每次调用这个action,都会lookup一次,返回一个新的CartRemote的实例,也就无法做到保存状态的作用了。
请教,假如有说的不清楚的地方请留言!
解决方案

30

从你的需求来看,应该使用有保存到硬盘的缓存(redis符合要求)记录用户的购物车,这样,你就不需要stateful EJB了

20

用stateful开销高了,全部用户都需要一个ejb来保存 可是在线用户可能只是1%,会造成很大的浪费

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明WEB应用调用Stateful的EJB的问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)