com.netscape.certsrv.request
Interface IRequestSubsystem


public interface IRequestSubsystem

This interface defines storage of request objects in the local database.

Version:
$Revision: 1211 $, $Date: 2010-08-18 10:15:37 -0700 (Wed, 18 Aug 2010) $

Field Summary
static java.lang.String SUB_ID
           
 
Method Summary
 void createRequestQueue(java.lang.String name)
          Creates a new request queue.
 IRequestQueue getRequestQueue(java.lang.String name, int increment, IPolicy p, IService s, INotify n)
          Retrieves a request queue.
 IRequestQueue getRequestQueue(java.lang.String name, int increment, IPolicy p, IService s, INotify n, INotify pendingNotifier)
          Retrieves a request queue.
 

Field Detail

SUB_ID

static final java.lang.String SUB_ID
See Also:
Constant Field Values
Method Detail

createRequestQueue

void createRequestQueue(java.lang.String name)
                        throws EBaseException
Creates a new request queue. (Currently unimplemented. Just use getRequestQueue to create an in-memory queue.)

Parameters:
name - The name of the queue object. This name can be used in getRequestQueue to retrieve the queue later.
Throws:
EBaseException - failed to create request queue

getRequestQueue

IRequestQueue getRequestQueue(java.lang.String name,
                              int increment,
                              IPolicy p,
                              IService s,
                              INotify n)
                              throws EBaseException
Retrieves a request queue. This operation should only be done once on each queue. For example, the RA subsystem should retrieve its queue, and store it somewhere for use by related services, and servlets.

WARNING: retrieving the same queue twice with result in multi-thread race conditions.

Parameters:
name - the name of the request queue. (Ex: "ca" "ra")
p - A policy enforcement module. This object is called to make adjustments to the request, and decide whether it needs agent approval.
s - The service object. This object actually performs the request after it is finalized and approved.
n - A notifier object (optional). The notify() method of this object is invoked when the request is completed (COMPLETE, REJECTED or CANCELED states).
Throws:
EBaseException - failed to retrieve request queue

getRequestQueue

IRequestQueue getRequestQueue(java.lang.String name,
                              int increment,
                              IPolicy p,
                              IService s,
                              INotify n,
                              INotify pendingNotifier)
                              throws EBaseException
Retrieves a request queue. This operation should only be done once on each queue. For example, the RA subsystem should retrieve its queue, and store it somewhere for use by related services, and servlets.

WARNING: retrieving the same queue twice with result in multi-thread race conditions.

Parameters:
name - the name of the request queue. (Ex: "ca" "ra")
p - A policy enforcement module. This object is called to make adjustments to the request, and decide whether it needs agent approval.
s - The service object. This object actually performs the request after it is finalized and approved.
n - A notifier object (optional). The notify() method of this object is invoked when the request is completed (COMPLETE, REJECTED or CANCELED states).
pendingNotifier - A notifier object (optional). Like the 'n' argument, except the notification happens if the request is made PENDING. May be the same as the 'n' argument if desired.
Throws:
EBaseException - failed to retrieve request queue