A melhor maneira que conheço de fazer isso é via Oracle AQ (uma implementação JMS) Há também notificação de alteração do banco de dados , no qual não tenho experiência, mas pode ser o que você procura, acredito que na verdade se baseia no AQ.