我正在尝试按照这种方法为嵌入式 glassfish 创建数据源。本教程和我的代码之间唯一的显着区别是我使用官方 maven 插件和embedded-glassfish:run
目标运行服务器。
pom文件中有对JDBC驱动的依赖:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.155</version>
</dependency>
和我的glassfish-resources.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<jdbc-resource enabled="true" jndi-name="jdbc/myDatasource" object-type="user" pool-name="connectionPool">
<description/>
</jdbc-resource>
<jdbc-connection-pool datasource-classname="org.h2.jdbcx.JdbcDataSource" name="connectionPool" res-type="javax.sql.DataSource">
<property name="URL" value="jdbc:h2:~/Documents/Projetos/DBs/h2/glassfish/glassfish;AUTO_SERVER=TRUE;MVCC=TRUE"/>
<property name="User" value="sa"/>
<property name="Password" value=""/>
<property name="driverClass" value="org.h2.Driver"/>
</jdbc-connection-pool>
</resources>
它使用本地 glassfish 服务器运行良好。但是嵌入式实例并不幸运:
2011 年 3 月 6 日 19:26:31 com.sun.enterprise.v3.server.ApplicationLifecycle deploy GRAVE:资源无效:jdbc/myDatasource_ pm java.lang.RuntimeException:资源无效: com.sun.enterprise 的 jdbc/myDatasource _pm .connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:539) 在 com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:468) 在 org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63 ) 在 org.glassfish.persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71) 在
我一无所知...有人可以对此有所了解吗?