的前提:
无状态EJB_X包含对EJB_Y的注释引用(例如,“@ EJB EJB_Y”)
EJB_X需要在调用其业务方法之前初始化EJB_Y
假设EJB_X(a)初始化然后(b)调用EJB_Y的业务方法 - 即“多步”过程(?)
问题:
为了保证线程安全,EJB_Y是否需要注释为“@Stateful”?
注意:
否则EJB_Y只是一个简单的POJO(例如,POJO_Y) - 但是,似乎为了让日志记录“@Interceptor”类访问方法参数使用EJB_X调用EJB_Y的业务方法,EJB_Y必须是一个EJB(? )...
其他信息:
一个。 EJB 3.1
湾EJB_X公开了REST方法
℃。目前已降级为运行JDK 1.8.x的WebLogic 12.1.3
答案 0 :(得分:1)
一个问题:
还有几点:
<强> [UPDATE] 强>
从SLSB调用SFSB没有意义。最后,您将获得不可预测的结果,这仅仅是因为生活在游泳池中并在客户之间共享的SLSB的性质。您还将失去SLSB最重要的好处之一:可扩展性。
我对您的架构和设计了解不多,但我会通过删除前端EJB并构建一个类来表现为Web服务(通过使用注释)来重新访问Web服务层。然后,如果您希望保留在EJB世界中,请在EJB调用上下文中传递所有数据,然后从EJB本身检索它。