由於幾個小時我試圖找到我在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驅動程序沒問題,數據庫正在工作。