繁体   English   中英

EJB 3 / Web服务的调用侦听器?

[英]Invocation Listener for EJB 3 / web service?

我们有一个使用EJB 3无状态bean的系统,它也作为Web服务公开。

有一个来自其他团队的集成请求,希望我们的系统在调用之后(通过Web服务或其他方式)向其他系统发出通知。 由于这与我们的系统并不完全相关,我宁愿将此功能与我们自己的系统松散耦合,而不是将这些功能硬编码到我们的系统代码中。

EJB或Web服务上是否有任何功能可以实现我的目标? 我们需要一个方法级别的调用监听器,以便在调用EJB方法/ Web服务时,它可以触发回调/消息,以便我们可以根据它执行某些操作。 我希望它是用于设置JMS或其他东西的某种注释/配置。

我们使用JBoss作为应用程序服务器。 如果有任何JBoss特定的解决方案,它也受到欢迎。

我建议两个选择:

  • 使用JMS。 当你提到松散耦合时,JMS首先想到了 - 你可以在方法调用之后在某个队列/主题上放置一条消息,让监听器执行更多的操作。 JMS消息可以携带各种对象 - 唯一的请求是该类实现Serializable( ObjectMessage#setObject ); 另一个优点是您可以(un)独立部署无状态bean和其他系统。 它们可以位于不同的JVM上。

  • 使用拦截器。 从技术上讲,它们会在你的方法运行之前被调用,但当然总会有一些很好的解决方法 :-)这是关于拦截器的官方文档 ,但既然你提到你正在使用JBoss,那么也可以找到一些有趣的材料在JBoss页面上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM