基于 Informix JDBC 的 SSL 在 JBOSS 7 下不起作用
Posted
技术标签:
【中文标题】基于 Informix JDBC 的 SSL 在 JBOSS 7 下不起作用【英文标题】:SSl over Informix JDBC doesn't work under JBOSS 7 【发布时间】:2017-10-02 15:19:52 【问题描述】:我想通过 SSL 使用我的 Informix JDBC 应用程序。 DBMS 是 Informix IBM 11.70。
我正在使用一个 spring-config.xml 文件,我在其中声明了数据源 bean:
<!-- Data source -->
<bean id="dataSource" class="com.sopra.datasource.CustomDataSource" init-method="init"
destroy-method="close">
<property name="url" value="$url" />
<property name="driverClassName" value="$driverClassName" />
<property name="username" value="$username" />
<property name="password" value="$password" />
<property name="removeAbandoned" value="true" />
<property name="initialSize" value="20" />
<property name="maxActive" value="30" />
</bean>
问题是,当我在 Tomcat 7 中部署我的应用程序时,一切正常(TCP 和 SSL 模式),但是,当我在 JBOSS 7.1 中部署它时,与 Informix 数据库的 SSL 连接模式不起作用!
在调试方面,我掌握的唯一信息如下:
应用端:
Caused by: com.informix.asf.IfxASFException: Attempt to connect to database server (my_server_ssl) failed.
at com.informix.util.IfxErrMsg.getLocIfxASFException(IfxErrMsg.java:751) [jdbc-4.10.7.20160517.jar:4.1.0.SNAPSHOT]
at com.informix.asf.Connection.openSocket(Connection.java:1864) [jdbc-4.10.7.20160517.jar:4.1.0.SNAPSHOT]
at com.informix.asf.Connection.<init>(Connection.java:427) [jdbc-4.10.7.20160517.jar:4.1.0.SNAPSHOT]
at com.informix.jdbc.IfxSqliConnect.<init>(IfxSqliConnect.java:1416) [jdbc-4.10.7.20160517.jar:4.1.0.SNAPSHOT]
... 47 more
Caused by: java.lang.NullPointerException
at com.informix.asf.Connection.getEnabledSSLProtocols(Connection.java:2242) [jdbc-4.10.7.20160517.jar:4.1.0.SNAPSHOT]
at com.informix.asf.Connection.openSocket(Connection.java:1805) [jdbc-4.10.7.20160517.jar:4.1.0.SNAPSHOT]
... 49 more
提前致谢。
【问题讨论】:
谁能帮帮我? 【参考方案1】:这是由于 4.10.7 版本的驱动程序存在缺陷。尝试升级到 4.10.8 或 4.10.9 版本。可以通过 maven 或 IBM 下载站点找到它们。
Gradle
compile group: 'com.ibm.informix', name: 'jdbc', version: '4.10.9'
Maven
<dependency>
<groupId>com.ibm.informix</groupId>
<artifactId>jdbc</artifactId>
<version>4.10.9</version>
</dependency>
【讨论】:
非常感谢,布莱恩·休斯!以上是关于基于 Informix JDBC 的 SSL 在 JBOSS 7 下不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Informix java.lang.ClassNotFoundException: com.informix.jdbc.IfxDirectConnection
试图找出 Informix JDBC 驱动程序无法安装的原因
如何通过 JDBC 显示 Informix sysprocedures.paramtypes 列?