Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EJB的数据源问题_Java_Jboss_Ejb - Fatal编程技术网

Java EJB的数据源问题

Java EJB的数据源问题,java,jboss,ejb,Java,Jboss,Ejb,在让我的EJB正常工作时遇到了一些问题-最终我设法让我的JBoss服务器与Netbeans一起正常工作,现在我遇到了以下错误,这似乎与我的数据源有关: 服务器日志如下: 2012-03-11 19:05:11,181 INFO [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) undeploy, ctxPath=/group4_Implementation-war 2012-03-11 19:05:12,

在让我的EJB正常工作时遇到了一些问题-最终我设法让我的JBoss服务器与Netbeans一起正常工作,现在我遇到了以下错误,这似乎与我的数据源有关:

服务器日志如下:

2012-03-11 19:05:11,181 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) undeploy, ctxPath=/group4_Implementation-war
2012-03-11 19:05:12,373 INFO  [org.jboss.profileservice.management.upload.remoting.DeployHandler] (WorkerThread#0[127.0.0.1:30606]) invoke, payload: {DeploymentTargetID=names=[group4_Implementation.ear], clientAddress=/127.0.0.1}, parameter: start
2012-03-11 19:05:12,374 WARN  [org.jboss.profileservice.management.upload.remoting.DeployHandler] (WorkerThread#0[127.0.0.1:30606]) Failed to complete command: [start] for deployment: names=[group4_Implementation.ear]: org.jboss.profileservice.spi.NoSuchDeploymentException: group4_Implementation.ear
    at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.resolveProfileForDeployment(AbstractDeployHandler.java:291) [:0.2.2]
    at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.resolveProfiles(AbstractDeployHandler.java:248) [:0.2.2]
    at org.jboss.profileservice.plugins.deploy.AbstractDeployHandler.startDeployments(AbstractDeployHandler.java:157) [:0.2.2]
    at org.jboss.profileservice.management.upload.remoting.DeployHandlerDelegate.startDeployments(DeployHandlerDelegate.java:74) [:6.1.0.Final]
    at org.jboss.profileservice.management.upload.remoting.DeployHandler.invoke(DeployHandler.java:156) [:6.1.0.Final]
    at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967) [:6.1.0.Final]
    at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791) [:6.1.0.Final]
    at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744) [:6.1.0.Final]
    at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:548) [:6.1.0.Final]
    at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234) [:6.1.0.Final]

2012-03-11 19:05:16,436 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) deploy, ctxPath=/group4_Implementation-war
2012-03-11 19:05:16,469 WARN  [org.jboss.profileservice.deployment.hotdeploy.HDScanner] (HDScanner) Scan failed: org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS MISSING DEPENDENCIES:
  Deployment "persistence.unit:unitName=group4_Implementation.ear/group4_Implementation-ejb.jar#wvp08heuPU" is missing the following dependencies:
    Dependency "jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding' **")

DEPLOYMENTS IN ERROR:
  Deployment "jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding' **

    at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1370) [:2.2.2.GA]
    at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1316) [:2.2.2.GA]
    at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:968) [:2.2.2.GA]
    at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.checkComplete(MainDeployerPlugin.java:82) [:6.1.0.Final]
    at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.checkComplete(ProfileControllerContext.java:138) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.deploy(HDScanner.java:246) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.complete(HDScanner.java:192) [:0.2.2]
    at org.jboss.profileservice.management.TwoPCActionWrapper.doComplete(TwoPCActionWrapper.java:57) [:0.2.2]
    at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.complete(AbstractTwoPhaseModificationAction.java:74) [:0.2.2]
    at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.prepare(AbstractTwoPhaseModificationAction.java:95) [:0.2.2]
    at org.jboss.profileservice.management.ModificationSession.prepare(ModificationSession.java:87) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.internalPerfom(AbstractActionController.java:234) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.performWrite(AbstractActionController.java:213) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:150) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:135) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner.scan(HDScanner.java:146) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner.run(HDScanner.java:90) [:0.2.2]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [:1.6.0_20]
    at java.lang.Thread.run(Unknown Source) [:1.6.0_20]

2012-03-11 19:05:21,516 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) undeploy, ctxPath=/group4_Implementation-war
2012-03-11 19:05:21,703 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (HDScanner) deploy, ctxPath=/group4_Implementation-war
2012-03-11 19:05:21,734 WARN  [org.jboss.profileservice.deployment.hotdeploy.HDScanner] (HDScanner) Scan failed: org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):

DEPLOYMENTS MISSING DEPENDENCIES:
  Deployment "persistence.unit:unitName=group4_Implementation.ear/group4_Implementation-ejb.jar#wvp08heuPU" is missing the following dependencies:
    Dependency "jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding" (should be in state "Create", but is actually in state "** NOT FOUND Depends on 'jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding' **")

DEPLOYMENTS IN ERROR:
  Deployment "jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.jca:name=POSTGRES-EJB,service=DataSourceBinding' **

    at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1370) [:2.2.2.GA]
    at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:1316) [:2.2.2.GA]
    at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:968) [:2.2.2.GA]
    at org.jboss.system.server.profileservice.deployers.MainDeployerPlugin.checkComplete(MainDeployerPlugin.java:82) [:6.1.0.Final]
    at org.jboss.profileservice.dependency.ProfileControllerContext$DelegateDeployer.checkComplete(ProfileControllerContext.java:138) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.deploy(HDScanner.java:246) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner$HDScanAction.complete(HDScanner.java:192) [:0.2.2]
    at org.jboss.profileservice.management.TwoPCActionWrapper.doComplete(TwoPCActionWrapper.java:57) [:0.2.2]
    at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.complete(AbstractTwoPhaseModificationAction.java:74) [:0.2.2]
    at org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction.prepare(AbstractTwoPhaseModificationAction.java:95) [:0.2.2]
    at org.jboss.profileservice.management.ModificationSession.prepare(ModificationSession.java:87) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.internalPerfom(AbstractActionController.java:234) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.performWrite(AbstractActionController.java:213) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:150) [:0.2.2]
    at org.jboss.profileservice.management.AbstractActionController.perform(AbstractActionController.java:135) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner.scan(HDScanner.java:146) [:0.2.2]
    at org.jboss.profileservice.deployment.hotdeploy.HDScanner.run(HDScanner.java:90) [:0.2.2]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.FutureTask.runAndReset(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [:1.6.0_20]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [:1.6.0_20]
    at java.lang.Thread.run(Unknown Source) [:1.6.0_20]
我的持久性单位:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <!-- The name attribute gives the name that the persistence unit will have
  when it's loaded inside JBoss.
  This is what you use in the PersistenceContext annotation in your class.
  -->
  <persistence-unit name="wvp08heuPU" transaction-type="JTA">
    <!-- This is a reference to the datasource that is used.
    By keeping this seperate it allow the container to pool database connections
    for you, improving performance. It also provide as extra layer of indirection
    allowing the details of the database to be kept seperate from this code.
    -->
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>java:/POSTGRES-EJB</jta-data-source>
    <properties>
      <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
      <property name="hibernate.show_sql" value="true"/>
      <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

org.eclipse.persistence.jpa.PersistenceProvider
java:/POSTGRES-EJB
我已经设置了一个数据源,它已经确认了与数据库的连接

以下技术不确定是否有帮助:

JBoss6.1.0

Netbeans 7.1.1

博士后:8.4

任何帮助都将不胜感激


Lewis

您必须在JBoss的文件夹server/default/deploy中使用DataSource
POSTGRES-EJB
的配置创建xml,或者在JBoss的管理控制台的帮助下设置配置


您必须在JBoss的文件夹server/default/deploy中使用DataSource
POSTGRES-EJB
的配置创建xml,或者在JBoss的管理控制台的帮助下设置配置


感谢您的回复-在看到您的回复之前,我刚刚设法解决了这个问题。您的回答当然正确-我通过将数据源定义添加到EJB模块的“setup”文件夹和jboss-ds.xml中的覆盖容器中,成功地解决了这个问题-这似乎解决了我的问题。哦,另一方面,请注意,您需要在server/default/deploy中包含持久性提供程序JAR文件,否则您将得到使用JBoss 6.1时发生ClassNotFound错误。哦,还有一点值得注意的是,EclipseLink JPA 2.0似乎不喜欢JBoss 6.1,当它试图将其转换为JBoss时,总是会遇到类转换问题。我通过使用TopLinks Essentials 1.0作为提供商解决了这个问题。感谢您的回复-在看到您的回复之前,我刚刚设法解决了这个问题。您的回答当然正确-我通过将数据源定义添加到EJB模块的“setup”文件夹和jboss-ds.xml中的覆盖容器中,成功地解决了这个问题-这似乎解决了我的问题。哦,另一方面,请注意,您需要在server/default/deploy中包含持久性提供程序JAR文件,否则您将得到使用JBoss 6.1时发生ClassNotFound错误。哦,还有一点值得注意的是,EclipseLink JPA 2.0似乎不喜欢JBoss 6.1,当它试图将其转换为JBoss时,总是会遇到类转换问题。我通过使用TopLinks Essentials 1.0作为提供程序来解决这个问题。