2

我正在尝试在 oracle 上实现 DCN(数据库更改通知)以通知侦听器 DB 事件,以便我可以更新 Coherence 缓存。

我在这里按照教程进行操作,使用带有 main 方法的示例程序来执行侦听器类并使其运行正常。

我的问题是如何在生产环境中实现此通知和侦听器,因为我的本地测试仅运行一个主要方法来保持侦听器运行?使用什么技术来保持侦听器始终在后台运行并接收来自数据库的通知)?

我们使用 Weblogic 10 作为我们的应用服务器。

编辑

weblogic 启动类会为此目的工作吗?

4

1 回答 1

0

侦听器由 JDBC 驱动程序在新线程上为您运行(请参阅此处的说明:http: //docs.oracle.com/cd/E14072_01/java.112/e10589/dbchgnf.htm)。正如它所说,假设您使用的是纯 JDBC 方法:

“JDBC 驱动程序启动一个新线程,该线程(通过专用通道)侦听来自服务器的通知,并将这些通知消息转换为 Java 事件。然后驱动程序通知所有注册了此注册的侦听器。”

因此,您可以使用 Weblogic 启动类或设置了“load-on-startup”的 servlet 中的 init() 方法进行注册,然后忘记它。您的回调将由另一个线程上的 JDBC 驱动程序调用。

于 2013-01-19T21:05:31.643 回答