Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JPA: Entity mit mehreren Datenbanken

Empfohlene Antworten

Veröffentlicht

Hallo Zusammen,

ich möchte mit hilfe von JPA aus mehreren Datenbanken das Objekt herausholen.

Es handelt sich hier um Parameter für eine E-Mail. Diese sind in einer MSSQL 2000 Datenbank gespreichert. Da jede Filiale eine eigene Datenbank besitzt muss die EJB das gleiche Objekt aus verschiedenen Datenbanken holen.

Dazu habe ich folgende persistence.xml erstellt:

<persistence 

	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_1_0.xsd"

	version="1.0">


   <persistence-unit name="MailProperties" >

      <provider>org.hibernate.ejb.HibernatePersistence</provider>

      <jta-data-source>MDS</jta-data-source>

      <class>mail.domain.MailProperties</class>

      <properties>

         <property name="hibernate.dialect" 

                  value="org.hibernate.dialect.SQLServerDialect"/>

         <property name="hibernate.hbm2ddl.auto" value="validate"/>

      </properties>

   </persistence-unit>


<persistence-unit name="MailPropertiesN" >

      <provider>org.hibernate.ejb.HibernatePersistence</provider>

      <jta-data-source>NDS</jta-data-source>

      <class>mail.domain.MailProperties</class>

      <properties>

         <property name="hibernate.dialect" 

                  value="org.hibernate.dialect.SQLServerDialect"/>

         <property name="hibernate.hbm2ddl.auto" value="validate"/>

      </properties>

   </persistence-unit>


</persistence>  
Lieder bekomme ich beim Deployen der Jar-Datei vom Glassfish 2.1 folgende Fehlermeldung:
INFO: CORE5024: EJB-Modul [Mail] erfolgreich entladen!

INFO: ADM1064:Die auf [C:\Documents and Settings\Stefan\Local Settings\Temp\s1astempdomain1server-2073291051\Mail.jar] hochgeladene Datei ist bereits vorhanden und wird überschrieben.

INFO: ADM1006:Hochladen der Datei auf:[C:\Documents and Settings\Stefan\Local Settings\Temp\s1astempdomain1server-2073291051\Mail.jar]


SCHWERWIEGEND: Ausnahmefehler in J2EEC-Phase

com.sun.enterprise.deployment.backend.IASDeploymentException: Bereitstellungsfehler -- Eine dem persistence-context-ref-name [MailPropertiesN] entsprechende Fortdauereinheit im Bereich des Moduls mit dem Namen [C:\IDE\glassfish\domains\domain1\applications\j2ee-modules\Mail] konnte nicht aufgelöst werden. Überprüfen Sie Ihre Anwendung.

	at com.sun.enterprise.deployment.BundleDescriptor.findReferencedPUsViaPCRefs(BundleDescriptor.java:737)

	at com.sun.enterprise.deployment.EjbBundleDescriptor.findReferencedPUs(EjbBundleDescriptor.java:884)

	at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.getAllPersistenceUnitDescriptors(PersistenceProcessor.java:208)

	at com.sun.jdo.spi.persistence.support.ejb.ejbc.PersistenceProcessor.processApplication(PersistenceProcessor.java:175)

	at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.processApplication(DeploymentEventListenerImpl.java:211)

	at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.processEvent(DeploymentEventListenerImpl.java:172)

	at com.sun.jdo.spi.persistence.support.ejb.ejbc.DeploymentEventListenerImpl.notifyDeploymentEvent(DeploymentEventListenerImpl.java:122)

	at com.sun.enterprise.deployment.backend.DeploymentEventManager.notifyDeploymentEvent(DeploymentEventManager.java:79)

	at com.sun.enterprise.deployment.backend.ModuleDeployer.handlePostDeployEvent(ModuleDeployer.java:639)

	at com.sun.enterprise.deployment.backend.ModuleDeployer.postDeploy(ModuleDeployer.java:628)

	at com.sun.enterprise.deployment.backend.ModuleDeployer.doRequestFinish(ModuleDeployer.java:191)

	at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:208)

	at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)

	at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:966)

	at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:283)

	at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:835)

	at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:187)

	at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:225)

Was mache ich hier falsch?

Grüße

Stefan

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.