Informix JDBC 上的 SSl 在 JBOSS 下不起作用 7

SSl over Informix JDBC doesn't work under JBOSS 7

我想通过 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 中部署它时,SSL 连接模式为Informix 数据库不工作!

关于调试,我唯一掌握的信息如下:

应用端:

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

提前致谢。

这是由于 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>