Jboss 7-Oracle数据源不工作

Jboss 7-Oracle数据源不工作,oracle,persistence,datasource,jboss7.x,ojdbc,Oracle,Persistence,Datasource,Jboss7.x,Ojdbc,我正在用一个WAR项目开发一个Web应用程序。它使用JPA,并且有一个数据源,我需要将其配置为在JBoss7上运行。数据库是Oracle 我得到了这个错误: JBAS014775: New missing/unsatisfied dependencies: service jboss.naming.context.java.jboss.resources.jboss.jdbc.batchAdminDB 我已经按照说明在Jboss上使用dataSource。所以我有这些配置:

我正在用一个WAR项目开发一个Web应用程序。它使用JPA,并且有一个数据源,我需要将其配置为在JBoss7上运行。数据库是Oracle

我得到了这个错误:

JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.naming.context.java.jboss.resources.jboss.jdbc.batchAdminDB
我已经按照说明在Jboss上使用dataSource。所以我有这些配置:

{JBOSS_HOME}/modules/com/oracle/ojdbc6/main/module.xml:


ojdbc6.jar存在并且名称正确

standalone.xml


jdbc:oracle:thin:@HOST:PORT/xe
神谕
使用者
PASSW
oracle.jdbc.driver.OracleDriver
oracle.jdbc.xa.client.oraclexadasource
关于申请: META-INF/persistence.xml:


java:jboss/jdbc/batchAdminDB
...
...
当Jboss启动(没有应用程序)时,它开始读取(绑定)数据源。当我尝试部署应用程序时出现错误,它无法运行

StackTrace的更多帮助:

15:57:46,888 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) JBAS010400: Bound data source [java:jboss/jdbc/batchAdminDB]
...
15:57:52,356 INFO  [org.hibernate.ejb.Ejb3Configuration] (MSC service thread 1-2) HHH000204: Processing PersistenceUnitInfo [
    name: batchAdminEM
    ...]
15:57:53,649 ERROR [org.jboss.as] (MSC service thread 1-1) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 13255ms - Started 325 of 568 services (165 services failed or missing dependencies, 76 services are passive or on-demand)
15:57:53,861 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "BatchAdmin.war" was rolled back with failure message {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.BatchAdmin.BatchAdmin.env.jboss.jdbc.batchAdminDBjboss.naming.context.java.jboss.resources.jboss.jdbc.batchAdminDBMissing[jboss.naming.context.java.module.BatchAdmin.BatchAdmin.env.jboss.jdbc.batchAdminDBjboss.naming.context.java.jboss.resources.jboss.jdbc.batchAdminDB]"]}
JBAS014775:    New missing/unsatisfied dependencies:
      service jboss.naming.context.java.jboss.resources.jboss.jdbc.batchAdminDB (missing) dependents: [service jboss.naming.context.java.module.BatchAdmin.BatchAdmin.env.jboss.jdbc.batchAdminDB] 

15:57:53,934 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.BatchAdmin.BatchAdmin.env.jboss.jdbc.batchAdminDBjboss.naming.context.java.jboss.resources.jboss.jdbc.batchAdminDBMissing[jboss.naming.context.java.module.BatchAdmin.BatchAdmin.env.jboss.jdbc.batchAdminDBjboss.naming.context.java.jboss.resources.jboss.jdbc.batchAdminDB]"]}}}

您使用了错误的连接URL格式。使用
xe
作为SID时,必须使用:

jdbc:oracle:thin:@HOST:PORT:xe

查看更多信息

您还必须以这种方式更改module.xml文件中的一行:

<module xmlns="urn:jboss:module:1.0" name="com.oracle.ojdbc6">

过了很长时间,我发现了问题所在

web.xml包含以前在Tomcat上使用过的配置

<resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jboss/jdbc/batchAdminDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

数据库连接
jboss/jdbc/batchAdminDB
javax.sql.DataSource
容器
这种配置很可能让Jboss感到困惑。不再需要了

解决方案:
只需注释或删除该部分(参考资料)

有用的链接(葡萄牙语):

我见过,也见过其他人,但他们都没有为meHi Reza工作过。正如您所说,我已经更改了它,但错误仍然存在。您好@Reicardo,我想我不久前也遇到了同样的问题,这是因为module.xml文件中有一些多余的多余空格。我最终从一个工作模块复制了一个文件,然后小心地更改了内容,以免添加任何额外的空间。此外,我认为正确的驱动程序类名必须是“oracle.jdbc.OracleDriver”。试试这两个,看看接下来会发生什么。谢谢你帮助@Reza。我重新检查了每个配置文件中的字符串。他们很好。我还更改了oracle驱动程序类。问题persists@Ricardo:您还应该更改module.xml文件。看上面!
<resource-ref>
  <description>DB Connection</description>
  <res-ref-name>jboss/jdbc/batchAdminDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>