Probleme beim Klonen einer WebSpere Portal 6.1 Installation
Das Klonen eines WebSphere Portal Servers ist eine komplexe Angelegenheit die sich gut und gerne etwas länger hinzieht. Umso besser, dass IBM eine Anleitung dazu stellt.
Doch auch wenn man der Anleitung genau folgt kann es zu unerwarteten Problemen kommen, die dort nicht erläutert werden.
Das ist mir passiert und da ich schon ne Weile gebraucht habe um auf die Lösung zu kommen, könnte es auch andere interessieren.
Das Problem ist/war, dass bei Schritt 2. in der Anleitung von IBM:
To delete the scheduled tasks, run the following ConfigEngine task:
<profile_home>/ConfigEngine/ConfigEngine.sh action-clean-scheduled-tasks
Eine Menge von Fehlern ausgespuckt werden:
Bild 1: Der Stacktrace der Exception
Dabei werden folgende Fehler ausgespuckt:
ERROR XSDB6: Another instance of Derby may have already booted the database
Could not shutdown the database!
[sqlproc] SQL Exception: Database 'xxxdb' not found.ERROR: Error during the execution of the sql files.
Dabei sind die Fehler etwas verwirrend wie ich fand, denn der erste besagt, dass die Datenbank die seit Version 6.1 nun "derby" heißt und nicht mehr "cloudscape" und der zweite sagt, dass diese nicht gefunden wurde!
Nungut, nach einer langen Suche in den Logs und einer engen Zusammenarbeit mit Google war die Lösung dann doch ganz einfach!
Dabei bringt der erste Fehler es auf den Punkt! Es läuft bereits eine Instanz der Datenbank. Was aber nicht der Fall ist. Aber das Skript glaubt das, da der user dafür noch in einer Session "eingeloggt ist".
Wenn man diese Session-Dateien (*.lck) löscht, wird der Weg für einen erneuten Login durch das Skript frei.
Diese Dateien liegen im Verzeichnis <wp_profile>/PortalServer/derby/wpsdb.
Bild 2: Die zwei LCK-Dateien, die die Session blockieren
Wenn man nun diese zwei Dateien löscht läuft das Skript ganz normal durch. Der weitere Cloning-prozess verlief dann relativ unspektakulär.
Lösungsquelle war ein IBM-Hilfe Dokument, dass zwar für was anderes Gedacht war aber das Problem sehr ähnlich war!
.NET Entwicklung unter UNIX-basierenden Systemen
Seit längerem befindet sich das Projekt "Mono" in der Entwicklung und ist nun in der Version 2.4 verfügbar. Dank Mono wird .NET Plattformunabhängig und liefert das, was Microsoft schon längst hätte bringen sollen!
Mit MonoDevelop wird gleich auch eine sehr gute IDE zum Entwickeln mitgebracht! Diese läuft auf allen gängigen Systemen einschließlich Mac OS X. Da das ganze auch noch open Source ist, ist es auch kostenlos zu haben!
Durch dieses Projekt wird Linux natürlich sehr interessant für .NET Entwickler und wird in Zukunft definitiv dazu führen dass es viele Anwendungen für alle geben wird, so wie es jetzt mit Java ist!
Ist die IDE Erstmal eingerichtet erinnert diese erstmal stark an Netbeans oder Eclipse:
Bild 1: MonoDevelop in einem C# Projekt
Diese wird ebenfalls stetig weiter entwickelt und erinnert jetzt schon sehr an der Visual Studio aus dem Hause Microsoft!
Einen compiler bekommt man natürlich auch gleich mit geliefert! Den man zb auch über die Konsole aufrufen kann:
Bild 2: Das aus Bild 1 kompilierte & ausgeführte Projekt
Leider steht noch nicht das komplette .NET Framework, welches demnächst in der Version 4.0 erscheint verfügbar, sondern wird langsam stetig erweitert!
Wenn euer Interesse geweckt wurde und ihr das mal testen wollt, kann ich ein Video im MSDN empfehlen, welches die ersten Schritte sehr gut beschreibt und eine komplette kleine Anleitung liefert!
Ich werde demnächst das ganze mal auf dem Mac testen und gucken ob das ganze schon mit Java konkurrieren kann!