JNDI-name der Ressource angehängt mit __Uhr . Die Bereitstellung schlägt fehl
Ich versuche zu laufen eine sehr einfache ear-Anwendung . scheine ich genau in dieses Thema, aber die Diskussionen hier nicht funktionieren für mich JDBC-Ressource-name wird geändert von container (__pm
wird angehängt)
In meinem Fall auch den Namen der Datenquelle wird appened von __pm
. Ich habe keine Ahnung, Woher es kommt, aber die server-logs zeigen Sie auf die Tatsache, dass statt der Suche nach databasename
sucht databasename__pm
und schlägt fehl, die Bereitstellung.
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-Protokolle :
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) }
Wie Sie sehen können, meinen Sie den JNDI-Namen der Ressourcen ist appened mit __pm
.
Auch auf dem Glassfish-server-Konsole wird die Ressource korrekt angezeigt FCKDatabase und nicht FCKDatabase_pm
Irgendeine Ahnung, wo dieser __pm
kommt ?
System:
- Netbeans 7.3
- Glassfish Server 3.1.2
Du musst angemeldet sein, um einen Kommentar abzugeben.
War das problem, dass die mysql connector jar Datei war nicht in der glassfish-server. Dieser tritt in einer Reihe von Problemen. Die, die ich oben gepostet ist nur eine der Fehlermeldungen, die der server-logs enthält. Ich schlage vor, Sie gehen durch die gesamte Liste der Fehlermeldung und versuchen Sie das Debuggen von dort. Den folgenden link hat mir geholfen, legen Sie die jar-Dateien an den richtigen Speicherort:
Da Netbeans 7.1, wenn die IDE erzeugt das
persistence.xml
diejta
Feld undglassfish-resouces
JNDI-name erzeugt mit einem Präfixjava:module/
es hat zu sein gelöscht in beiden Dateien, es hat zu schauen, wiejdbc/[anyName]
. Getestet wurde dies auf Netbeans 8.1 und Glassfish 4.0.Im Bild, die zweite option zeigt die generierten Namen, die ungültig ist en Glassfish, weil die ':'
Hier ist eine andere Lösung, die ich gefunden habe, wird es hilfreich sein, zu jedem.
Kopieren Sie den Namen der Ressource, die Sie sind mit dem problem konfrontiert, und befolgen Sie die unten aufgeführten Schritte.
Bereitstellen der Anwendung und überprüfen.
In meinem Fall habe ich nur, zog mein
glassfish-resources.xml
Datei,aus:
my_web_app /src /main /webapp /WEB-INF
zu:
my_web_app /src /main /setup
Und GlassFish gestartet, die Datei zu erkennen, die erstellt die Ressourcen.