Include Page | ||||
---|---|---|---|---|
|
HTML |
---|
<div class="content">
|
Introspection and Architecture
...
The architecture feature allows obtaining an architectural / component view of your systems. It exposes a snapshot of the present componentsinstances & factories, the state of these components, the state fo the dependencies instances...
To use the arch command, you Moreover; iPOJO defines an 'arch' command displaying this architecture in Felix. You need to install the arch command bundle available here.
...
.
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Reflection on component instances
The architecture feature does some "reflection" on the iPOJO containers. It gathers information about the component (state, class name ...), dependencies requirement (state, multiple, optional ...), provided services (state, properties) ... Each handler can participate to the architecture. This information allows you to know why a component an instance does not start, or why the component does not publish / provide a service.
Metadata
To allow the architecture to introspect the containerThe architecture (i.e. instance introspection) is activated by default. To disable it, you need to add a an attribute "architecture=truefalse" to the component element:
Code Block | ||
---|---|---|
| ||
Panel | ||
| ||
<component classname <Component className=" frorg.imag apache.adele felix.escoffier ipojo.hello.impl.HelloServiceImpl" architecture="true false"> |
By default, the architecture feature is disabledenabled.
The "arch" command
A Felix command comes with the architecture handler. This command looks for all component exposing the architecture and print the information:.
Panelcode |
---|
arch =>arch Component : fr.imag.adele.escoffier.hello.impl.HelloServiceImpl - VALID Dependency : org.osgi.service.log.LogService - RESOLVED - Optional : true - Multiple : false Provides : fr.imag.adele.escoffier.hello.HelloService - REGISTERED Service Property : floor_ = 2 Service Property : coucou = coucou Service Property : empty = true Service Property : language = fr Component : fr.imag.adele.escoffier.hello.impl.HelloServiceImpl2 - VALID Dependency : org.osgi.service.log.LogService - RESOLVED - Optional : true - Multiple : false Provides : fr.imag.adele.escoffier.hello.HelloService - REGISTERED displays instances name & state (equivalent to arch \-instances)
arch -instance $instance_name => displays complete information about the instance $instance_name
arch -factories => display the list of available factories
arch -factory $factory_name => display complete information about the factory $factory_name
arch -handlers => list available handlers
|
More info on the arch
command are available here.
Technical information
In fact, when a component enables the architecture introspection, its container exposes an Architecture
service. Any architecture requester can obtain information about the componentinstance. For example, the arch command request requests all the architecture service services and print prints the information.
Limitation and perspectives
...
Include Page | ||||
---|---|---|---|---|
|