Chapter 24.
JOnAS Services
This chapter is intended for advanced JOnAS users who require that some “external” services run
along with the EJB server. A service is something that may be initialized, started, and stopped. JOnAS
itself already defines a set of services, some of which are cornerstones of the EJB Server. The JOnAS
pre-defined services are listed in Section 3.5
Configuring JOnAS Services
.
EJB application developers may need to access other services, for example another Web container or
a Versant container, for their components. Thus, it is important that such services be able to run along
with the EJB server. To achieve this, it is possible to define them as JOnAS services.
This chapter describes how to define a new JOnAS service and how to specify which service should
be started with the EJB server.
24.1. Introducing a New Service
The customary way to define a new JOnAS service is to encapsulate it in a class whose interface is
known by JOnAS. More precisely, such a class provides a way to initialize, start, and stop the service.
Then, the jonas.properties file must be modified to make JOnAS aware of this service.
24.1.1. Defining the Service Class
A
JOnAS
service
is
represented
by
a
class
that
implements
the
interface
org.objectweb.jonas.service.Service
, and, thus should implement the following methods:
•
public void init(Context ctx) throws ServiceException;
•
public void start() throws ServiceException;
•
public void stop() throws ServiceException;
•
public boolean isStarted();
•
public String getName();
•
public void setName(String name);
It should also define a public constructor with no argument.
These methods will be called by JOnAS for initializing, starting, and stopping the service. Config-
uration parameters are provided to the initialization method through a naming context. This naming
context is built from properties defined in the
jonas.properties
file as explained in Section 24.1.2
Modifying the jonas.properties File
.
The Service class should look like the following:
package a.b;
import javax.naming.Context;
import javax.naming.NamingException;
import org.objectweb.jonas.service.Service;
import org.objectweb.jonas.service.ServiceException;
.....
public class MyService implements Service {
private String name = null;
private boolean started = false;
.....
public void init(Context ctx) throws ServiceException {
try {
Summary of Contents for Application Server
Page 1: ...Red Hat Application Server JOnAS User Guide ...
Page 8: ......
Page 22: ...14 Chapter 1 Java Open Application Server JOnAS a J2EE Platform ...
Page 58: ...50 Chapter 3 JOnAS Configuration ...
Page 66: ...58 Chapter 5 JOnAS Class Loader Hierarchy ...
Page 78: ...70 Chapter 6 JOnAS Command Reference ...
Page 80: ......
Page 86: ...78 Chapter 7 Developing Session Beans ...
Page 136: ...128 Chapter 9 Developing Message Driven Beans ...
Page 142: ...134 Chapter 10 Defining the Deployment Descriptor ...
Page 148: ...140 Chapter 11 Transactional Behavior of EJB Applications ...
Page 158: ...150 Chapter 14 EJB Packaging ...
Page 162: ...154 Chapter 15 Application Deployment and Installation Guide ...
Page 164: ......
Page 176: ...168 Chapter 18 WAR Packaging ...
Page 178: ......
Page 184: ...176 Chapter 20 Defining the Client Deployment Descriptor ...
Page 186: ...178 Chapter 21 Client Packaging ...
Page 188: ......
Page 192: ...184 Chapter 23 EAR Packaging ...
Page 194: ......
Page 200: ...192 Chapter 24 JOnAS Services ...
Page 204: ...196 Chapter 25 JOnAS and the Connector Architecture ...
Page 222: ...214 Chapter 27 Ant EJB Tasks Using EJB JAR ...
Page 234: ...226 Chapter 29 Web Services with JOnAS ...
Page 236: ......
Page 260: ...252 Chapter 34 How to use Axis in JOnAS ...
Page 270: ...262 Chapter 36 Web Service Interoperability between JOnAS and BEA WebLogic ...
Page 296: ......