首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jetty数据源,休眠,找不到数据源

Jetty数据源,休眠,找不到数据源
EN

Stack Overflow用户
提问于 2011-10-10 23:13:59
回答 1查看 3.7K关注 0票数 1

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

下面是我在jetty.xml中拥有的东西(这将是这个jetty实例中的唯一应用程序,所以我不介意在服务器范围内使用DB连接-我不希望在war中配置它)。它位于最后一个</Configure>上方的最底部

代码语言:javascript
复制
<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>

在我的webapp的WEB-INF/web.xml中:

代码语言:javascript
复制
<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>

最后,在我的hibernate.cfg.xml中:

代码语言:javascript
复制
<property name="connection.datasource">java:comp/env/jdbc/myDB</property>

然而,我得到了一个未找到数据源的错误,并且我还看到了以下NameNotFoundException:

代码语言:javascript
复制
javax.naming.NameNotFoundException; remaining name 'env/jdbc/myDB'

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-10 23:26:33

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

尝试:

代码语言:javascript
复制
<property name="connection.datasource">jdbc/myDB</property>

在您的Hibernate配置中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7714899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档