ColdFusion MX erlaubt durch seine darunter liegende J2EE-Architektur prinzipiell auch den Austausch der Java Virtual Machine, in der sowohl ColdFusion MX als J2EE-Anwendung als auch der in Java-Bytecode kompilierte CFML-Code ausgeführt werden.
Idee oder Motivation eines solchen Austauschs könnten zum Beispiel Performance- oder Stabilitäts-Verbesserungen der J2EE-Schicht sein, von denen man dann natürlich auch aus ColdFusion MX heraus profitieren könnte.
Nachdem ich es schon immer vorhatte, habe ich das heute mal mit einem Kollegen ausprobiert und die mitgelieferte JVM 1.3.1_03 von Sun gegen eine JVM 1.3.1 von IBM ausgetauscht. Ergebnis: Der Server läuft noch 😉
Eigentlich funktioniert das sehr einfach:
1. Die entsprechenden Ordner der JRE von IBM in den Ordner -CFusionRoot-/runtime/ibm1.3.1 legen (“ibm1.3.1” ist natürlich von mir gewählt und kann auch anders heissen)
2. Im CF Administrator unter dem Menüpunkt “Java und JVM” den Pfad zur Virtuellen Maschine auf den Ordner -CFusionRoot-/runtime/ibm1.3.1 zeigen lassen, speichern und unter Windows den ColdFusion MX Application Server Dienst neu starten.
3. Überprüfen ob die Umstellung geklappt hat und nach dem Neustart des Dienstes unter “Informationen zur Version” in den Feldern zu JVM-Details schauen. Dort sollte nun u.a. der Vendor IBM stehen.
Interessant wäre jetzt ein Vergleich zwischen verschiedenen JVMs hinsichtlich Performance und Stabilität. Man spricht beispielsweise bei der Verwendung einer 1.4er JVM von Sun von Leistungsgewinnen von bis zu 30% in manchen Bereichen von CFML. Wenn das stimmt – an der Quelle der Information zweifele ich nicht – ist das fantastisch und die Rechnung von Macromedia würde voll aufgehen: Eine Motivation der Umstellung von ColdFusion auf eine Java-Architektur war Tatsache, dass ColdFusion von der Weiterentwicklung des de-facto Industriestandards Java profitieren sollte.
Kennst Du eine gute Dokumentation oder Beispielsammlung, wie man J2EE-Klassen mit CF verknüpft. Ich hab’ hier eine Java-Klasse die ein BinärFile parsed und die Informationen dann zur Verfügung stellt (MP3-Files).
Jetzt würde ich gerne diese Daten mit CF weiterverarbeiten. Hab’ da so meine gepflegten Probleme mit der Schnittstelle CF-J2EE und mir scheint meine Java-Klassen werden irgendwo gecached… Hast Du vielleicht da einen Tip für mich ??
Bitte – Bitte !! 🙂
cu es gl
Frank
Comments on this entry are closed.