通过VPN收听Oracle AQ

时间:2014-04-24 13:35:13

标签: java oracle oracle11g oracle-aq

我正在尝试接收位于数据中心的我的数据库中的通知。当我在与DB相同的网络上时,我可以收到通知但在通过VPN连接时没有通知。任何人都可以告诉我如何通过VPN也能听到AQ。

2 个答案:

答案 0 :(得分:0)

也许你应该定期使用TCP keeplalive"刷新"数据库连接的状态。

请参阅: http://www.coderanch.com/t/207410/sockets/java/Java-Oracle-JDBC-Linux-KeepAlive https://rubyorchard.wordpress.com/2007/04/07/oracle-jdbc-connection-keepalive/

但您还需要管理员/ root权限才能执行操作系统级别配置部分。

另一个选项(首选)是超时监听。所以你的代码将包含一个无限循环,并将处理(ingnore)ORA-25228错误。

答案 1 :(得分:0)

使用Oracle JDBC Thin驱动程序时,调用connection.registerAQNotification时,可以设置全局选项(第三个参数),其中一个选项是本地主机的IP地址(OracleConnection.NTF_LOCAL_HOST)。通过VPN连接时,您需要通过VPN将此选项设置为您的IP地址。