非常に単純な耳のアプリケーションを実行しようとしています。私はまさにこの問題に遭遇しているようですが、ここでの議論は私にとってはうまくいきません .JDBCリソース名はコンテナによって変更されています(__pm
それに追加されています)
私の場合、データソース名も によって追加されてい__pm
ます。どこから来たのかはわかりませんが、サーバーログは、それを検索するのではなく、展開databasename
を検索しdatabasename__pm
て失敗するという事実を示しています。
Persistence.xml :-
<?xml version="1.0" encoding="UTF-8"?>
<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="FCK-ejbPU" transaction-type="JTA">
<jta-data-source>FCKDatabase</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
</persistence-unit>
</persistence>
Glassfish ログ:
Error occurred during deployment: Exception while preparing the app : Invalid resource : { ResourceInfo : (jndiName=java:app/jdbc/FCKDatabase__pm), (applicationName=FCK) }. Please see server.log for more details.
Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method : java.lang.RuntimeException: Invalid resource : { ResourceInfo : (jndiName=java:app/jdbc/FCKDatabase__pm), (applicationName=FCK) }
Invalid resource : { ResourceInfo : (jndiName=java:app/jdbc/FCKDatabase__pm), (applicationName=FCK) }
ご覧のとおり、私のリソースの JNDI 名には__pm
.
また、Glassfish サーバー コンソールでは、リソースは FCKDatabase_pm ではなく FCKDatabase として正しく表示されます。
これはどこ__pm
から来たのですか?
システム:
- ネットビーンズ7.3
- グラスフィッシュ サーバー 3.1.2