我想通过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
先谢谢。
答案 0 :(得分:2)
这是由于驱动程序的4.10.7版本中存在缺陷。尝试升级到4.10.8或4.10.9版本。它们可以通过maven或IBM下载站点找到。
<强>摇篮强>
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>