如何用Oracle触发器通知JBoss

Ole*_*leg 3 sql oracle jboss triggers hibernate

我需要实现以下内容:

有一个表A,它应该被来自另一个表B上的触发器的DML操作改变.

我想在每次触发器工作时通知Jboss bean.在最好的情况下,我希望有机会在bean中看到OLD和NEW数据.

最好的方法是什么?你能推荐一些材料吗?

Nic*_*las 5

Alex建议使用数据库更改通知可能是最好的方法.以下是一些其他选项,用于从Oracle PL/SQL包(可以从触发器调用)向Oracle进程发送事件信号的操作:

  • 使用DBMS_PIPE以异步方式将消息发送到侦听同一管道的Java客户端.
  • 使用DBMS_ALERT将消息发送到侦听目标警报的Java客户端.在事务提交之前不会收到该消息.
  • 使用UTL_HTTPUTL_SMTPUTL_TCP将消息发送到侦听目标HTTP,SMTP或TCP端点的Java进程.
  • Oracle/AQ JMS消息发送到侦听目标队列/主题的Java客户端.
  • 使用Java创建JMS客户端并将java类 [和依赖项] 加载到Oracle数据库中.将该类包装在PL/SQL过程中并调用它以通知侦听目标队列/主题的Java客户端.

在从PL/SQL 调用/使用JMS的问题中,有关从PL/SQL发送JMS消息的更多信息.