Wie Sie sich anpassen persistence.xml Datei zu verbinden, JPA, JDBC/MySQL-Datenbank in Java-EE-Umfeld (Tomcat + JSF)
Ich entwickle ein Dynamisches web-Projekt (Java EE) mit JSF, PrimeFaces, JPA, und läuft auf Tomcat 7.
Die Projektentwicklung basiert auf http://www.simtay.com/simple-crud-web-application-with-jsf-2-1-primefaces-3-5-maven-and-jpa/
Jetzt bin ich die Entwicklung der JPA-Teil der software. In der Vergangenheit entwickelte ich einige kleine Dinge (wie übungen), die in Java SE, die ich verwendet, um verwenden Sie die folgenden Datenbank-Eigenschaften:
jdbc.drivers=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=password
Aber jetzt bin ich lernen, JPA Java EE.
In dem Buch "Pro JPA 2-Mastering the Java Handel Persistenz-API", Kapitel 3, Abschnitt "Verpackung" kann man Lesen:
In der Java-EE-Umgebung, viele Eigenschaften, die benötigt werden in der
die Persistenz.xml-Datei für die Java-SE verzichtet werden kann. In Listing 3-32, Sie
sehen persistence.xml Datei aus Listing 2-11 konvertiert
Bereitstellung als Teil einer Java-EE-Anwendung. Anstelle von JDBC
Eigenschaften zum erstellen einer Verbindung, die wir jetzt erklären, dass das Unternehmen
manager sollten, verwenden Sie den data source name "jdbc/EmployeeDS". Wenn die Daten
Quelle definiert wurde, werden die in der Anwendung verfügbar namespace
statt die lokale Komponente Namenskontext dann könnten wir stattdessen
verwenden Sie den data source name "java:app/jdbc/EmployeeDS". Die
transaction - type-Attribut wurde auch entfernt, sodass die
persistence unit, um die Standardeinstellung zu JTA. Die Anwendung server wird
automatisch finden von entity-Klassen, so auch die Liste der Klassen hat
entfernt wurden. Dieses Beispiel stellt die ideale minimale Java EE
- Konfiguration. Da die business-Logik, die verwendet diese Persistenz
Einheit implementiert ist, in eine stateless session bean, die persistence.xml
Datei normalerweise im META-INF-Verzeichnis die
entsprechende EJB-JAR.
Listing 3-32. Die Definition einer Persistence Unit in der Java EE -
<persistence>
<persistence-unit name="EmployeeService">
<jta-data-source>jdbc/EmployeeDS</jta-data-source>
</persistence-unit>
</persistence>
Listing 2-11. Elemente in der persistence.xml Datei
<persistence>
<persistence-unit name="EmployeeService" transaction-type="RESOURCE_LOCAL">
<class>examples.model.Employee</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527 EmpServDB;create=true"/>
<property name="javax.persistence.jdbc.user" value="APP"/>
<property name="javax.persistence.jdbc.password" value="APP"/>
</properties>
</persistence-unit>
</persistence>
Meine Frage ist: wie kann ich die Anpassung einer generischen persistence.xml Datei in Java-EE-Umgebung eine Verbindung zu einer MySQL/JDBC-Datenbank mit den Eigenschaften, ich trat an der Spitze der post?
Ich weiß nicht, wie TomEE, ich hatte eine Menge Probleme mit ihm. In dem moment gab ich auf mit es es weder gestartet. Ich mag, um mehr zu importieren Bibliotheken im Tomcat. Nachdem ich stackoverflow.com/questions/2552612/... ich begann zu lernen, wie man Datei " JMX-voll, um mein Projekt verwenden JTA richtig. Wenn Sie den vorherigen Kommentar als eine Antwort, gebe ich Ihnen die grüne mark V
InformationsquelleAutor Germano Massullo | 2013-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beispiel erfordert JTA-Java Transaction API. Sie delegieren die Transaktionsverwaltung dem container. Mit JTA aktiviert, wenn Sie eine
@Stateless
EJB, dann ein einziger Aufruf der Methode zählt standardmäßig als einem einzigen Vorgang abschließen. Dies ermöglicht es Ihnen zu schreiben sauberen code ohne tx.beginnen, tx.commit, tx.rollback, etc beschränken.Wie JSF, EJB und JPA, JTA ist standardmäßig nicht auf einem Barebone-JSP/Servlet-container wie Tomcat und Jetty. Wie JSF, EJB und JPA, müssten Sie zu installieren, JTA separat auf Tomcat.
Alternative ist die Umstellung von JSP/Servlet-container, der zu einem echten Java EE (web-Profil) - container wie Glassfish, JBoss AS und TomEE. Es bietet alles, was direkt aus der box mit Bezug zu Java EE. Beachten Sie, dass JBoss AS und TomEE im Grunde verwenden der Tomcat JSP/Servlet-engine unter der Haube.
Du bist herzlich willkommen.
Ich habe eine Frage. Die Sim-Tay Beispiel in TomEE, benötige ich für die Installation eine JTA-Motor oder ist es eingebettet in TomEE?
tomee.apache.org/comparison.html
InformationsquelleAutor BalusC