Jetty数据源,Hibernate,找不到数据源

Jetty数据源,Hibernate,找不到数据源,hibernate,jetty,datasource,jndi,Hibernate,Jetty,Datasource,Jndi,我正在尝试在Jetty 7.4中配置数据源。我能够在Tomcat context.xml中使用我的webapp成功地做到这一点 以下是我在jetty.xml中的内容(这将是这个jetty实例中唯一的应用程序,因此我不介意在服务器范围内使用DB连接-我不希望在war中配置它)。它位于最底部,就在最后一个的上方: <New class="org.eclipse.jetty.plus.jndi.Resource" id="myDB"> <Arg> <R

我正在尝试在Jetty 7.4中配置数据源。我能够在Tomcat context.xml中使用我的webapp成功地做到这一点

以下是我在jetty.xml中的内容(这将是这个jetty实例中唯一的应用程序,因此我不介意在服务器范围内使用DB连接-我不希望在war中配置它)。它位于最底部,就在最后一个
的上方:

<New class="org.eclipse.jetty.plus.jndi.Resource" id="myDB">
    <Arg>
      <Ref id="Server"/>
    </Arg>
    <Arg>jdbc/myDB</Arg>
    <Arg>
        <New class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
            <Set name="URL">jdbc:sqlserver://SERVERNAME;databaseName=DATABASENAME;sendStringParametersAsUnicode=false</Set>
            <Set name="user">USERNAME</Set>
            <Set name="password">PASSWORD</Set>
        </New>
    </Arg>
</New>

当我在启用调试的情况下启动Jetty时,看起来它正在注册名称和所有内容,尽管我远不是Jetty专家。我在这里漏了一步吗?还剩下什么?

是的,这是一些应用服务器的一大难题。有些需要在JNDI资源名称前加上“java:comp/env”,有些则不需要。我认为Spring甚至可以在声明JNDI资源bean(如数据源)时启用/禁用该前缀

尝试:

jdbc/myDB

在您的Hibernate配置中。

是的,这是一些应用程序服务器的一大难题。有些需要在JNDI资源名称前加上“java:comp/env”,有些则不需要。我认为Spring甚至可以在声明JNDI资源bean(如数据源)时启用/禁用该前缀

尝试:

jdbc/myDB

在您的Hibernate配置中。

总是这样简单。谢谢事情总是这么简单。谢谢我在配置数据源时也遇到了一些麻烦,您到底把数据源(SQL文件)放在哪里了?另外,您所说的jetty.xml是您特定项目的一个,还是jetty配置中的一个?我也很难配置数据源,您到底把数据源(SQL文件)放在哪里了?另外,您正在谈论的jetty.xml是您的特定项目中的一个,还是来自jetty配置的一个?
<resource-ref>
  <description>Database Connection</description>
  <res-ref-name>jdbc/myDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>
<property name="connection.datasource">java:comp/env/jdbc/myDB</property>
javax.naming.NameNotFoundException; remaining name 'env/jdbc/myDB'
<property name="connection.datasource">jdbc/myDB</property>