使用Spring MVC在hibernate配置中找不到Jboss JNDI名称

时间:2014-06-23 13:30:59

标签: java spring hibernate jboss jndi

我最近从Struts 1.2迁移到了Spring MVC。我试图在Jboss 7.1.1中部署ear,并从Scratch启动应用程序而不是使用Struts的Action类。我正在使用Hibernate作为应用程序的ORM工具。

早期在Struts应用程序中,通过hibernate配置进行JNDI数据源查找没有问题。但由于某种原因,相同的配置似乎不适用于Spring。我一次又一次地听到错误:

引起:javax.naming.NameNotFoundException:env / oraclePool - service jboss.naming.context.java.module.ExecEngine。" ExecEngine.war" .env.oraclePool

Jboss中的数据源按以下方式配置:

< datasource jndi-name =" java:/ oraclePool"池名=" oraclePool"启用="真"使用Java的上下文="真"> ........ < /数据源>

hibernate.cfg.xml中使用的hibernate配置是:

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

我试图部署的耳朵的名称是ExecEngine.ear,它具有相同名称的war和jar。这个耳朵的结构是:

  • 具有MANIFEST.MF和application.xml
  • 的META-INF文件夹
  • lib文件夹
  • ExecEngine.jar
  • 具有WEB-INF文件夹的ExecEngine.war,其中包含spring-servlet.xml和web.xml。

1 个答案:

答案 0 :(得分:0)

您是否尝试从hibernate.cfg.xml中删除comp / env?