Können EJB2 und EJB3 in einer Anwendung gleichzeitig existieren?

8

weiß jemand, ob es möglich ist, EJB2.1-Beans mit EJB3-Beans in Java EE-Anwendung iterativ zu ersetzen?

Das heißt: Entfernen Sie einmal eine 2.1-Bean aus dem Code und fügen Sie eine entsprechende EJB3-Bean hinzu, die dasselbe Verhalten implementiert, ohne den Rest des Codes zu berühren (+ die alten EJBs über Anmerkungen in das neue EJB3 einfügen zu können).

Ich bin kein Experte für EJB-Spezifikationen (und ich habe nur Erfahrung mit EJB3), aber für mich ist EJB eine einfache Komponente mit einer gegebenen Geschäftsschnittstelle, die vom Anwendungsserver verwaltet wird. AFAIK EJB3 brachte eine große Vereinfachung, wie man die Komponente schreibt (keine künstlichen Schnittstellen) und die meiste Zeit kann XML-Deskriptor dank der Anmerkungen weggelassen werden, aber die Grundlagen sind die gleichen. Es scheint also plausibel, es könnte funktionieren.

Gibt es eine Inkompatibilität zwischen EJB2.1 & amp; EJB3?

Der Kern der Frage ist, ob die Migration EJB2.1 - & gt; EJB3 muss ein Stop-the-World / Complete-Rewrite-Vorgang sein oder man kann dies tun, während neue Features hinzugefügt werden und Fehler in der Legacy-Anwendung behoben werden (so wird es in der laufenden App für einige Zeit eine Mischung aus EJB2.1 und EJB3 geben) .

BEARBEITEN:

  • Ich bin nur an Session-Beans interessiert.
  • Ich bin neugierig, ob (und wie) die Suche funktioniert. AFAIK EJB2.1 benötigt eine so genannte Home-Schnittstelle, um eine Referenz auf eine andere EJB zu erhalten, aber EJB3 hat keine Home-Schnittstelle ...
stalker 18.05.2011, 21:36
quelle

3 Antworten

12
___ qstnhdr ___ Können EJB2 und EJB3 in einer Anwendung gleichzeitig existieren? ___ answer6052358 ___

Migration ist möglich, aber nicht ohne Schluckauf.

Beginnen Sie mit der Aktualisierung des Deskriptors auf die Java EE 5-Schemas. Dies ist normalerweise das Flag, das Server verwenden, um festzustellen, ob sie nach Anmerkungen suchen müssen.

Nachdem Sie den Deskriptor aktualisiert (aber ansonsten unverändert) haben, können Sie Ihre Session- und Message Driven Beans in Java EE 5-Beans migrieren. Wenn Sie eine Bean konvertieren, können Sie sie gegebenenfalls auch aus dem Implementierungsdeskriptor entfernen.

Nachdem alle anderen Beans fertig sind, können Sie damit beginnen, Ihre Entity-Beans zu entfernen und die Persistenz in JPA-Entitätsklassen zu konvertieren. Dies ist der nicht-triviale Teil der Übung.

    
___ answer6058913 ___

Sicher kannst du. Schauen Sie hier für den Anfang: Ссылка

    
___ tag123javaee ___ Die Java Enterprise Edition (Java EE) ist eine Spezifikation, die eine Sammlung von Java-basierten Server- und Clienttechnologien und deren Interoperabilität definiert. Das [java-ee] -Tag ist rudimentär zu fokussierten Fragen über die spezifischeren APIs wie [jsf], [Servlets], [jpa], [cdi], [ejb] usw. Verwenden Sie es nur bei Problemen mit allgemeinen Kombinationen (zB Interaktion zwischen einzelnen APIs und / oder Anwendungsservern). ___ tag123ejb30 ___ Dieses Tag wird für Fragen verwendet, die sich auf die Session Bean- und Message-Driven Bean-Komponententypen des EJB 3.0-Programmiermodells beziehen. Bei Fragen zu persistenten Entitäten, die im Dokument "Java Persistence API" der EJB 3.0-Spezifikation definiert sind, verwenden Sie das Tag [JPA]. ___ qstntxt ___

weiß jemand, ob es möglich ist, EJB2.1-Beans mit EJB3-Beans in Java EE-Anwendung iterativ zu ersetzen?

Das heißt: Entfernen Sie einmal eine 2.1-Bean aus dem Code und fügen Sie eine entsprechende EJB3-Bean hinzu, die dasselbe Verhalten implementiert, ohne den Rest des Codes zu berühren (+ die alten EJBs über Anmerkungen in das neue EJB3 einfügen zu können).

Ich bin kein Experte für EJB-Spezifikationen (und ich habe nur Erfahrung mit EJB3), aber für mich ist EJB eine einfache Komponente mit einer gegebenen Geschäftsschnittstelle, die vom Anwendungsserver verwaltet wird. AFAIK EJB3 brachte eine große Vereinfachung, wie man die Komponente schreibt (keine künstlichen Schnittstellen) und die meiste Zeit kann XML-Deskriptor dank der Anmerkungen weggelassen werden, aber die Grundlagen sind die gleichen. Es scheint also plausibel, es könnte funktionieren.

Gibt es eine Inkompatibilität zwischen EJB2.1 & amp; EJB3?

Der Kern der Frage ist, ob die Migration EJB2.1 - & gt; EJB3 muss ein Stop-the-World / Complete-Rewrite-Vorgang sein oder man kann dies tun, während neue Features hinzugefügt werden und Fehler in der Legacy-Anwendung behoben werden (so wird es in der laufenden App für einige Zeit eine Mischung aus EJB2.1 und EJB3 geben) .

BEARBEITEN:

  • Ich bin nur an Session-Beans interessiert.
  • Ich bin neugierig, ob (und wie) die Suche funktioniert. AFAIK EJB2.1 benötigt eine so genannte Home-Schnittstelle, um eine Referenz auf eine andere EJB zu erhalten, aber EJB3 hat keine Home-Schnittstelle ...
___ tag123ejb2x ___ Dieses Tag wird für Fragen verwendet, die sich auf die Session-Bean- und Message-Driven Bean-Komponententypen des EJB 2.x-Programmiermodells beziehen. Bei Fragen zu den persistenten Entitäten, die im Dokument "Java Persistence API" der EJB 2.x-Spezifikation definiert sind, verwenden Sie das Tag [JPA]. ___
aleung 22.08.2014, 05:58
quelle
2

Migration ist möglich, aber nicht ohne Schluckauf.

Beginnen Sie mit der Aktualisierung des Deskriptors auf die Java EE 5-Schemas. Dies ist normalerweise das Flag, das Server verwenden, um festzustellen, ob sie nach Anmerkungen suchen müssen.

Nachdem Sie den Deskriptor aktualisiert (aber ansonsten unverändert) haben, können Sie Ihre Session- und Message Driven Beans in Java EE 5-Beans migrieren. Wenn Sie eine Bean konvertieren, können Sie sie gegebenenfalls auch aus dem Implementierungsdeskriptor entfernen.

Nachdem alle anderen Beans fertig sind, können Sie damit beginnen, Ihre Entity-Beans zu entfernen und die Persistenz in JPA-Entitätsklassen zu konvertieren. Dies ist der nicht-triviale Teil der Übung.

    
vkraemer 18.05.2011 23:54
quelle
0

Sicher kannst du. Schauen Sie hier für den Anfang: Ссылка

    
Kris 19.05.2011 12:52
quelle

Tags und Links