grails アプリケーションで mssql 用の Microsoft jdbc ドライバーを使用する公式の方法は何ですか?
グーグルで見つけた一般的な意見は、jar を grails アプリの lib ディレクトリにドロップするだけでよいというものです。これは、grails clean を実行し、grails compile --refresh-dependencies を実行すると機能します。しかし、実サーバーにデプロイすると、2 つの問題が発生します。
再デプロイすると、ログにこの警告が表示されます。
24.05.2013 16:03:03 com.microsoft.sqlserver.jdbc.AuthenticationJNI 警告: sqljdbc_auth.dll 原因の読み込みに失敗しました: java.library.path に sqljdbc_auth がありません
警告なので気にする必要があるかどうかはわかりません。しかし、ログをきれいにしたいのですが、Googleが言っているように、アプリケーションのlibディレクトリにdllがあります。さらに、再デプロイ時に、最初のメッセージに関連する可能性のある次のようなメッセージがいくつかあります。
24.05.2013 16:03:02 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap SCHWERWIEGEND: Web アプリケーションは、タイプ [org.codehaus.groovy.runtime.GroovyCategorySupport.MyThreadLocal] (値 [org.codehaus. groovy.runtime.GroovyCategorySupport$MyThreadLocal@76fe8d1b]) と [null] 型の値 (値 [null]) が含まれていましたが、Web アプリケーションが停止したときに削除できませんでした。メモリ リークを防ぐために、ThreadLocal は強制的に削除されました。
最後に、私の同僚は、ドライバーはアプリケーションごとにインストールするのではなく、Tomcat に直接インストールするべきだと考えていると言いました。私は実際にこれを行う方法を知りませんが、アプリケーション lib ディレクトリにドライバーがないと grails run-app を実行する方法がわからないため、これを行った場合、開発マシンで問題が発生します。