JBoss 5 DeploymentSorter?

Verjigorm

Top Contributor
Hallo,

im JBoss 4.2.2 haben wir eine Klasse, die org.jboss.deployment.DeploymentSorter erweitert um so vorzugeben, welche wars/jars/ears in welcher Reihenfolge zu starten sind.
Im JBoss 5 gibt es dieses anscheinend nichtmehr.
Habe schon des öfteren vom "neuen" LegacyDeploymentContextComparator gehört mit compare(DeploymentContext fst, DeploymentContext snd).
Jedoch finde ich zu diesem Thema leider keine weiteren zuverlässigen Infos, ob ich da überhaupt auf der richtigen Spur bin und wenn ja, wie das konfiguriert wird.

Jemand irgendwelche Infos/Beispiele dazu?

mfg Verjigorm
 

FArt

Top Contributor
Der Deploymentsorter war schon immer nur eine Krücke und sollte nicht verwendet werden.

Im Grunde ist das auch nicht nötig. Man kann Abhängigkeiten definieren (auf Deplyomentunits, MBeans, EJBs, ...). Dann weiß der Deployer in welcher Reihenfolge er arbeiten soll.

[EDIT]
A Look Inside JBoss Microcontainer - The Virtual Deployment Framework | Javalobby

Tipp: halte dich an die offiziellen Mechanismen wie z.B. Abhängigkeiten in Deploymentdeskriptoren oder DI bzw. (eingeschränkt) dem @Depends (JBoss-eigen!) Mechanismus. Das vereinfacht eine Migration ungemein.
 
Zuletzt bearbeitet:

Verjigorm

Top Contributor
Hallo,

danke schonmal für die Info. Ich hatte parallel hierzu was im Netz gefunden:

Deployment ordering
In JBoss 4.2.X you could specifically configure deployment ordering. In JBossAS 5.1 this is no longer possible by default. But since AS5.1 is a highly modular and flexible system, you can get it back.

Open up the file JBOSS_HOME\server\instance\conf\bootstrap\deployers.xml and add the following content, modified to your needs:

<bean name="topContextComparator">
<constructor factoryClass="org.jboss.system.deployers.LegacyDeploymentContextComparator" factoryMethod="getInstance"/>
<property name="suffixOrder" class="java.util.Map">
<map keyClass="java.lang.String" valueClass="java.lang.Integer">
<entry>
<key>myapp2.ear</key>
<value>100</value>
</entry>
<entry>
<key>myapp3.ear</key>
<value>200</value>
</entry>
<entry>
<key>myapp1.ear</key>
<value>300</value>
</entry>
</map>
</property>
</bean>


This will deploy the applications in the order myapp2.ear, myapp3.ear and finally myapp1.ear. Note that these are suffixes, so you can also use partial filenames or even only extensions as the key. For example, to force EJB jars to deploy before EAR files, you could do this:

<entry>
<key>.jar</key>
<value>100</value>
</entry>
<entry>
<key>.ear</key>
<value>200</value>
</entry>


When using this function, be careful. You may break deployment by screwing up the deployment ordering in stead of fixing it.

was ist mit dieser Lösung? hab bisher noch nichts testen können.
 

FArt

Top Contributor
When using this function, be careful. You may break deployment by screwing up the deployment ordering in stead of fixing it.

Es ist nichts einfacher, als mit Software (so wie es JBoss macht) einen Abhängigkeitsbaum aufzubauen und aufzulösen. Mit Zahlen oder Namen eine Sortierung zu erzwingen ist dämlich. Ok, sind wir mal nicht ganz so streng: sollte man mit den regulären Verfahren nicht das gewünschte Ergebnis erzielen können, sollte man das als Bug bei JBoss reporten und bis zu einer Lösung mit so einer Krücke arbeiten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Spring JBoss 7 - wie JNDI Datasource einbinden Application Tier 8
S JBoss - .properties vom Kunden änderbar machen Application Tier 10
M org.jboss.weld.exceptions.UnproxyableResolutionException wegen Parametern im Superclass-Kontruktor Application Tier 10
G jBoss automatische Synchronisation? Application Tier 4
JimPanse JBoss 7 + JPA + Kundera + Cassandra Application Tier 2
B Glassfish vs. Tomcat/JBoss Application Tier 4
S Umstellung von JBoss 7 Full auf Web Profile Application Tier 4
V [JBoss 5] Datenbankverbindung zur Laufzeit aufbauen? Application Tier 8
V [JBoss5] JBoss stoppen bzw. am starten hindern? Application Tier 9
V [JBoss 5] Startroutine implementieren? Application Tier 7
S JBoss, EAR, EJB und ClassNotFound Application Tier 28
V JBoss 5 mag @Service nicht Application Tier 2
K Threads im JBoss Application Tier 20
S JBoss EJB RMI Application Tier 5
A Jboss Ear mittels maven Application Tier 3
D Lazy Hibernate bei 3-Tier Applikation (JBoss + EJB3 + FatClient) Application Tier 6
ruutaiokwu stateful ejb unter jboss als webservice zur verfügung stellen... Application Tier 2
T Simples EJB-Beispiel für JBoss mit Eclipse Application Tier 3
M Spring - Leichtgewichtiger als JBoss? Application Tier 4
M JBoss Seam - Spring Application Tier 11

Ähnliche Java Themen

Neue Themen


Oben