Apache Karaf on OSGi standardin täyttävä valmis paketti valikoituja OSGi bundleja. Näppärinä ominaisuuksina mainittakoon mm. Felix gogo shell ja feature filet.
Feature fileillä voidaan määritellä mitkä bundlet asennetaan missäkin järjestyksessä. Olemme määrittäneet itse muutamia eri konfiguraatioita omaa softaa varten. Myös osasta karafin omista bundleista olemme hankkiutuneet eroon.
Karafissa on myös hyödyllinen maven-plugin jolla voi tehdä kustomisoidun karaf paketin. Käytämme tätä ominaisuutta, jotta saamme rakennettua paketin joka sopii aina testiympäristöistä tuontantoon. Kaikki konfiguraatiot, bundlet ja itse ympäristö on yhdessä tar-paketissa jonka voi purkaa ja ajaa missä vaan Java 8 koneessa.
Feature tiedostot ovat hyödyllisiä, mutta aiheuttavat myös harmaita hiuksia. Karaf parsiessaan ja asentaessaan bundleja (featureita) ei välttämättä anna kovin informatiivisia viestejä mikä on pielessä. Tämä tuli erityisen selväksi päivitettäessä karafia kolmosversiosta neloseen.
Muutama vinkki miten saada toimiva Karaf ympäristö aikaiseksi:
Feature fileillä voidaan määritellä mitkä bundlet asennetaan missäkin järjestyksessä. Olemme määrittäneet itse muutamia eri konfiguraatioita omaa softaa varten. Myös osasta karafin omista bundleista olemme hankkiutuneet eroon.
Karafissa on myös hyödyllinen maven-plugin jolla voi tehdä kustomisoidun karaf paketin. Käytämme tätä ominaisuutta, jotta saamme rakennettua paketin joka sopii aina testiympäristöistä tuontantoon. Kaikki konfiguraatiot, bundlet ja itse ympäristö on yhdessä tar-paketissa jonka voi purkaa ja ajaa missä vaan Java 8 koneessa.
Feature tiedostot ovat hyödyllisiä, mutta aiheuttavat myös harmaita hiuksia. Karaf parsiessaan ja asentaessaan bundleja (featureita) ei välttämättä anna kovin informatiivisia viestejä mikä on pielessä. Tämä tuli erityisen selväksi päivitettäessä karafia kolmosversiosta neloseen.
Muutama vinkki miten saada toimiva Karaf ympäristö aikaiseksi:
- Aloita ensin pelkällä valmiiksi paketoidulla Karafilla ilman featurefileitä ja kokeile asentaa pelkästään yksittäisiä bundleja
- Kun bundlet toimivat, tee yksi feature file joka voi olla myös bootissa ladattava
- Jos käytät maven-pluginia, aja diffi sen tuottaman paketin sekä valmiiksi ladatun paketin välillä
- Tarkasta aina lokaali maven repository ja vertaa sitä karafin system hakemiston sisältöön
Comments
Post a Comment