Thursday, July 12, 2007

Server-side OSGi and remote managment

Mivel nemrég nézegettem, hogyan lehetne kihasználni az Eclipse Equinox (OSGi) HTTP szervert, gondoltam kiegészítem egy kis érdekességgel Karenin blog bejegyzését.
Első körben csináltam egy frissített (3.3 release) alapú bridge.war-t. Ezzel semmi extra teendő nem volt, ugyan úgy működik ahogy eddig.

Viszont, ha megnézzük a módosított hello world plugin-t (source). Akkor láthatjuk, hogy a servlet regisztrációja átkerült a plugin.xml-be. Természetesen működik az eredeti módszerrel is, de ha már van extension point hozzá, használjuk azt ;) . Illetve érdekességként egy kis eclipse alapú loggolást is tettem be.

A második verzióban (bridge.war +jmxrmi), a belepakoltam, az jmx-server+rmi pluginokat. Így, már egy akár távolról is konfigurálható szerverünk lesz. Sajnos itt egy kis kavarás volt a classloaderek terén, ezért módosítottam a launch.ini-t (infó erre: bug 131253, EZ#1, EZ#2).

Ha már van színes-szagos jmx konzolunk, próbáljuk is ki.
A teszteléshez Eclipse-en kívül, csak a jmx-common és a jmx-client csomagokra lesz szükségünk. Ha mindent jól csináltunk, akkor elérhetővé válik a "JMX Resource Managment" perspektíva (ctrl-3, JMX). Kapcsolódásnál rmi-t állítsunk be protokollnak. Ezek után valami hasonló fog minket fogadni.


A kliens plugin, nem mindig mutatkozik elég stabilnak, ezért csináltam egy különálló verziót, ami csak a szükséges dolgokat tartalmazza (eclipse_jmx_rmi_client.zip). Az org.eclipse.equinox.jmx.client.app (soruce) nem hivatalos equinox plugin. Csak a kliens különálló futtatásához írtam.

No comments: