我正在开发一个 EJB 应用程序,需要每 10 秒查询一次 sql server 数据库以获得一些数据。
我注意到日志中有这两行:
INFO: RAR7114: Unable to get ClientInfo for connection
INFO: RAR7115: Unable to set ClientInfo for connection
虽然应用程序运行完美,没有任何问题,但我想了解为什么每次查询数据库时都会收到此信息。
以下是我在此应用程序中使用的软件:
我使用netbeans 7.3.1 SQL Server 2012 爪哇6 jtds 1.3.1
我还在使用 jTDS 驱动程序的 Glassfish v4 上看到了这种行为。
我很好奇哪个项目会解决这个问题。也许是 jTDS 人员。也许是玻璃鱼人。但是,与此同时,这里介绍了如何更新/更改 Glassfish 日志级别:
http://gesker.wordpress.com/2014/04/24/jtds-glassfish-v4-rar7114-rar7114/
链接中的相关部分:
- 管理控制台(您的服务器:4848),
- 单击配置,
- 单击服务器配置,
- 单击记录器设置,
- 单击日志级别,
- 单击添加记录器
并在新的
记录器名称字段中输入:javax.enterprise.resource.resourceadapter.com.sun.gjc.spi
,并将日志级别更改为。WARNING
此错误提示数据库服务器或相应的驱动程序不支持该方法
setClientInfo
。似乎每次关闭连接时都会调用此方法。
此行为在 GLASSFISH-17061 中进行了描述,据此应该在 Glassfish 4.0 和 3.1.2.2 中修复,但一些评论似乎表明它仍然可能发生。您可以尝试不同的 JDBC 驱动程序(如果有)。
我解决了通过 mavencentral 升级 MySQL 驱动程序(从 5.1.3 到 5.1.34)的问题。升级 MySQL 后我开始看到这个问题。也许这与新版本 MySQL 中的一些 API 更改有关,而旧版本的连接器驱动程序没有这些更改。