BEA Systems, Inc.

BEA WebLogic SIP Server 3.1 API Reference


com.bea.wcp.sip
Interface WlssSipApplicationSession

All Superinterfaces:
SipApplicationSession

public interface WlssSipApplicationSession
extends SipApplicationSession

This interface is an extension of the standard SipApplicationSession interface.

See Also:
SipApplicationSession, WlssAction
Copyright © 2006 BEA Systems, Inc. All Rights Reserved.

Nested Class Summary
static class WlssSipApplicationSession.PersistenceType
          Used by setPersist( com.bea.wcp.sip.WlssSipApplicationSession.PersistenceType, boolean).
 
Method Summary
 java.lang.Object doAction(WlssAction action)
          This methods executes WlssTask in a transactional manner.
 byte getGeoSiteId()
          The site identifier.
 void setPersist(WlssSipApplicationSession.PersistenceType type, boolean value)
          This method can be used to override the default call-state persistence characteristics.
 
Methods inherited from interface javax.servlet.sip.SipApplicationSession
encodeURI, getAttribute, getAttributeNames, getCreationTime, getId, getLastAccessedTime, getSessions, getSessions, getTimers, invalidate, removeAttribute, setAttribute, setExpires
 

Method Detail

doAction

public java.lang.Object doAction(WlssAction action)
                          throws java.lang.Exception
This methods executes WlssTask in a transactional manner. During the execution of this method, no other thread or engine tier cluster member will be allowed access to the call-state pertaining to the SipApplicationSession. It has been introduced to provide a mechanism to control concurrency across the entire engine tier cluster while the application is interacting with the SipApplicationSession. This method is intended to be used by non-SIP scoped servlets (e.g. HTTP servlets in converged applications). When this API is used by the applications, the container guarentees that the business logic contained within the WlssAction will be executed with a lock on the SipApplicationSession instance. If used within the SIP scope (in call) and the Call-ID matches, this method will be a no-op, since the container already guarentees concurrency control during the execution of the service method for SIP servlets. If the SipApplicationSession belongs to a different call-state, than the current SIP request, then container will acquire a lock.

Example usage:



   SipApplicationSession appSession = ...;
   WlssSipApplicationSession wlssAppSession = (WlssSipApplicationSession) appSession;

   wlssAppSession.doAction(new WlssAction() {
       public Object run() throws Exception {

         // add your business logic here
         appSession.setAttribute("counter", latestCounterValue);
         sipSession.setAttribute("currentState", latestAppState);

         // The container will make sure that the run method will be invoked
         // the with appSession locked

         return null;
       }
     });
 

Parameters:
action - WlssAction which is passed by the application
Returns:
Returns the result of the WlssTask's run method (may be null)
Throws:
java.lang.Exception - - propagates the Exception thrown by the run method

getGeoSiteId

public byte getGeoSiteId()
The site identifier. If the session is in the local store then this will be as

Returns:
the aite identifier for this session

setPersist

public void setPersist(WlssSipApplicationSession.PersistenceType type,
                       boolean value)

This method can be used to override the default call-state persistence characteristics.

Parameters:
type - DATABASE denotes that the state should be saved to database by the datatier to save RAM space. GEO_REDUNDANCY indicates that the state should be replicated to the remote site.
value - whether or not to enable the action.

Documentation is available at
http://e-docs.bea.com/wlcp/wlss31/
Copyright 2007 BEA Systems Inc.