Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Include Page
apache-felix-ipojo-header
apache-felix-ipojo-header

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 instances & factories, the state of these instances...
Moreover, ; iPOJO defines an 'arch' command displaying this architecture in Felix. You need to install the arch command bundle available in the Felix trunk..

Div
classtoc
Table of Contents
maxLevel4
minLevel2

Reflection on

...

component instances

The architecture feature does "reflection" on the iPOJO containers. It gathers information about the component (state, class name ...), requirement (state, multiple, optional ...), provided services (state, properties) ... Each handler can participate to the architecutrearchitecture. This information allows you to know why a 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
xml
xml

<component classname
Panel
<Component className
="
fr
org.
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 => 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.

Include Page
apache-felix-ipojo-footer
apache-felix-ipojo-footer