Hi Reto,

Apologies for the delay, due to a vacation I have been offline for a while.

I decided to go for karaf mainly because I was a newby for both the
karaf and sling way of building a distribution. At the time creating my
own distribution based on karaf seemed more simple. I also fancied the
commandline present in Karaf and the ability to brand it.

Regards,

Minto

Op 22-2-2013 18:59, Reto Bachmann-Gmür schreef:
> Hi Minto
>
> I think checking and ensuring interoperability (in both directions) is a
> great sanity check of the architecture. But my concrete motivation was
> exploring way to have clerezza more modular, to have easy way to install
> optional components (like UIMA or CRIS) and maybe to make the launcher
> slimmer.
>
> On the Karaf list I was asked why we don't use a the Karaf framework in
> Clerezza. I'm not sure what advatages/disadvantatges this would bring. I
> think having an executable jar as launcher is quite important. Also I'm not
> sure how well the security stuff would work together.
>
> What are the reasons for you to use Karaf?
>
> Cheers,
> Reto
>
> On Mon, Feb 11, 2013 at 11:03 PM, Minto van der Sluis <[email protected]> wrote:
>
>> Hi,
>>
>> What I have done is the reverse (clerezza in karaf) and might be of
>> interest to others:
>>
>> I have created a custom karaf based distribution containing:
>> - clerezza components
>> - stanbol rulestore and ontology manager
>> - karaf cli commands to manipulate stanbol rulestore
>> - custom components of my own
>>
>> For both clerezza and stanbol I created karaf features to only contain
>> components used by me. This however can be easily extended to contain
>> all features. It is still up to the distribution to decide which
>> features to load on startup.
>>
>> If there is any interest please let me know. Then I will ask my client
>> if I can share details with the community.
>>
>> Regards,
>>
>> Minto
>>
>> Op 11-2-2013 21:56, Reto Bachmann-Gmür schreef:
>>> My experiments today.
>>>
>>> Goal: Be able to install Karaf features within clerezza
>>>
>>> Approach: use the service org.apache.karaf.features.FeaturesService
>> provided by
>>> the bundle Apache Karaf :: Features :: Core
>>> (org.apache.karaf.features.core) [1].
>>>
>>> Unfortunately this bundle has quite some dependencies which need to be
>>> satisfied. I've chosen a brute force approach and installed the list
>>> of bundles of the karaf-framework feature. Because of chicken and egg
>>> I can't yet install features. So  I needed the following scala on the
>>> command line:
>>>
>>> import java.net._
>>> val url = new
>> URL("mvn:org.apache.karaf.assemblies.features/standard/2.3.0/xml/features")
>>> val conn = url.openConnection
>>> import xml._
>>> val doc = XML.load(conn.getInputStream)
>>>
>>> for (b <- doc\"feature"\"bundle") {
>>>  val mvnUri = b.text
>>>  try {
>>>  val bundle = bundleContext.installBundle(mvnUri)
>>>  bundle.start()
>>>  } catch {
>>>    case ex => out.println("Exception installing bundle", ex)
>>>  }
>>> }
>>>
>>> The bundle org.apache.karaf.features.core is now satisfied but not
>>> exposing any service. For some reason the blueprint service bundle
>>> wasn't activated, activating it over the webconsole made the service
>>> available. As new packages aren't avaiable on already open shells I
>>> have to reconnect via ssh.
>>>
>>> Now I can access the service:
>>>
>>> zz>val fs = $[org.apache.karaf.features.FeaturesService]
>>> fs: org.apache.karaf.features.FeaturesService =
>>> org.apache.karaf.features.internal.FeaturesServiceImpl@9d8957d
>>> zz>fs.[TAB]
>>> addRepository           asInstanceOf            getFeature
>>>  installFeature          installFeatures         isInstalled
>>>   isInstanceOf            listFeatures
>>> listInstalledFeatures   listRepositories        removeRepository
>>>  restoreRepository       toString                uninstallFeature
>>>   validateRepository
>>> zz>fs.listFeatures
>>> res0: Array[org.apache.karaf.features.Feature] = Array()
>>> zz>fs.listRepositories
>>> res1: Array[org.apache.karaf.features.Repository] = Array()
>>>
>>> The next step will be to add a repository.
>>>
>>> Reto
>>>
>>> 1. Thanks to Krzysztoffor pointing me to this:
>>>
>> http://mail-archives.apache.org/mod_mbox/karaf-user/201302.mbox/%3C2960186.kKK1vM5F7L%40dracula%3E
>>>
>>
>> --
>> ir. ing. Minto van der Sluis
>> Software innovator / renovator
>> Xup BV
>>
>> Mobiel: +31 (0) 626 014541
>>
>>


-- 
ir. ing. Minto van der Sluis
Software innovator / renovator
Xup BV

Mobiel: +31 (0) 626 014541

Reply via email to