Sajnos az OSGi nem tartalmaz szabványos interface-t a konzol szolgáltatásokra. Konzolja azonban szinte minden OSGi frameworknek van, és általában ezeket valahogy ki is lehet terjeszteni, hogy saját parancsaiddal bővítsd a rendszert.
A Felix-ben pl. a SehllSerivce-t kell implementálni:
Nos előszőr is implementálni kell egy CommandProvider interface-t. Ezek után pedig minden metódus, ahol a metódusnév _-al (aláhúzással) kezdődik automatikusa a konzolból is elérhető parancs lesz. Az én konzervatív OOP-s lelkemnek ez már határeset.
Jó, jó, legyen egyszerű, de nem gányolás ez kicsit?
A Felix-ben pl. a SehllSerivce-t kell implementálni:
public interface ShellServiceEz a dokumentáció nélkül is körülbelül érhető. De hogy csinálja mindezt az Equinox?
{
public String[] getCommands();
public String getCommandUsage(String name);
public String getCommandDescription(String name);
public ServiceReference getCommandReference(String name);
public void executeCommand(
String commandLine, PrintStream out, PrintStream err)
throws Exception;
}
Nos előszőr is implementálni kell egy CommandProvider interface-t. Ezek után pedig minden metódus, ahol a metódusnév _-al (aláhúzással) kezdődik automatikusa a konzolból is elérhető parancs lesz. Az én konzervatív OOP-s lelkemnek ez már határeset.
Jó, jó, legyen egyszerű, de nem gányolás ez kicsit?
3 megjegyzés:
Ne is mond. Amikor eloszor belefutottam parszor elolvastam a javadoc-t, hogy tenyleg igy van-e (es azota se tudtam megszokni).
Raadasul az a legszornyubb, hogy semmi kezdemenyezest nem lattam eddig, hogy ezt lecsereljek szornyet (tudom irjak egyet :) )
Eleg nagy hype van mostansag az osgi korul. Egy valamit mondjatok meg nekem. Miert lehet az, hogy a peldak/cikkek tobbsege inkabb a Felixxel foglalkozik, mint a Equinoxxal? Csak mert az utobbi - ugy emlekszem - megkapta a certet, mig a Felix meg nem.
Szo se rola, a Felix nekem is szimpatikusabb.
Mig felix-et lehet rendesen mavenbol is hasznalni, addig equinoxnak nincs hivatalosan elerheto repoja. Illetve talan az, hogy felix egy frissebb implementacio, igy megvolt neki a lehetoseg, hogy javitsa masok "hulyeseget".
Megjegyzés küldése