Java 内部错误:未知或未实现的访问器类型:9
我们正在运行一个带有连接池的tomcat服务器,最近随机出现了这个错误。当我们随机运行包中的存储过程时,就会发生这种情况。我自己也尝试过对这个问题进行一些研究,这导致了这个Java类的源代码,我假设这个错误是从这个源代码中转储的: 我的问题是:什么是9号存取器类型?我提供的示例类中没有定义它,但编写该类的人显然必须有一个访问器列表及其相应的编号,如果可能的话,我想看看这些编号,但一直无法找到 我还在错误日志中找到了其他访问器类型号,例如:6也出现了 更新:我发现了一个详细说明数据类型及其代码值的页面,但是数据类型6和9显然不存在,这使得这个错误更加奇怪:Java 内部错误:未知或未实现的访问器类型:9,java,multithreading,oracle,jdbc,oracle11g,Java,Multithreading,Oracle,Jdbc,Oracle11g,我们正在运行一个带有连接池的tomcat服务器,最近随机出现了这个错误。当我们随机运行包中的存储过程时,就会发生这种情况。我自己也尝试过对这个问题进行一些研究,这导致了这个Java类的源代码,我假设这个错误是从这个源代码中转储的: 我的问题是:什么是9号存取器类型?我提供的示例类中没有定义它,但编写该类的人显然必须有一个访问器列表及其相应的编号,如果可能的话,我想看看这些编号,但一直无法找到 我还在错误日志中找到了其他访问器类型号,例如:6也出现了 更新:我发现了一个详细说明数据类型及其代码值的
这个问题似乎是由Java代码中存在并发问题引起的。当我们的程序运行一个线程池时,我们遇到了上述问题,程序员错误地认为在每个线程中使用相同的连接仅用于SELECT语句是可以的(并且根据Java连接类,从技术上讲应该是可以的)。我想这说明了Oracle DB的Java连接jar不是线程安全的。我也遇到了同样的问题,但类型是6。问题是由于未关闭(调用.close())准备好的语句和保存查询结果的结果集造成的。实例化新的准备好的语句和结果集是不够的,您必须始终关闭它们。吸取的教训。是的,这似乎是当驾驶员未按预期使用时的一个包罗万象的问题。不好玩。