由于几个小时我试图找到我在Java EE-Program中产生的一些错误。它使用HSQLDB数据源。当服务器(JBoss 7.1.1 final)启动时,可以找到数据库并正确创建所有需要的表。但在最后ob部署我得到以下错误:使用HSQL 2.2.9作为数据源的JBoss 7.1部署错误
21:36:43,502 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.persistenceunit.\"BusinessLogic.jar#BusinessLogic\"jboss.naming.context.java.DefaultDSMissing[jboss.persistenceunit.\"BusinessLogic.jar#BusinessLogic\"jboss.naming.context.java.DefaultDS]"]}}}
DefaultDS是我的数据源。除非从我的standalone.xml
:
<datasource jta="true" jndi-name="java:jboss/DefaultDS" pool-name="DefaultDS" enabled="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}localDB</connection-url>
<driver>hsqldb</driver>
<security>
<user-name>sa</user-name>
<password></password>
</security>
<pool>
<prefill>false</prefill>
<use-strict-min>false</use-strict-min>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name>sa</user-name>
</security>
</datasource>
我连接到使用JPA和我persistence.xml
这个数据库:
<?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">
<persistence-unit name="BusinessLogic">
<!-- Durch "java:/DefaultDS" wird dem JBoss angewiesen, die integrierte HSQLDB,
die als "Default Datasource" eingebunden ist, für die Persistenz der
Applikation zu verwenden -->
<jta-data-source>java:/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<!--Die Eigenschaft "hibernate.hbm2ddl.auto" legt fest, wie mit bereits
bestehenden Tabellen verfahren werden soll. "create-drop" bedeutet,
dass alle Tabellen bei einem Deployment der Applikation gelöscht und
neu angelegt werden. Sobald sich an Ihrer Entity Beans nichts mehr
ändert, kann hier auch "update" gewählt werden, damit bleiben einmal
angelegte Daten erhalten. -->
<property name="hibernate.hbm2ddl.auto" value="create-drop"/> <!-- create-drop -->
<property name="hibernate.format_sql" value="false" />
<property name="hibernate.show_sql" value="false" />
</properties>
</persistence-unit>
</persistence>
正如我所说的,在服务器JPA正确创建的所有表的开始,所以我想JDBC驱动程序没问题,数据库正在工作。