servlet - 许多上下文 - 如何共享数据库连接?
我有 .war 文件 A、.war 文件 B 和 .war 文件 C; B和C需要使用数据库连接,所以我决定使用.war A来共享数据库连接。但问题是 .war 文件受到其自身上下文的限制。所以我的问题是如何获取数据库连接以在我的 Tomcat Web 应用程序之间共享它?如何限制少数应用程序的连接访问?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可能实际上不想在应用程序之间共享单个连接。您可能想要共享创建连接的东西,这应该是连接池。对适当的实现 6/docs/api/javax/sql/DataSource.html" rel="nofollow">DataSource 到 Tomcat 的 JNDI 注册表中。然后所有应用程序都可以从同一源检索连接。要限制对某些应用程序的访问,只需强制它们使用 需要用户名和密码的 getConnection() 方法,只有拥有凭据的应用程序才能使用它。
You probably don't actually want to share a single connection across apps. You probably want to share the thing that creates connections, which should be a connection pool. Put an appropriate implementation of DataSource into Tomcat's JNDI registry. Then all apps can retrieve a connection from the same source. To restrict access to some apps, just force them to use the getConnection() method that requires a username and password, and only the apps that have credentials can use it.
在 Tomcat 的
server.xml
中声明一个数据源资源,并在context.xml
中引用该资源。 这涵盖了您的情况。Declare in your Tomcat's
server.xml
a dataSource resource and reference that in yourcontext.xml
. This covers your case.