org.apache.sling.jcr.jackrabbit.server.impl
Class JndiRegistrationSupport

java.lang.Object
  extended by org.apache.sling.jcr.jackrabbit.server.impl.AbstractRegistrationSupport
      extended by org.apache.sling.jcr.jackrabbit.server.impl.JndiRegistrationSupport

public class JndiRegistrationSupport
extends AbstractRegistrationSupport

The JndiRegistrationSupport extends the AbstractRegistrationSupport class to register repositories with a JNDI context whose provider URL and initial factory class name may be configured.

Note: Currently, only these two properties are declared to be configurable, in the future a mechanism should be devised to support declaration of more properties.


Field Summary
 
Fields inherited from class org.apache.sling.jcr.jackrabbit.server.impl.AbstractRegistrationSupport
registryLock
 
Constructor Summary
JndiRegistrationSupport()
           
 
Method Summary
protected  Object bindRepository(String name, javax.jcr.Repository repository)
          Called to actually register a repository with the registry.
protected  boolean doActivate()
          Performs additional activation tasks.
protected  void doDeactivate()
          Performs additional deactivation tasks.
protected  void unbindRepository(String name, Object data)
          Called to actually unregister a repository with the registry.
 
Methods inherited from class org.apache.sling.jcr.jackrabbit.server.impl.AbstractRegistrationSupport
activate, bindLog, bindRepository, deactivate, getComponentContext, getName, log, unbindLog, unbindRepository
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JndiRegistrationSupport

public JndiRegistrationSupport()
Method Detail

doActivate

protected boolean doActivate()
Description copied from class: AbstractRegistrationSupport
Performs additional activation tasks. This method is called by the AbstractRegistrationSupport.activate(ComponentContext) method and is intended for internal setup, such as acquiring the registry.

Specified by:
doActivate in class AbstractRegistrationSupport
Returns:
Whether the activation succeeded or not. If true is returned, activation succeeded and any repositories which have been bound before the component was activated are now actually registered. If false is returned, activation failed and this component is disabled and receives no further repository bind and unbound events (apart for unbind events for repositories which have already been bound).

doDeactivate

protected void doDeactivate()
Description copied from class: AbstractRegistrationSupport
Performs additional deactivation tasks. This method is called by the AbstractRegistrationSupport.deactivate(ComponentContext) method and is intended for internal cleanup of setup done by the AbstractRegistrationSupport.doActivate() method.

This method is always called, regardless of whether AbstractRegistrationSupport.doActivate() succeeded or not.

Specified by:
doDeactivate in class AbstractRegistrationSupport

bindRepository

protected Object bindRepository(String name,
                                javax.jcr.Repository repository)
Description copied from class: AbstractRegistrationSupport
Called to actually register a repository with the registry. This method is called by AbstractRegistrationSupport.activate(ComponentContext) for any repositories bound before the component was activated and by AbstractRegistrationSupport.bindRepository(ServiceReference) for any repositories bound after the component was activated.

If actual registration fails, this method is expected to return null to indicate this fact. In this case, the AbstractRegistrationSupport.unbindRepository(String, Object) will NOT be called for the named repository.

This method may safely assume that it is only called on or after activation of this component on or before the component deactivation.

Specified by:
bindRepository in class AbstractRegistrationSupport
Parameters:
name - The name under which the repository is to be registered.
repository - The javax.jcr.Repository to register.
Returns:
Returns an object which is later given as the data parameter to the AbstractRegistrationSupport.unbindRepository(String, Object) method to unregister the repository of the given name. This may be null if actual registration failed.

unbindRepository

protected void unbindRepository(String name,
                                Object data)
Description copied from class: AbstractRegistrationSupport
Called to actually unregister a repository with the registry. This method is called by AbstractRegistrationSupport.unbindRepository(ServiceReference) for any repositories unbound before the component is deactivated and by AbstractRegistrationSupport.deactivate(ComponentContext) for any repositories not unbound before the component is deactivated.

If the AbstractRegistrationSupport.bindRepository(String, Repository) returned null for when the named repository was registered, this method is not called.

This method may safely assume that it is only called on or after activation of this component on or before the component deactivation.

Specified by:
unbindRepository in class AbstractRegistrationSupport
Parameters:
name - The name under which the repository is to be registered.
data - The data object returned by the AbstractRegistrationSupport.bindRepositoryInternal(String, ServiceReference) method.


Copyright © 2007-2013 The Apache Software Foundation. All Rights Reserved.