我有一个使用JNDI定位数据源和事务管理器的webapp。我从Jetty文档中看到如何通过jetty-env.xml文件执行此操作。但是它提到应该将此文件放入WEB-INF目录中。
为什么他们会建议在我的WAR内部的配置文件中配置JNDI资源?这没有任何意义......我一直认为JNDI是一种外部化配置的方式。还有另一个地方我可以把这个文件放在Jetty服务器上吗?
后续问题:在我的Maven WAR模块中怎么样...我应该如何处理这个文件以便我可以使用Maven jetty插件进行开发,但是文件最终没有在WAR中?
答案 0 :(得分:4)
我可以将另一个地方放在Jetty服务器上吗?
官方JNDI页面的内容如下:
有3个地方可以 定义命名条目:
- 的jetty.xml
- WEB-INF /码头-env.xml
- context xml file
醇>在a中定义的命名条目
jetty.xml
文件通常是 限制在jvm级别或 服务器级别。命名条目jetty-env.xml
文件通常是 范围限定在webapp中的文件 居住,虽然你能够 如果您输入jvm或Server范围 希望,这不是真的推荐。 在大多数情况下,您将定义所有 命名要显示的条目 到特定的服务器实例,或jetty.xml
中的jvm整体 文件。上下文xml文件中的条目 通常将在该级别范围内 它适用的webapp, 虽然再一次,你可以提供一个 不太严格的服务器或 jvm如果你想要的话。
使用jetty.xml
配置“在webapp之外”的内容。
的jettyConfig参数后续问题:在我的Maven WAR模块中怎么样...我应该如何处理这个文件以便我可以使用Maven jetty插件进行开发,但是文件最终没有在WAR中?
jettyConfig
可选。除了任何插件配置参数之外还将应用的jetty.xml文件的位置。如果您要部署其他Web应用程序,处理程序等,或者您有其他无法从插件配置的jetty对象,则可以使用它。
答案 1 :(得分:3)
jetty-env.xml只是设置JNDI参数的附加选项。要在WAR之外设置JNDI参数,可以将它们放在jetty.xml中。