我们在 JBoss 和 Weblogic 上部署了第三方应用程序。出于审计目的,我们需要在此应用程序中记录对 EJB 的访问。是否可以应用透明服务,将对这些 EJB 的所有调用记录到文件或数据库中?
我能想到的唯一选择是使用 Spring 作为业务委托并修改客户端以使用 Spring bean。不幸的是,我们没有修改客户端代码的选项,而这必须在服务器上以这样一种方式完成,即我们的代码在客户端调用 EJB 之前和之后执行。
我为此寻找解决方案,但没有发现任何可以为我指明正确方向的东西。
感谢您的帮助。
编辑:
经过进一步研究,JBoss 似乎确实支持自定义 EJB 拦截器。可以使用 EJB 2.x 的 standardjboss.xml 和 EJB 3.x 的 ejb3-interceptors-aop.xml 对此进行配置
事实证明,关于如何创建用于 EJB 2.x 的此类拦截器的示例并没有太多可用的示例——这正是我所需要的。它似乎不太难,我会试试这个看看它是否有效。