我的 tomcat 的 server.xml 中有以下主机条目
<Host name="app.andrewbucknell.com" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="app" debug="5"/>
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="app_access_log." suffix=".txt"
pattern="common"/>
<Resource name="jdbc/appDB" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="appuser" password="apppass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/appDB"/>
</Host>
我正在尝试转移到 Jetty,但无法弄清楚将资源声明放在哪里。
我想要的是资源声明最终是特定于服务器而不是特定于应用程序的。有什么建议吗?
最佳答案
不是 jetty 专家,但来自他们的 documentation page您可以通过创建 jetty.xml 或 WEB-INF/jetty-env.xml 文件并在其中定义数据源来实现您想要的效果,如下所示:
<New id="jdbc/appDB" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>jdbc/appDB</Arg>
<Arg>
<New class="com.mysql.jdbc.Driver">
<Set name="Url">jdbc:mysql://localhost:3306/appDB</Set>
<Set name="User">appuser</Set>
<Set name="Password">apppass</Set>
</New>
</Arg>
</New>
关于java - 如何将tomcat web应用迁移到jetty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827959/