...
Include Page | |||
---|---|---|---|
|
|
...
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
...
...
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 | ||||
---|---|---|---|---|
| ||||
{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
...
...
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
...
...
.
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 | ||||
---|---|---|---|---|
|
...