【发布时间】:2018-09-17 10:56:57
【问题描述】:
鉴于我有 context.xml 和 Resource 定义,我将其复制到 /usr/local/tomcat/conf/context.xml
如何检查Resources 是否按预期创建?
在应用 context.xml 后有什么方法可以查看 JNDI 树吗?
【问题讨论】:
鉴于我有 context.xml 和 Resource 定义,我将其复制到 /usr/local/tomcat/conf/context.xml
如何检查Resources 是否按预期创建?
在应用 context.xml 后有什么方法可以查看 JNDI 树吗?
【问题讨论】:
如果您想查看 Tomcat 内部发生了什么,您应该启用 JMX。
见Monitoring and Managing Tomcat 8.5。
然后您可以使用 Java 附带的 jconsole 命令进行连接,您可以在其中查看该 Tomcat 实例中运行的每个 web 应用程序可用的资源。
我个人从未将数据源 <Resource> 元素放在 context.xml 文件中,而是将它们放在 server.xml 中,然后将 <ResourceLink> 元素放在上下文的 XML 文件中(不是 .../conf/context.xml,而是 .../conf/Catalina/localhost/mywebapp.xml )。
这允许在同一个 Tomcat 实例中运行的多个 webapp 共享数据库连接池。
因此,在我的实例中,我可以在 /Catalina/ResourceLink/Context 节点下方看到我的 web 应用程序的资源链接(来自 mywebapp.xml),在 /Catalina/Resource/Global 节点下方看到资源(来自 server.xml)。
我还可以在/Catalina/DataSource/javax.sql.DataSource 节点下方看到数据源。
【讨论】: