proxool连接池连接sql server2005数据库的问题 .

proxool连接池连接sql server2005数据库,控制台报:签名信息和同一包里面的另外一个类得签名信息不匹配

Caused by: java.lang.SecurityException: class "com.microsoft.sqlserver.jdbc.ISQLServerConnection$$FastClassByProxool$$3407f37e"'s signer information does not match signer information of other classes in the same package

 

 


原因是proxool的驱动包和sqljdbc4.jar的签名冲突,解决方法:

1. 将sqljdbc4.jar包的META-INF文件夹下的三个文件  MANIFEST.MF, MSFTSIG.RSA, MSFTSIG.SF 三个文件删除即可


2.使用jtds.jar驱动包,使用net.sourceforge.jtds.jdbc.Driver 驱动类并更换driver-url

转自http://blog.csdn.net/zws1987211/article/details/7449118

我使用第一种方案成功

 <Resource  name="jdbc/connectShmi"
      auth="Container"
      type="javax.sql.DataSource"
   factory="org.logicalcobwebs.proxool.ProxoolDataSource"
      proxool.alias="proxoolDB"
      user="username"
      password="password"
      delegateProperties="foo=1,bar=true"
      proxool.jndi-name="jndibottleconnectShmi"   
      proxool.driver-url="jdbc:sqlserver://192.168.1.7\SHMIName:1433;databaseName=DBName_Shmi;selectMethod=cursor;"    
      proxool.driver-class="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
      proxool.house-keeping-sleep-time="900000"  
      proxool.maximum-active-time="5"
      proxool.prototype-count="3"
      proxool.statistics="1m,15m,1d"
      proxool.simultaneous-build-throttle="10"
      proxool.minimum-connection-count="20"
      proxool.maximum-connection-count="570"
      proxool.house-keeping-test-sql="select getdate()" 
      proxool.test-before-use="true" />

其中 select getdate() 在MSSQL Server 2005 2008中可用

 

猜你喜欢

转载自fireinwind.iteye.com/blog/1570165