1

我在 Eclipse 中创建了一个 Web 项目,并添加了一个 glassfish-resource.xml init 并使用我的数据库 url 对其进行配置。我还在我的项目中添加了一个 persistence.xml 单元,并为我在 glassfish-resource.xml 中定义的数据源添加了一个 jta-datasource,但是当应用程序在 ide 中的 glassfish 上部署时,我收到错误消息:“java:module 查找失败” /jdbc/sportal' 在 SerialContext

我的 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 版本是 Open edition 3.0.1, JPA2, eclipse Helios

RGDS

4

2 回答 2

0

Glassfish 启动时很可能没有创建 jdbc 资源。转到 Glassfish 管理控制台并在 JDBC 资源下查看您的运动资源是否已创建。

我不知道 Eclipse Glassfish 模块是否可以使用 glassfish-resources.xml 自动执行此操作,我所知道的是 Netbeans 7 在 Glassfish 启动时自动创建了 jdbc 资源(或者它是否在我对数据库表进行逆向工程时创建它?) ?

无论哪种方式,您都必须先创建 JDBC 资源。

于 2012-01-03T15:19:07.397 回答
-1

尝试仅使用“jdbc/sportal”作为 JNDI 和 DS 名称,前缀可能会造成混淆。

于 2011-11-14T15:38:19.573 回答