Java 同时使用两个版本的DB2驱动程序?
我需要为我的应用程序使用2个版本的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
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进行连接。所以我不知道该怎么办。