| = Apache Winegrower Core |
| |
| Winegrower core is the implementation of the light and embeddable OSGi model. |
| It intends to respect OSGi programming model except the classloading one. |
| It means you can use `Activator`, `scr` etc...without isolation which boots the packaging |
| and deployment of your application. |
| |
| == Entry point |
| |
| The entry point is the `Ripener` class which is the "container" API. |
| The nested `Ripener.Impl` class is one implementation you can use out of the box. |
| |
| === Configuration |
| |
| `Ripener` takes a `Ripener.Configuration` configuration as parameter. |
| |
| ignoredBundles:: which valid bundles must be ignored. Useful when some bundles are conflicting like JAX-RS whiteboard of Apache Aries and the native CXF bundles. |
| jarFilter:: a filter on OSGi bundles. It will behave as `ignoredBundles` but is intended to host bundles which don't need to be bundles (like `commons-*`) and keep your configuration readable. |
| manifestContributors:: the list of implementation of `ManifestContributor` to create a manifest on the fly for not OSGi bundle jars. |
| prioritizedBundles:: a sorted list of bundles which will be started before others. |
| scanningExcludes:: exclusions for non OSGi jars scanning. |
| scanningIncludes:: inclusions for non OSGi jars scanning. |
| workDir:: where to create temporary files when a bundle needs it. |
| |
| === Package default configuration |
| |
| The configuration is taken from the agent by default but you can also embed some default values for your convenience. |
| This is done providing a `winegrower.properties` in the agent classloader. It takes the same configuration as the agent. |
| |
| TIP: you can also pass `winegrower.service.*` properties in this file. |
| |
| === Use as Karaf framework |
| |
| In some cloud oriented application it can makes sense to deploy Winegrower as a Karaf framework. |
| To do so: |
| |
| 1. Customize your `config.properties` setting/adding these properties: |
| + |
| [source,properties] |
| ---- |
| karaf.framework=winegrower |
| karaf.framework.factory=org.apache.winegrower.framework.WinegrowerFramework$Factory |
| karaf.framework.winegrower=mvn\:org.apache.winegrower/winegrower-core/<version>/jar/fatjar |
| ---- |
| 2. Ensure `winegrower-core` fatjar is in `system/` directly of Karaf |
| 3. Ensure `winegrower-core` OSGi API dependencies are in `karaf/lib` (typically config admin is required or `osgi.cmpn`) |