...
Include Page | |||
---|---|---|---|
|
|
...
HTML |
---|
...
<div class="content">
|
...
Apache Felix iPOJO Online Manipulator
iPOJO generally requires an additional packaging step to prepare the bundle to be managed by iPOJO. Despite this step doesn't change the class semantic, it can be a little annoying. The online manipulator avoids this offline step!
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Features
iPOJO is based on a bytecode manipulation. This manipulate is safe
and does not change the class semantics. Classes can still used after the manipulation without iPOJO. However this manipulation is required for iPOJO management. Generally, this manipulation occurs offline during the packaging time. The online manipulator allows to do this manipulation at install time.
The online manipulator:
- avoids offline manipulation
- supports annotations
- supports XSD schema
This is quite useful if you don't want to add an extra packaging step, and provides the same capabilities as the "regular" way.Center
Usage
The online-manipulator is in fact an URL Handler. So, it will process every bundle using a special URL prefix. To use it, just follows the below instructions:
- Install and Start the URL Handler *
This is a requirement. You must install and start the URL handler as well as iPOJO (core). The URL Handler is build by the online-manipulator iPOJO sub-project.
On Felix you can either use thestart
command from the shell of OBR:
Shell Command | OBR |
---|---|
start http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo/1. |
...
...
...
...
...
...
obr |
...
start |
...
"Apache |
...
Felix |
...
iPOJO |
...
URL |
...
Handler" |
...
- Install
...
- a
...
- bundle
...
- using
...
- the
...
ipojo:
...
- URL
...
- prefix
...
Using
...
- the
...
- handler
...
- is
...
- quite
...
- easy.
...
- When
...
- you
...
- want
...
- to
...
- deploy
...
- a
...
- non-manipulated
...
- iPOJO
...
- bundle
...
- just
...
- use
...
- an
...
- url
...
- like
...
Code Block
...
install ipojo:file:/.../bundle.jar
...
The
...
complete
...
URL
...
syntax
...
is
Code Block |
---|
} install ipojo:bundle_url[!metadata_url] {code} |
When
...
using
...
the
...
ipojo:
...
prefix,
...
the
...
OSGi
...
platform
...
delegates
...
the
...
loading
...
to
...
the
...
url
...
handler
...
manipulating
...
the
...
bundle
...
before
...
its
...
installation.
...
This
...
manipulation
...
is
...
exactly
...
the
...
same
...
as
...
the
...
offline
...
manipulation.
Dealing with metadata
If the installed bundle contains a metadata.xml
file either in its root or in the META-INF
directory, the online manipulator will use it. However, you can also provide an external metadata.xml
file by indicating the url of the file like in
Code Block |
---|
h2. Dealing with metadata If the installed bundle contains a {{metadata.xml}} file either in its root or in the {{META-INF}} directory, the online manipulator will use it. However, you can also provide an external {{metadata.xml}} file by indicating the url of the file like in {code} install ipojo:bundle_url!metadata_url {code} |
If
...
you
...
provide
...
such
...
url,
...
it
...
will
...
override
...
the
...
contained
...
metadata.xml
...
file.
...
Include Page | ||||
---|---|---|---|---|
|
...