私は.warファイルAと.warファイルBと.warファイルCを持っています。 BとCはデータベース接続を使用する必要があるので、.war Aを使用してデータベース接続を共有することにしました。しかし、問題は.warファイルが独自のコンテキストで制限されていることです。だから私の質問は、私のTomcat Webアプリケーション間で共有するデータベース接続を取得する方法ですか?そして、いくつかのアプリのためだけに接続のアクセスを制限する方法は?サーブレット - 多くのコンテキスト - db接続を共有するには?
答えて
おそらく実際には、アプリ間で1つの接続を共有したいとは思わないでしょう。おそらく、接続プールを作成する必要があります。 のappropriate implementationをTomcatのJNDIレジストリに入れます。すべてのアプリは同じソースから接続を取得できます。いくつかのアプリへのアクセスを制限するには、そのアプリにgetConnection() method that requires a username and passwordを使用させるだけで、資格情報を持つアプリでのみ使用できます。
しかし、複数のdbログイン接続が必要な場合はどうすればよいですか?たとえば、2つのリソースを使用できますか? – user592704
必要なだけ多く使用しますが、各アプリケーションで独自のログイン資格情報を指定できるDataSource.getConnection()メソッドを使用することを既に提案しました。それはあなたに同じことをさせるでしょう。 –
実際には、セッションでdb接続を維持したいと思いますが、1つのコンテキスト制限でこれを行うことができません:(セッションデータを.war(複数可)間で共有できますか? – user592704
context.xml
のデータソースリソースと参照をTomcatのserver.xml
に宣言してください。 Thisはあなたのケースをカバーします。
これでいいはずです。コンテナはあなたのすべてのアプリケーション用の** ** ** ** ** ** ** ** **共有プールを管理します。 –
JDBCはそれに対応しますか? – user592704
- 1. プロセスプールでDB接続を共有する
- 2. 多くのアプリケーション間で接続文字列を共有する
- 3. re-structure共通のオープンdb接続を共有するFlaskルート
- 4. サーブレット-MongoDbプロジェクト:Db接続
- 5. 共有接続は
- 6. 共通オブジェクト(DB接続)を共有するセロリタスクの同時実行
- 7. マルチスレッド上の共有接続
- 8. JDBC:接続を共有または接続プールを使用
- 9. 複数の共有リンクを複数の共有リンクに接続...
- 10. 多くのモデル接続に多く
- 11. 同じWebアプリケーション内の多くのMYSQL DBに接続
- 12. 共有フォルダ内のDBへのMSアクセスを介して接続する
- 13. Resqueで親と子のMySQL接続を共有するには?
- 14. HttpClient共有接続マネージャ
- 15. RSpec変数を共有コンテキスト間で共有する方法は?
- 16. jdbc接続プールの共有可能な接続と共有できない接続の違い?
- 17. C#アプリケーションでスレッド間のdb接続を共有していますか?
- 18. python:キューとスレッド間でsqlite接続を共有するには?
- 19. Androidの共有コンテキストでのシングルトンのコンテキスト
- 20. phpで共有フォルダに接続
- 21. 共有オブジェクト間のデータベース接続
- 22. httpゴルーチン間でmysql接続を共有するには?
- 23. sqlite dbを共有してiPhoneアプリに共有する
- 24. JVM間でServletContextsを共有するサーブレット
- 25. IPアドレスに接続してくださいファイル共有プログラム
- 26. tfs2013多くのプロジェクトでプロジェクトを共有
- 27. 共有接続を持つSQL Developer
- 28. スレッド間の接続の共有
- 29. Socket.IOとWSのWebSocket接続の共有
- 30. postgresの共有接続の問題
私は似た何かがそこに言及されたと思う: http://stackoverflow.com/questions/6807818/share-java-classes-between-war-files-in-tomcat – gentimouton
それは非常に興味深いですが、私は共有したいですinited db connection(BとCからの新しい接続を毎回避けて接続してクエリを実行するように接続されています)が、スレッドはlibクラスの共有だけを示していますか? :X – user592704