Migrate to use Microsoft JDBC Driver


gdt was looking into migrating Openfire to use the Microsoft JDBC driver over the JTDS one. The ignite forum had a message denoting an issue found while attempting to have these drivers live side-by-side

When I try to connect to SQL DB using the Microsoft JDBC driver, I got the following error

"com.microsoft.sqlserver.jdbc.ISQLServerConnection$$FastClassByProxool$$2b8cf6af "'s signer information does not match signer information of other classes in the same package

As a work around I did the following:

open the sqljdbc42.jar with winrar. in META-INF, delete MANIFEST.MF, MSFTSIG.SF and MSFTSIG.RSA

I have no idea if that was the correct way to get around this issue or not..




Greg Thomas
October 13, 2017, 2:48 PM

My thoughts;

a) It looks like Proxool is enhancing by inspection. The class created on the fly is not signed by Microsoft unlike the other MS specific classes, so an error message occurs.

b) Removing the signing information is a workaround, but can't be done readily when retrieving artefacts from Maven.

c) Proxool is unmaintained - https://github.com/proxool/proxool

I therefore propose to replace Proxool with Apache Commons DBCP - https://commons.apache.org/proper/commons-dbcp/ unless someone come can up with a good reason not to.



Greg Thomas


Daryl Herzmann