org.ow2.jonas.multitenant
Interface MultitenantService

All Superinterfaces:
Service

public interface MultitenantService
extends Service

JOnAS Service interface for the multitenant service.

Author:
Mohammed Boukada

Field Summary
static String DEFAULT
          Policy for a default context.
static String DISABLED
          Policy for a disabled context.
static String[] POLICIES
          Possible policies.
static String PRIVATE
          Policy for a private context.
static String RESERVED
          Policy for a reserved context.
 
Method Summary
 void addTenantIdDeployableInfo(org.ow2.util.ee.deploy.api.deployable.IDeployable deployable, String tenantId)
          Add tenantId as extension to the earDeployable
 void createJNDIBindingMBeans(org.ow2.util.ee.deploy.api.deployable.IDeployable<?> deployable, String tenantId)
          Creates JNDI binding management beans for a given tenant identifier.
 void garbageCollectJNDIBindingMBeans()
          Removes JNDI binding management beans that are not in the JNDI directory anymore.
 String getDefaultDeploymentPolicy()
           
 String getDefaultTenantID()
          Returns the default tenantId value
 String getInstanceNameFromContext()
          Get application instance name from TenantContext
 Object getTenantContext()
          Gets tenantContext from TenantCurrent
 String getTenantIdDeployableInfo(org.ow2.util.ee.deploy.api.deployable.IDeployable deployable)
          Gets tenantIdInfo stored in the deployable
 Filter getTenantIdFilter(String tenantId)
          Creates an instance of a TenantId HTTP Filter
 String getTenantIdFromContext()
          Gets tenant id from TenantContext
 boolean isMultitenant(org.ow2.util.ee.deploy.api.deployable.IDeployable deployable)
          Tell if an application is multitenant
 void setInstanceNameInContext(String instanceName)
          Set application instance name in TenantContext
 void setTenantContext(Object ctx)
          Set TenantContext in the Thread
 void setTenantIdAndInstanceNameInContext(String tenantId, String instanceName)
          Set TenantId and Instance Name in TenantContext
 void setTenantIdInContext(String tenantId)
          Set tenant id in the TenantContext
 void updatePersistenceUnitManager(org.ow2.easybeans.persistence.api.EZBPersistenceUnitManager persistenceUnitManager, String tenantId)
          Add eclipselink properties
 
Methods inherited from interface org.ow2.jonas.service.Service
getName, init, isStarted, setName, start, stop
 

Field Detail

DEFAULT

static final String DEFAULT
Policy for a default context. All users that cannot access other contexts will access the default context.

See Also:
Constant Field Values

DISABLED

static final String DISABLED
Policy for a disabled context. Only old users on that context are allowed to access it, new users never get redirected to such a context.

See Also:
Constant Field Values

RESERVED

static final String RESERVED
Policy for a reserved context. Only users that know the exact address of this context can access it.

See Also:
Constant Field Values

PRIVATE

static final String PRIVATE
Policy for a private context.

See Also:
Constant Field Values

POLICIES

static final String[] POLICIES
Possible policies.

Method Detail

getDefaultDeploymentPolicy

String getDefaultDeploymentPolicy()
Returns:
The default deployment policy.

getDefaultTenantID

String getDefaultTenantID()
Returns the default tenantId value

Returns:
the default tenantId value

getTenantIdFilter

Filter getTenantIdFilter(String tenantId)
Creates an instance of a TenantId HTTP Filter

Parameters:
tenantId - the tenant identifier
Returns:
an instance of a TenantId HTTP Filter

createJNDIBindingMBeans

void createJNDIBindingMBeans(org.ow2.util.ee.deploy.api.deployable.IDeployable<?> deployable,
                             String tenantId)
Creates JNDI binding management beans for a given tenant identifier.

Parameters:
deployable - JAR, WAR or EAR object.
tenantId - tenant identifier of the application which will prefix JNDI names.

garbageCollectJNDIBindingMBeans

void garbageCollectJNDIBindingMBeans()
Removes JNDI binding management beans that are not in the JNDI directory anymore.


updatePersistenceUnitManager

void updatePersistenceUnitManager(org.ow2.easybeans.persistence.api.EZBPersistenceUnitManager persistenceUnitManager,
                                  String tenantId)
Add eclipselink properties

Parameters:
persistenceUnitManager - persistence unit manager
tenantId - tenant identifier

addTenantIdDeployableInfo

void addTenantIdDeployableInfo(org.ow2.util.ee.deploy.api.deployable.IDeployable deployable,
                               String tenantId)
Add tenantId as extension to the earDeployable

Parameters:
deployable - application deployable
tenantId - tenant identifier to add

getTenantIdDeployableInfo

String getTenantIdDeployableInfo(org.ow2.util.ee.deploy.api.deployable.IDeployable deployable)
Gets tenantIdInfo stored in the deployable

Parameters:
deployable - application deployable
Returns:
tenantIdInfo

isMultitenant

boolean isMultitenant(org.ow2.util.ee.deploy.api.deployable.IDeployable deployable)
Tell if an application is multitenant

Parameters:
deployable - application deployable
Returns:
is multitenant, or not.

getTenantContext

Object getTenantContext()
Gets tenantContext from TenantCurrent

Returns:
tenantContext

getTenantIdFromContext

String getTenantIdFromContext()
Gets tenant id from TenantContext

Returns:
tenant id

setTenantIdInContext

void setTenantIdInContext(String tenantId)
Set tenant id in the TenantContext

Parameters:
tenantId - to add in TenantContext

setTenantContext

void setTenantContext(Object ctx)
Set TenantContext in the Thread

Parameters:
ctx -

setInstanceNameInContext

void setInstanceNameInContext(String instanceName)
Set application instance name in TenantContext

Parameters:
instanceName -

getInstanceNameFromContext

String getInstanceNameFromContext()
Get application instance name from TenantContext

Returns:

setTenantIdAndInstanceNameInContext

void setTenantIdAndInstanceNameInContext(String tenantId,
                                         String instanceName)
Set TenantId and Instance Name in TenantContext

Parameters:
tenantId -
instanceName -


Copyright © 2012 OW2 Consortium. All Rights Reserved.