Java Jetty 8-如何从Jetty-env.xml配置JNDI信息
我有一个Jetty 8.1.16的webapp,它使用JNDI读取数据库连接信息。该应用程序是用maven构建的,可以使用maven jetty插件在开发机器上成功运行 但是,在部署到远程服务器时,jetty无法找到JDNI数据源:Java Jetty 8-如何从Jetty-env.xml配置JNDI信息,java,jetty,Java,Jetty,我有一个Jetty 8.1.16的webapp,它使用JNDI读取数据库连接信息。该应用程序是用maven构建的,可以使用maven jetty插件在开发机器上成功运行 但是,在部署到远程服务器时,jetty无法找到JDNI数据源: SEVERE: [application] DataSource JNDI name not found. javax.naming.NameNotFoundException; remaining name 'env/jdbc/Foo' 尝试以编程方式获取it时
SEVERE: [application] DataSource JNDI name not found.
javax.naming.NameNotFoundException; remaining name 'env/jdbc/Foo'
尝试以编程方式获取it时:
DataSource datasource = (DataSource)ctx.lookup( "java:comp/env/jdbc/" + datasourceName);
使用jetty-env.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id='wac' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="Foo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>jdbc/Foo</Arg>
<Arg>
<New class="com.microsoft.sqlserver.jdbc.SQLServerXADataSource">
<Set name="URL">Connection String</Set>
</New>
</Arg>
</New>
</Configure>
我在这一点上完全失败了
将JETTY加到选项中是不起作用的。,考虑升级。JoakimrdDrd:我意识到,但是这个项目不是在我们愿意做的状态下,考虑升级。JoakimrdDrd:我知道,但是这个项目不是我们愿意这样做的状态。
<resource-ref>
<description>Foo DataSource Reference</description>
<res-ref-name>jdbc/Foo</res-ref-name>
<res-type>javax.sql.XADataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Options=Server,jsp,jmx,resource,websocket,ext,plus,annotations
etc/jetty.xml
etc/jetty-deploy.xml
etc/jetty-webapps.xml
etc/jetty-contexts.xml
etc/jetty-testrealm.xml
etc/jetty-plus.xml
etc/jetty-annotations.xml