WEB应用调用Stateful的EJB的问题

zy2lhd 2016-05-01 04:59:58
我在做一个项目的时候,项目部署在两个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的实例,也就无法做到保存状态的作用了。

求教,如果有说的不清楚的地方请留言!
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy2lhd 2016-05-21
  • 打赏
  • 举报
回复
用redis的确也是一种方法,不过用stateful的ejb应该不会导致高开销吧,只有在用户登录之后才会创建并维护这个ejb的
鸣鸣Amadues 2016-05-03
  • 打赏
  • 举报
回复
再试试。再试试。
tianfang 2016-05-03
  • 打赏
  • 举报
回复
用stateful开销高了,所有用户都需要一个ejb来保存 可是在线用户可能只是1%,会造成很大的浪费
tianfang 2016-05-02
  • 打赏
  • 举报
回复
从你的需求来看,应该使用有保存到硬盘的缓存(redis符合要求)记录用户的购物车,这样,你就不需要stateful EJB了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧