我的应用程序有一个无状态EJB。现在我需要通过Stateful进行一些db操作。这个无状态EJB是否可以访问将打开连接状态的数据库实用程序?这会导致任何设计/性能问题吗?
答案 0 :(得分:0)
哪个会打开连接状态?
你的意思是:
在第一种情况下,虽然可以在StatelessSessionBean(SLSB)前面使用StatefulSessionBean(SFSB),但可能有更好的方法(例如使用命令模式来收集远程调用之间的交互,直到你准备承诺)。
在第二种情况下,DataSource.lookup(用户名,密码)可能会有所帮助,尽管您的DataSource查找可能需要始终如一地提供用户名和密码以保证接收相同的连接。
这是否会导致任何设计/性能问题?
在这两种情况下,您都必须非常小心,不要出现基本的安全错误(比如以纯文本形式发送密码)。我从来没有使用过任何一种方法,而是倾向于重新设计包含其中任何一种的解决方案。
与安全性和其他设计问题(如维护中的脆弱性)相比,我不会担心性能问题。