码头数据源,休眠,未找到数据源

我正在尝试在Jetty 7.4中配置数据源。我可以使用Tomcat context.xml中的Web应用程序成功完成此操作。

这就是我在jetty.xml中的内容(这将是该码头实例中的唯一应用程序,因此我不介意在服务器范围内使用数据库连接-我宁愿不必在战争中进行配置)

。它位于最后一个上方的最底部</Configure>

<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>

在我的Web应用程序的WEB-INF / web.xml中:

<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中:

<property name="connection.datasource">java:comp/env/jdbc/myDB</property>

但是,我遇到了找不到数据源的错误,并且还看到了以下NameNotFoundException:

javax.naming.NameNotFoundException; remaining name 'env/jdbc/myDB'

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

回答:

是的,那是一些应用服务器的bizzarerry。有些需要在JNDI资源名称前加上“ java:comp /

env”,有些则不需要。我认为Spring甚至可以在声明JNDI资源Bean(例如数据源)时启用/禁用该前缀。

尝试:

<property name="connection.datasource">jdbc/myDB</property>

在您的Hibernate配置中。

以上是 码头数据源,休眠,未找到数据源 的全部内容, 来源链接: utcz.com/qa/403089.html

回到顶部