我的其中一个表保存了业务事务的数据,我必须在间隔5分钟没有事务时运行一个工作,我试图在java中使用Timer()来实现这一点。因此,为了获得通知,如果任何事务被执行,我需要一些触发(我没有代码访问,因为它是第三方工具)为此我正在使用数据库更改通知。
然而,在运行此操作时,我经常会遇到以下错误。我使用 java 1.6 , ojdbc6.jar 进行连接,应用程序在带有oracle 11g数据库的weblogic上运行。
Exception in thread "Thread-4" java.lang.IndexOutOfBoundsException at java.nio.Buffer.checkIndex(Buffer.java:540) at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:139) at oracle.jdbc.driver.NTFConnection.unmarshalOneNSPacket(NTFConnection.java:334) at oracle.jdbc.driver.NTFConnection.run(NTFConnection.java:182)
答案 0 :(得分:1)
请为您的侦听器修改示例http://appcrawler.com/wordpress/2012/08/28/jdbc-and-oracle-database-change-notification/,并检查问题是否仍然存在。我对此问题的理解与Oracle DB无关,而是与代码的Java实现有关。请将java标签添加到您的问题中。