查看 Tomcat 的 JNDI 树
View Tomcat's JNDI tree
鉴于我有 context.xml
和 Resource
定义,我将其复制到 /usr/local/tomcat/conf/context.xml
如何检查 Resource
是否按预期创建?
应用context.xml后,有什么方法可以查看JNDI树吗?
如果你想看看里面发生了什么Tomcat,你应该启用 JMX。
参见 Monitoring and Managing Tomcat 8.5。
然后您可以使用 Java 附带的 jconsole
命令进行连接,您可以在其中看到 Tomcat 中每个 webapps 运行 可用的资源实例.
我个人从来没有将 Data Sources <Resource>
元素放在 context.xml
文件中,而是将它们放在 server.xml
中,然后将 <ResourceLink>
元素放在上下文的 XML 文件(不是 .../conf/context.xml
,而是 .../conf/Catalina/localhost/mywebapp.xml
)。
这允许同一个 Tomcat 实例中的多个 Web 应用程序 运行 共享数据库连接池。
所以在我的实例中,我可以在 /Catalina/ResourceLink/Context
节点下方看到我的 webapp(来自 mywebapp.xml
)的资源链接,以及 server.xml
下方的资源(来自 server.xml
) =20=]节点.
我还可以在 /Catalina/DataSource/javax.sql.DataSource
节点下看到数据源。
鉴于我有 context.xml
和 Resource
定义,我将其复制到 /usr/local/tomcat/conf/context.xml
如何检查 Resource
是否按预期创建?
应用context.xml后,有什么方法可以查看JNDI树吗?
如果你想看看里面发生了什么Tomcat,你应该启用 JMX。
参见 Monitoring and Managing Tomcat 8.5。
然后您可以使用 Java 附带的 jconsole
命令进行连接,您可以在其中看到 Tomcat 中每个 webapps 运行 可用的资源实例.
我个人从来没有将 Data Sources <Resource>
元素放在 context.xml
文件中,而是将它们放在 server.xml
中,然后将 <ResourceLink>
元素放在上下文的 XML 文件(不是 .../conf/context.xml
,而是 .../conf/Catalina/localhost/mywebapp.xml
)。
这允许同一个 Tomcat 实例中的多个 Web 应用程序 运行 共享数据库连接池。
所以在我的实例中,我可以在 /Catalina/ResourceLink/Context
节点下方看到我的 webapp(来自 mywebapp.xml
)的资源链接,以及 server.xml
下方的资源(来自 server.xml
) =20=]节点.
我还可以在 /Catalina/DataSource/javax.sql.DataSource
节点下看到数据源。