...
The
...
purpose
...
of
...
this
...
article
...
is
...
to
...
show
...
the
...
possibilities
...
of
...
server-side
...
monitoring
...
using
...
Geronimo,
...
a
...
Java^TM^ 2
...
Platform
...
Enterprise
...
Edition
...
(J2EE)
...
application
...
server.
...
Monitoring
...
an
...
application
...
server
...
from
...
inside
...
saves
...
network
...
traffic,
...
since
...
monitored
...
information
...
can
...
be
...
analyzed,
...
filtered,
...
summarized,
...
and
...
set
...
into
...
an
...
application
...
specific
...
context
...
inside
...
the
...
server.
...
For
...
example
...
an
...
application
...
server
...
could
...
send
...
an
...
...
when
...
the
...
response
...
time
...
of
...
our
...
online
...
shop
...
gets
...
unacceptable
...
big.
...
A
...
simple
...
web
...
application
...
has
...
been
...
used
...
to
...
develop
...
a
...
server-side
...
monitoring
...
component
...
that
...
monitors
...
three
...
servlets
...
and
...
gives
...
alarm
...
when
...
the
...
overall
...
average
...
processing
...
time
...
exceeds
...
a
...
certain
...
given
...
threshold.
...
What
...
is
...
needed
...
- JDK
...
- 5.0
...
- (because
...
- of
...
- the
...
- used
...
- JConsole
...
- tool;
...
- it
...
- is
...
- not
...
- included
...
- in
...
- JDK1.4):
...
...
- Standard
...
- Geronimo:
...
...
- Sample
...
- Code:
...
...
- (Contents:
...
- Sources,
...
- shell
...
- scripts,
...
- archives,
...
- README,
...
- etc.)
...
Introduction
A lot of articles can be found in managing application servers with remote clients using the Java Management Extensions (JMX; http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
...
).
...
These
...
management
...
client
...
applications
...
describe
...
how
...
to
...
connect
...
management
...
clients
...
to
...
a
...
server
...
and
...
how
...
to
...
retrieve
...
information
...
from
...
the
...
server
...
applications.
...
While
...
much
...
attention
...
has
...
been
...
given
...
to
...
the
...
client-side
...
aspects
...
of
...
JMX,
...
very
...
little
...
consideration
...
has
...
been
...
given
...
to
...
the
...
server-side
...
challenges
...
of
...
developing
...
and
...
deploying
...
management
...
beans
...
(MBeans).
...
The
...
reason
...
lays
...
in
...
the
...
difficulties
...
of
...
development
...
and
...
integration
...
of
...
such
...
components.
...
Often
...
it
...
is
...
not
...
possible
...
at
...
all.
...
With
...
the
...
appearance
...
of
...
Geronimo
...
the
...
server-side
...
monitoring
...
by
...
implementing
...
MBeans
...
for
...
monitoring
...
servlets
...
or
...
EJBs
...
is
...
simplified.
...
This
...
article
...
shows
...
how
...
to
...
monitor
...
the
...
application
...
server
...
Geronimo
...
from
...
inside
...
and
...
how
...
detailed
...
information
...
querying
...
the
...
MBeans
...
can
...
be
...
analyzed,
...
grouped
...
and
...
generated
...
to
...
meta
...
data
...
inside
...
the
...
server.
...
This
...
saves
...
bandwidth
...
between
...
the
...
management
...
client
...
and
...
the
...
server
...
and
...
allows
...
to
...
build
...
a
...
more
...
efficient
...
controlled
...
application
...
server
...
with
...
the
...
monitor
...
component
...
inside.
...
To
...
keep
...
it
...
simple
...
the
...
Geronimo
...
monitoring
...
component
...
is
...
investigating
...
the
...
processing
...
time
...
of
...
three
...
servlets.
...
The
...
average
...
of
...
all
...
three
...
processing
...
times
...
is
...
built
...
and
...
an
...
alarm
...
is
...
generated
...
if
...
the
...
overall
...
processing
...
time
...
is
...
greater
...
then
...
a
...
pre-defined
...
value.
...
How
...
the
...
developed
...
monitoring
...
component
...
is
...
integrated
...
into
...
the
...
Geronimo
...
architecture
...
and
...
how
...
it
...
is
...
deployed
...
and
...
managed
...
by
...
the
...
JConsole
...
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
...
is
...
content
...
of
...
this
...
paper.
...
Overview
...
about
...
MBeans
...
and
...
GBeans
...
This
...
section
...
gives
...
a
...
short
...
introduction
...
of
...
the
...
management
...
standard
...
JMX
...
(
...
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
...
)
...
with
...
its
...
fundamental
...
beans,
...
the
...
MBeans.
...
It
...
explains
...
that
...
Geronimo
...
can
...
be
...
extended
...
by
...
new
...
components,
...
if
...
they
...
are
...
GBeans.
...
Java
...
Management
...
Extension
...
Java
...
Management
...
eXtension
...
(JMX)
...
(
...
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
...
)
...
standardizes
...
the
...
managing
...
and
...
monitoring
...
of
...
applications
...
and
...
services.
...
It
...
enables
...
developers
...
to
...
write
...
management
...
programs
...
for
...
their
...
applications
...
in
...
a
...
vendor/neutral
...
fashion.
...
Another
...
important
...
standard
...
in
...
the
...
area
...
of
...
J2EE
...
is
...
JSR-77
...
(
...
http://jcp.org/en/jsr/detail?id=77
...
).
...
JSR-77
...
is
...
a
...
standard
...
model
...
for
...
managing
...
the
...
J2EE
...
platform
...
and
...
allows
...
application
...
server
...
vendors
...
to
...
present
...
performance
...
metrics
...
in
...
a
...
standard
...
way.
...
It
...
defines
...
a
...
set
...
of
...
standard
...
metric
...
types
...
that
...
can
...
be
...
used
...
to
...
monitor
...
J2EE
...
platforms.
...
The
...
following
...
types
...
of
...
metrics
...
are
...
defined
...
in
...
JSR-77:
...
range
...
statistics,
...
boundary
...
statistics,
...
bounded
...
range
...
statistics,
...
count
...
statistics,
...
and
...
time
...
statistics.
...
Fundamental
...
to
...
JMX
...
is
...
the
...
management
...
bean,
...
MBean.
...
There
...
are
...
four
...
types
...
of
...
MBeans
...
(Standard,
...
Dynamic,
...
Model,
...
Open),
...
and
...
each
...
provide
...
a
...
different
...
level
...
of
...
sophistication
...
for
...
management
...
and
...
monitoring
...
(see
...
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
...
for
...
more
...
details).
...
In
...
this
...
paper,
...
MBeans
...
are
...
used
...
for
...
the
...
monitoring
...
of
...
servlets
...
and
...
for
...
controlling
...
the
...
GBean
...
monitor
...
component.
...
Geronimo
...
hosting
...
our
...
Monitor
...
Component
...
Geronimo
...
is
...
in
...
the
...
first
...
place
...
a Java^TM^ 2 Platform Enterprise Edition (J2EE)
...
application
...
server,
...
but
...
can
...
be
...
seen
...
as
...
a
...
general
...
service
...
container.
...
The
...
main
...
focus
...
of
...
developing
...
Geronimo
...
was
...
the
...
managing
...
and
...
scaling
...
of
...
application
...
servers.
...
Geronimo's
...
intention
...
was
...
never
...
to
...
re-implement
...
a
...
servlet
...
or
...
an
...
EJB
...
container,
...
but
...
to
...
use
...
existing
...
open
...
source
...
applications
...
(mainly
...
from
...
Apache
...
...
)
...
whenever
...
possible,
...
plug
...
it
...
together
...
and
...
build
...
a
...
new
...
application
...
server.
...
Anchor | ||||
---|---|---|---|---|
|
The standard Geronimo distribution comes with Apache Tomcat http://tomcat.apache.org/
...
and
...
EJB
...
container
...
(OpenEJB
...
http://incubator.apache.org/openejb/
...
)
...
component.
...
Extending
...
Geronimo
...
by
...
a
...
monitoring
...
component,
...
developed
...
for
...
this
...
paper,
...
is
...
like
...
Tomcat,
...
or
...
any
...
other
...
component
...
as
...
long
...
as
...
they
...
are
...
GBeans,
...
as
...
shown
...
in the
...
...
above.
...
The
...
fundamental
...
entity
...
within
...
Geronimo
...
are
...
Geronimo
...
Beans
...
(GBeans).
...
References
- Sun's
...
- java
...
- management
...
- extensions
...
- (JMX)
...
- page.
...
...
- .
...
- JConsole
...
- reference.
...
...
- .
...
- JConsole
...
- manual.
...
...
- .
...
- JSR-77:
...
- J2EE
...
- management
...
- specification.
...
...
- .
...
- Apache
...
- home
...
- page.
...
...
- .
...
- Tomcat
...
- home
...
- page.
...
...
- .
...
- OpenEJB
...
- home
...
- page.
...
...
- .
...
- Martin
...
- Fowler;
...
- Inversion
...
- of
...
- control
...
- containers
...
- and
...
- the
...
- dependency
...
- injection
...
- pattern.
...
- ;
...
...
- ;
...
- January;
...
- 2004.
...
- Niel
...
- Frod;
...
- Dependency
...
- injection
...
- in
...
- apache
...
- geronimo,
...
- part
...
- 1:
...
- A
...
- new
...
- way
...
- to
...
- look
...
- at
...
- decoupling
...
- in
...
- j2ee
...
- applications.
...
- ;
...
...
- ;
...
- February;
...
- 2006.
...
- Niel
...
- Frod;
...
- Dependency
...
- injection
...
- in
...
- apache
...
- geronimo,
...
- part
...
- 2:
...
- The
...
- next
...
- generation.
...
- ;
...
...
- ;
...
- February;
...
- 2006.