Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 同时使用两个版本的DB2驱动程序?_Java_Spring_Db2_Datasource - Fatal编程技术网

Java 同时使用两个版本的DB2驱动程序?

Java 同时使用两个版本的DB2驱动程序?,java,spring,db2,datasource,Java,Spring,Db2,Datasource,我需要为我的应用程序使用2个版本的DB2Driver。我使用spring定义数据源。两个lib的路径相同,第一个dataSource需要驱动程序版本2,第二个需要版本3。有没有办法解决这个问题 <bean id="DataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com

我需要为我的应用程序使用2个版本的
DB2Driver
。我使用spring定义
数据源
。两个
lib
的路径相同,第一个
dataSource
需要驱动程序版本2,第二个需要版本3。有没有办法解决这个问题

  <bean id="DataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver"/>
    <property name="url" value="yyy"/>
    <property name="username" value="yyy"/>
    <property name="password" value="yyy"/>
</bean>

<bean id="DataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver"/>
    <property name="url" value="xxx"/>
    <property name="username" value="xxx"/>
    <property name="password" value="xxx"/>
    <property name="maxActive" value="100"/>
    <property name="maxIdle" value="10"/>
    <property name="minIdle" value="1"/>
    <property name="maxWait" value="3000"/>
    <property name="testOnBorrow" value="true"/>
    <property name="testOnReturn" value="false"/>
    <property name="testWhileIdle" value="true"/>
    <property name="timeBetweenEvictionRunsMillis" value="10000"/>
    <property name="numTestsPerEvictionRun" value="50"/>
    <property name="minEvictableIdleTimeMillis" value="10000"/>
    <property name="poolPreparedStatements" value="true"/>
</bean>


显然,除非运行两个不同的JVM,否则不能同时加载同一类的两个不同版本。但我需要这样做,我可以用版本2连接到我的一个服务器,如果你想做一些不可能的事情,第二个需要版本3,最好的做法是找到另一种方法。@zara-90解释为什么您认为需要在一个应用程序中使用两个不同版本的Db2驱动程序。还要澄清“驱动程序版本”的含义,给出确切的细节。因为您的问题在其原始形式中没有意义。好吧,让我解释一下,这是一个大型应用程序,过去他们在从服务器a检索字符串数据时使用getBytes获取字符串(我们无法更改它们)。我们的DBA告诉我们必须使用db2的驱动程序v2,因为这一点,同时服务器B被更新,我们必须使用v3进行连接。所以我不知道该怎么办。