More Books
JBoss 4.0 The Official Guide
JBoss® 4.0 The Official Guide
Table of Contents
Copyright
About the Authors
We Want to Hear from You!
Introduction
What This Book Covers
About JBoss
About Open Source
About Professional Open Source
What's New in JBoss 4.0
Chapter 1.  Installing and Building the JBoss Server
Getting the Binary Files
Installing the Binary Package
Basic Installation Testing
Booting from a Network Server
Building the Server from Source Code
Chapter 2.  The JBoss JMX Microkernel
JMX
The JBoss JMX Implementation Architecture
Connecting to the JMX Server
Using JMX as a Microkernel
The JBoss Deployer Architecture
Exposing MBean Events via SNMP
Remote Access to Services, Detached Invokers
Chapter 3.  Naming on JBoss
An Overview of JNDI
The JBossNS Architecture
Chapter 4.  Transactions on JBoss
Transaction and JTA Overview
JBoss Transaction Internals
Chapter 5.  EJBs on JBoss
The EJB Client-Side View
The EJB Server-Side View
The EJB Container
Entity Bean Locking and Deadlock Detection
Chapter 6.  Messaging on JBoss
JMS Examples
JBossMQ Overview
JBossMQ Configuration and MBeans
Specifying the MDB JMS Provider
Chapter 7.  Connectors on JBoss
JCA Overview
An Overview of the JBossCX Architecture
Configuring JDBC Datasources
Configuring Generic JCA Adaptors
Chapter 8.  Security on JBoss
J2EE Declarative Security Overview
An Introduction to JAAS
The JBoss Security Model
The JBossSX Architecture
The Secure Remote Password (SRP) Protocol
Running JBoss with a Java 2 Security Manager
Using SSL with JBoss and JSSE
Configuring JBoss for Use Behind a Firewall
Securing the JBoss Server
Chapter 9.  Web Applications
The Tomcat Service
The Tomcat server.xml File
The Engine Element
The Host Element
Using SSL with the JBoss/Tomcat Bundle
Setting the Context Root of a Web Application
Setting Up Virtual Hosts
Serving Static Content
Using Apache with Tomcat
Using Clustering
Integrating Third-Party Servlet Containers
Chapter 10.  MBean Services Miscellany
System Properties Management
Property Editor Management
Services Binding Management
Scheduling Tasks
The Log4j Service MBean
RMI Dynamic Class Loading
Chapter 11.  The CMP Engine
Example Code
The jbosscmp-jdbc Structure
Entity Beans
CMP Fields
Container-Managed Relationships
Declaring Queries
Optimized Loading
The Loading Process
Transactions
Optimistic Locking
Entity Commands and Primary Key Generation
JBoss Global Defaults
Datasource Customization
Chapter 12.  Web Services
JAX-RPC Service Endpoints
Enterprise JavaBean Endpoints
Web Services ClientsA JAX-RPC Client
Service References
Chapter 13.  Hibernate
The Hibernate MBean
Hibernate Archives
Using Hibernate Objects
Using a HAR File Inside an EAR File
The HAR Deployer
Chapter 14.  Aspect-Oriented Programming (AOP) Support
JBoss AOP: EJB-Style Services for Plain Java Objects
Why AOP?
Basic Concepts of AOP
Building JBoss AOP Applications
The JBoss AOP Deployer
Packaging and Deploying AOP Applications to JBoss
Appendix A.  The GNU Lesser General Public License (LGPL)
GNU General Public License
Appendix B.  Example Installation
Index
SYMBOL
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X

Exposing MBean Events via SNMP

JBoss has an snmp-adaptor service that can be used to intercept JMX notifications emitted by MBeans, convert them to traps, and send them to SNMP managers. In this respect, the snmp-adaptor acts as an SNMP agent. Future versions may offer support for full agent get/set functionality that maps onto MBean attributes or operations.

This service can be used to integrate JBoss with higher-order system/network management platforms (HP Open-View, for example), making the MBeans visible to those systems. The MBean developer can instrument the MBeans by producing notifications for any significant event (for example, server coldstart), and the adaptor can then be configured to intercept the notification and map it onto an SNMP traps. The adaptor uses the JoeSNMP package from OpenNMS as the SNMP engine.

The SNMP service is configured in snmp-adaptor.sar. This service is available only in the all configuration, so you need to copy it to your configuration if you want to use it. Inside the snmp-adaptor.sar directory are two configuration files that that control the SNMP service:

  • managers.xml This file configures where to send traps. The content model for this file is shown in Figure 2.21.

    Figure 2.21. The schema for the SNMP managers file.


  • notifications.xml This file specifies the exact mapping of each notification type to a corresponding SNMP trap. The content model for this file is shown in Figure 2.22.

    Figure 2.22. The schema for the notification to trap mapping file.


    The SNMPAgentService MBean is configured in snmp-adaptor.sar/META-INF/jboss-service.xml. These are the configurable parameters:

  • HeartBeatPeriod Specifies the period, in seconds, during which heartbeat notifications are generated.

  • ManagersResName Specifies the resource name of the managers.xml file.

  • NotificationMapResName Specifies the resource name of the notications.xml file.

  • trapFactoryClassName Specifies the org.jboss.jmx.adaptor.snmp.agent.TrapFactory implementation class that takes care of translation of JMX notifications into SNMP version 1 and version 2 traps.

  • TimerName Specifies the JMX ObjectName of the JMX timer service to use for heartbeat notifications.

  • SubscriptionList Specifies which MBeans and notifications to listen for.

The Event to Trap Service

trapdService is a simple MBean that acts as an SNMP Manager. It listens to a configurable port for incoming traps and logs them as DEBUG messages, using the system logger. You can modify the log4j configuration to redirect the log output to a file. SnmpAgentService and trapdService are not dependent on each other.