3

I'm trying to determine if it is possible to configure Oracle Database 11g to send a JMS message to a broker (ActiveMQ in my case) when a particular DML event (say an insert or update to a particular table) occurs so that I can process this event in an external, non-Oracle application.

I've done some searching and it seems like Oracle Streams is capable of this use case since it alludes to JMS, but the documentation seems to focus only on Oracle Database to Oracle Database JMS message sending.

I'm not particularly asking HOW to do this but if it is even possible at all, though of course if you could refer me to a tutorial on how to set it up I would be grateful for that as well.

Andre
  • 1,601
  • 3
  • 15
  • 15

1 Answers1

3

You could use an Oracle trigger which calls a Java stored procedure.

The Java stored procedure in turn could send a message using JMS.

Have a look at this example.

Beryllium
  • 12,808
  • 10
  • 56
  • 86
  • That was the first idea we came up with, and though it's not categorically wrong it just doesn't feel like the right solution if there's a more native, cross-cutting mechanism available. I guess I'd prefer not to have to write application code to send the message if I can do it via configuration only. Again, there's no reason it couldn't work, it just wouldn't be my first choice. – Andre Jul 11 '13 at 17:09
  • If it just needs some clicks to configure it, then this is the way to go. If you have to install another tool, it might be different. If you want to suppress *some* specific events (only for table x, if some conditions apply) *later*, it could be different to configure it. So some prefer scripts, some prefer configuration. – Beryllium Jul 11 '13 at 17:42