Java,JPA,Glassfish,无效资源:jdbc / __ default__pm [英] Java, JPA, Glassfish, Invalid resource : jdbc/__default__pm

查看:155
本文介绍了Java,JPA,Glassfish,无效资源:jdbc / __ default__pm的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Glassfish 3.1.2.2(build 5),JPA,EclipseLink,MySQL



我通过Glassfish管理面板创建了MySQL池。从GF管理面板ping到MySQL可以。



我用persistence.xml创建了应用程序:

 <?xml version =1.0encoding =UTF-8?> 
< persistence xmlns =http://java.sun.com/xml/ns/persistenceversion =2.0>
< persistence-unit name =myUnit>
< provider> org.eclipse.persistence.jpa.PersistenceProvider< / provider>
<属性>
< property name =javax.persistence.jdbc.urlvalue =jdbc:mysql:// localhost:3306 / myDBName/>
< property name =javax.persistence.jdbc.drivervalue =com.mysql.jdbc.Driver/>
< property name =javax.persistence.jdbc.uservalue =root/>
< property name =javax.persistence.jdbc.passwordvalue =myPass/>
< property name =javax.persistence.ddl-generationvalue =drop-and-create-tables/>
< / properties>
< / persistence-unit>



我试图部署它,得到错误:

 资源无效:jdbc / __ default__pm 

[#| 2012-11-16T02 :20:59.480 + 0400 | SEVERE | glassfish3.1.2 | javax.enterprise.system.core.com.sun.enterprise.v3.server | _ThreadID = 43; _ThreadName = Thread-2; |无效资源:jdbc / __ default__pm
java.lang.RuntimeException:资源无效:jdbc / __ default__pm

GF日志中的堆栈跟踪很大。开始于

 在com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:540)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:469)
在org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63)
在org.glassfish。 persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71)
....

有没有人有想法发生了什么,该怎么办?

解决方案

如果您只创建了一个MySQL连接池,创建一个JDBC资源。这可以从您用于创建连接池的上下文菜单创建。





在我的Glassfish中,我的JDBC资源,jdbc / __默认使用连接池mysql_lemon。


I use Glassfish 3.1.2.2 (build 5), JPA, EclipseLink, MySQL

I created MySQL pool via Glassfish admin panel. Ping to MySQL from GF admin panel is ok.

I created app with persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="myUnit">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <properties>
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/myDBName"/>
        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
        <property name="javax.persistence.jdbc.user" value="root"/>
        <property name="javax.persistence.jdbc.password" value="myPass"/>
        <property name="javax.persistence.ddl-generation" value="drop-and-create-tables"/>
    </properties>
</persistence-unit>

I tried to deploy it and got the error:

Invalid resource : jdbc/__default__pm

[#|2012-11-16T02:20:59.480+0400|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=43;_ThreadName=Thread-2;|Invalid resource : jdbc/__default__pm
java.lang.RuntimeException: Invalid resource : jdbc/__default__pm

Stacktrace in GF log is huge. Started by

at com.sun.enterprise.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:540)
at com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:469)
at org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63)
at org.glassfish.persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71)
....

Does anyone have ideas what happened and what to do?

解决方案

If you have only created a MySQL connection pool, you must also create a JDBC resource. This can be created from the context menu above the one you used to create the connection pool.

In my Glassfish, my JDBC resource, jdbc/__default is using the connection pool mysql_lemon.

这篇关于Java,JPA,Glassfish,无效资源:jdbc / __ default__pm的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆