[JBoss 5] Startroutine implementieren?

Verjigorm

Top Contributor
Hallo,

wir haben ein System basierend auf EJB3 und bräuchten einen "Service", der beim Start des JBoss verschiedene Dinge prüft, wie z.B. bestimmte Modul-Versionen in unserer Datenbank.

Wenn also die Versionen der Software von der Version in der Datenbank abweichen, so soll der JBoss garnicht erst weiter starten, sondern anhalten.

Die Frage ist nur, wie mache ich das? Gibt es eine Art Startup-Listener?
Oder muss ich in all meinen EJB's mit @Depend eine EJB angeben, die dann die Prüfungen durchführt bevor alle anderen EJB's geladen werden?

Oder wie funktioniert dies?

mfg Verjigorm
 

JimPanse

Bekanntes Mitglied
Hi,

eine Möglichkeit wäre ein MBean -> Klasse mit
Java:
 @Service
und das interfaces mit
Java:
 @Management
annotieren. Das Interfaces muss start() und stop() als Methoden besitzen

->Chapter5.JBoss EJB 3.0 extensions

Greetz
 

Verjigorm

Top Contributor
Hallo,

ja die Möglichkeit kenne ich generell.
Wir haben ein paar davon im Einsatz.
Aber die starten nocht ganz am Anfang, sondern irgendwann mittendrin
 
Zuletzt bearbeitet:

JimPanse

Bekanntes Mitglied
start() - called by the server when the service is started and all the services it depends upon have been started too. At this point the service (and all the services it depends on) is fully functional..

also wir haben auch 'ein paar' im Einsatz und die Laden beim starten des JBoss AS globale Konfigurationen aus der DB...

Greetz
 

Verjigorm

Top Contributor
Ja, wie ich bereits sagte: das ist soweit korrekt!

Aber der Service startet "irgendwann beim Serverstart" manchmal als 5. Bean (laut console) und manchmal als 287. .
Ich brauch aber etwas, was vor allen anderen startet als aller erstes und eventuell verhindert, dass andere Bean überhaupt erst geladen werden.
 

Verjigorm

Top Contributor
Ok ich habe nun allen Beans als @Depends mein Service mitgegeben und nun startet die Bean auch wirklich als aller erstes.
Ich führe meine Prüfungen durch etc.

Nun habe ich nur noch folgendes Problem:
Sollte es in bestimmten Fällen dazu kommen, dass ich unsere Anwendung nicht starten möchte, dann würde ich gerne den JBoss herunterfahren, bzw. das deployen der Anwendung verhindern.

Um den JBoss zur Laufzeit zu stoppen benutzen wir folgenden Code:

Java:
			final MBeanServer locateJBoss = MBeanServerLocator.locateJBoss();
			final ObjectName kernel = new ObjectName("jboss.system:type=Server");
			locateJBoss.invoke(kernel, "shutdown", new Object[] {}, null);
Dies funktioniert auch gut, aber in diesem Fall gibt es eine Exception mit dem Text "not started".

Wie hindere ich den JBoss nun darun zu starten, bzw. wie stoppe ich ihn?
Weder eine RuntimeException noch System.exit scheinen zu wirken (War nur zu Testzwecken ;) )

mfg Verjigorm
 
Ä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
S JBoss, EAR, EJB und ClassNotFound Application Tier 28
V JBoss 5 DeploymentSorter? Application Tier 3
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
D JSF Apache Shiro implementieren? Application Tier 3

Ähnliche Java Themen

Neue Themen


Oben