如何使Jetty读取新的Jetty-xxx.xml文件
我已经为我的jndi数据源创建了一个具有特定配置的xml文件,如下所示:如何使Jetty读取新的Jetty-xxx.xml文件,jetty,Jetty,我已经为我的jndi数据源创建了一个具有特定配置的xml文件,如下所示: <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd"> <Configure id="Server" class="org.eclipse.jetty.server.Server">
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<New id="MyDB" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>jdbc/MyDB</Arg>
<Arg>
<New class="com.mysql.cj.jdbc.MysqlConnectionPoolDataSource">
<Set name="url">******</Set>
<Set name="user">******</Set>
<Set name="password">******</Set>
</New>
</Arg>
</New>
</Configure>
jdbc/MyDB
******
******
******
已在$JETTY_BASE/etc上删除此文件,但JETTY似乎无法读取该文件以配置数据源。但是,如果我选择“New”标记并将其复制到jetty.xml文件中,它就会工作
我希望这是一个单独的文件,以便更容易部署到生产环境中,并在jetty maven插件中使用此文件
这可能吗?我做错了什么?Jetty只会根据配置读取要求读取的内容 您可以使用
--list config
命令行选项查看这将是什么
例如:
[new base]$java-jar../jetty-home-9.4.11.v20180605/start.jar--列表配置
…(大量输出)。。。
Jetty主动XML:
------------------
${jetty.home}/etc/jetty-threadpool.xml
${jetty.home}/etc/jetty.xml
${jetty.home}/etc/jetty-webapp.xml
${jetty.home}/etc/jetty-plus.xml
${jetty.home}/etc/jetty-annotations.xml
${jetty.home}/etc/jetty-deploy.xml
${jetty.home}/etc/jetty-http.xml
${jetty.home}/etc/jetty-jmx.xml
如您所见,仅读取上述XML文件
假设我们添加一个${jetty.base}/etc/mydatasource.xml
,我们还需要告诉jetty使用该xml
我们可以手动将它添加到${jetty.base}/start.ini
中,或者使用您想要的任何名称创建一个新文件,例如${jetty.base}/start.d/mydatasource.ini
例如:
[new base]$cat start.d/mydatasource.ini
etc/mydatasource.xml
现在,当你问,你会看到它列出
[new-base]$ java -jar ../jetty-home-9.4.11.v20180605/start.jar --list-config
...(snip lots of output)...
Jetty Active XMLs:
------------------
${jetty.home}/etc/jetty-threadpool.xml
${jetty.home}/etc/jetty.xml
${jetty.home}/etc/jetty-webapp.xml
${jetty.home}/etc/jetty-plus.xml
${jetty.home}/etc/jetty-annotations.xml
${jetty.home}/etc/jetty-deploy.xml
${jetty.home}/etc/jetty-http.xml
${jetty.home}/etc/jetty-jmx.xml
${jetty.base}/etc/mydatasource.xml
谢谢,它确实工作得很好。只要在start.d文件夹中创建新的ini文件就足够了。通过这种方式,我可以保持原来的jetty文件不变,只需添加新文件即可配置我的生产服务器。谢谢。Jetty文档中没有明确讨论这一点,理解这一点非常关键。@user2959589请参见