blob: 584f0629bb197d9e04ddb0eddc6d111eaa2c48ee [file] [log] [blame]
= Apache Winegrower Agent
The Apache Winegrower agent provides a Javaagent which will
starts Winegrower `Ripener` class.
It uses the same configuration as other extensions and it is read from
the agent args.
[source,sh]
----
-javaagent:winegrower-agent-${winegrower.version}.jar
----
With configuration it can look like:
[source,sh]
----
-javaagent:winegrower-agent-${winegrower.version}.jar=workDir=/tmp/winegrower|ignoredBundles=cxf
----
You can see the available options and their actual values activating the debug mode which will log the whole configuration:
[source,sh]
----
-Dwinegrower.agent.debug=true
----
== Select your "distribution"
The java agent is just starting a ripener but it does not provide any library. To do that
you have to set `libs` parameter of the agent. You can use `core` or `jaxrs` prebuilt binaries (point to their lib folder
once the zip exploded):
[source,sh]
----
-javaagent:winegrower-agent-${winegrower.version}.jar=libs=/opt/winegrower/distro/lib
----
If you pick the JAX-RS distribution for instance and unpack it in /opt/winegrower/jaxrs
and write a plugin (let say a JAX-RS whiteboard endpoint) then you can
deploy the following plugin using the JAX-RS distribution using this JVM configuration:
[source,sh]
----
-javaagent:winegrower-agent.jar=libs=/opt/user/plugin,/opt/winegrower/jaxrs/lib|ignoredBundles=cxf \
-Dwinegrower.service.org.apache.aries.jax.rs.whiteboard.default.osgi.http.whiteboard.context.path=/test
----
The configuration is the one needed for JAX-RS whiteboard and is propagated to the `Ripener` instance started by the java agent.
== Configuration keys
Note: see link:../../index.html[core] configuration for more details on how to use these configuration entries.
- ignoredBundles
- jarFilter
- manifestContributors
- prioritizedBundles
- scanningExcludes
- scanningIncludes
- workDir
It also support the specific configuration `libs` which takes either a folder which is converted in the list of contained jars
or directly some jar paths. The paths are appended to the system classloader before the `Ripener` is started.
It allows to explode some distribution and start it without having to do a fatjar or so of the distribution.