Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

Include Page
apache-felix-ipojo-header
apache-felix-ipojo-header

...

Wiki Markup
{html}
<div class="content">
{html}

...

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.

Wiki Markup
 command|FELIX:iPOJO-Arch-Command]._

{div:class=toc}
{toc:maxLevel=4|minLevel=2}
{div}

h2. 

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

...

architecture.

...

This

...

information

...

allows

...

you

...

to

...

know

...

why

...

an

...

instance

...

does

...

not

...

start,

...

or

...

why

...

the

...

component

...

does

...

not

...

publish

...

/

...

provide

...

a

...

service.

...

Metadata

The architecture (i.e.

...

instance

...

introspection)

...

is

...

activated

...

by

...

default.

...

To

...

disable

...

it,

...

you

...

need

...

to

...

add

...

an

...

attribute

...

"architecture=false"

...

to

...

the

...

component

...

element:

Code Block
xml
xml

{code:xml}
<component classname="org.apache.felix.ipojo.hello.impl.HelloServiceImpl" architecture="false">
{code}

By

...

default,

...

the

...

architecture

...

feature

...

is

...

enabled.

...

The

...

"arch"

...

command

...

A

...

Felix

...

command

...

comes

...

with

...

the

...

architecture

...

handler.

...

This

...

command

...

looks

...

for

...

all

...

component

...

exposing

...

the

...

architecture

...

and

...

print

...

the

...

information.

{
Code Block
}
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
{code}

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 instance. For example, the arch command requests all the architecture services and prints the information.

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

...