Java 同时进行MSSQL连接会导致资源sqljdbc_auth.dll被锁定
有一个我似乎无法解决的问题 我们一直在研究有关sqljdbc_auth.dll加载失败的相关问题,但它们似乎都与sqljdbc_auth.dll无法从其运行的容器中获得这一事实有关。这不是问题所在 我在wildfly服务器上部署了一个WAR应用程序。此应用程序生成多个线程,每个线程创建一个ms sql连接。这一切都是在同一时间完成的,这会导致sqljdbc_auth.dll被使用它的第一个线程锁定 当第二个线程尝试建立连接时,日志会声明以下内容Java 同时进行MSSQL连接会导致资源sqljdbc_auth.dll被锁定,java,sql-server,jdbc,wildfly,Java,Sql Server,Jdbc,Wildfly,有一个我似乎无法解决的问题 我们一直在研究有关sqljdbc_auth.dll加载失败的相关问题,但它们似乎都与sqljdbc_auth.dll无法从其运行的容器中获得这一事实有关。这不是问题所在 我在wildfly服务器上部署了一个WAR应用程序。此应用程序生成多个线程,每个线程创建一个ms sql连接。这一切都是在同一时间完成的,这会导致sqljdbc_auth.dll被使用它的第一个线程锁定 当第二个线程尝试建立连接时,日志会声明以下内容 sqljdbc_auth.dll already
sqljdbc_auth.dll already loaded in another classloader
要使同一应用程序中的所有线程都可以使用sqljdbc_auth.dll,我必须做些什么
谢谢
编辑快速复制标记
您需要在应用服务器本身中部署一个SQL Server驱动程序jar,而不是每个web应用程序部署一个驱动程序 我的容器中只有一个SQL Server驱动程序。我不知道是什么让你认为它被捆绑在战争中 这与多个线程无关,而是多个类加载器试图加载同一个dll,这表明您正试图加载多个版本的JDBC驱动程序 你能详细介绍一下吗?你声称是我要找的答案的那个职位在这方面对我毫无帮助。此外,该帖子中的答案是关于tomcat类加载的 最后。
我不知道你怎么能在几分钟后标记一个复制的帖子。你读过那些帖子吗?总之,我的问题仍然存在,我希望人们有机会提供帮助,而不是立即标记为重复您需要在应用程序服务器本身部署一个SQL Server驱动程序jar,而不是每个web应用程序部署一个驱动程序。顺便说一句:这与多个线程无关,但是多个类加载器试图加载同一个dll,这表明您正在尝试加载多个版本的JDBC驱动程序。您需要在应用程序服务器本身中部署一个SQL Server驱动程序jar,而不是每个web应用程序部署一个驱动程序。顺便说一句:这与多个线程无关,但是多个类加载器试图加载同一个dll,这表明您正在尝试加载多个版本的JDBC驱动程序。