2011-11-14 63 views
1

我在eclipse中創建了一個Web項目並添加了glassfish-resource.xml init並使用我的數據庫url進行配置。 我還在我的項目中添加了一個persistence.xml單元,併爲我在glassfish-resource.xml中定義的數據源添加了一個jta-datasource,但是當應用程序在ide中的glassfish上部署時,出現錯誤: 'java :在SerialContext模塊/ JDBC/sportal」eclipse中的glassfish-resource.xml和持久化單元ang glassfish v3.0

我與GlassFish resource.xml:

<resources> 
<jdbc-connection-pool name="java:module/jdbc/sportalPool" 
    res-type="javax.sql.DataSource" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" 
    pool-resize-quantity="1" max-pool-size="5" steady-pool-size="0" 
    statement-timeout-in-seconds="30"> 
    <property name="User" value="root"></property> 
    <property name="Password" value="1234"></property> 
    <property name="portNumber" value="3306"></property> 
    <property name="dataBaseName" value="sportal"></property> 
    <property name="serverName" value="192.168.2.7"></property> 
</jdbc-connection-pool> 
<jdbc-resource pool-name="java:module/jdbc/sportalPool" 
    jndi-name="java:module/jdbc/sportal"></jdbc-resource> 

和我的persistence.xml是:

<persistence version="2.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_2_0.xsd"> 
<persistence-unit name="PU" transaction-type="JTA"> 
    <jta-data-source>java:module/jdbc/sportal</jta-data-source> 
    <properties> 
     <property name="eclipselink.ddl-generation" value="create-tables" /> 
     <property name="eclipselink.logging.level" value="FINE" /> 
    </properties> 
</persistence-unit> 

我也得到了與「java:app/...」相同的錯誤,而不是「java:module/...」。

我GlassFish的版本是3.0.1開版,JPA2,月食太陽神

RGDS

回答

-1

嘗試使用剛剛爲 「jdbc/sportal」 爲JNDI和DS的名稱,前綴可能會產生混淆的東西。

0

當Glassfish啓動時,很可能不會創建jdbc資源。轉到Glassfish管理控制檯,在JDBC資源下查看您的運動資源是否已創建。

我不知道Eclipse Glassfish模塊是否可以使用glassfish-resources.xml自動執行此操作,我所知道的是Netbeans 7在Glassfish啓動時自動創建了jdbc資源(或者在我逆向工程時創建它數據庫表?)?

無論哪種方式,您必須先創建JDBC資源。