com.ejie.r01f.ejb
Class ServiceLocator

java.lang.Object
  extended bycom.ejie.r01f.ejb.ServiceLocator

public class ServiceLocator
extends java.lang.Object

Se encarga de proporcionar los interfaces home de ejbs que representan funciones de integración a partir de su nombre JNDI. Ejemplo de utilizacion


Method Summary
 boolean checkLocalHomeInterface(java.lang.String jndiName)
          Comprueba la existencia el interfaz home local de un ejb
static ServiceLocator getInstance()
          Proporcina acceso a la instancia única de la clase EJBHomeFactory
static ServiceLocator getInstance(java.util.Properties props)
          Proporcina acceso a la instancia única de la clase EJBHomeFactory
 javax.ejb.EJBLocalHome getLocalHome(java.lang.String jndiName)
          Obtiene el Home local del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBLocalHome getLocalHome(java.lang.String jndiName, java.lang.Class homeClassDef)
          Obtiene el Home local del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBLocalHome getLocalHome(java.lang.String jndiName, java.lang.String homeClassName)
          Obtiene el Home local del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName)
          Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName, java.lang.Class homeClassDef)
          Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName, java.lang.String theUrlProvider)
          Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName, java.lang.String theUrlProvider, java.lang.Class homeClassDef)
          Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName, java.lang.String theUrlProvider, java.lang.String homeClassName)
          Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);
 javax.ejb.EJBObject getService(java.lang.String id)
          Obtiene una referencia al interfaz remoto de un ejb a partir de su handle en formato String
 java.lang.Object obtainHome(boolean isLocal, java.lang.String jndiName, java.lang.Class homeClassDef)
          Crea una instancia de un EJB devolviendo una referencia al interfaz local o remoto
 java.lang.Object obtainHome(boolean isLocal, java.lang.String jndiName, java.lang.Class homeClassDef, java.util.Properties props)
          Crea una instancia de un EJB devolviendo una referencia al interfaz local o remoto
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static ServiceLocator getInstance()
Proporcina acceso a la instancia única de la clase EJBHomeFactory

Returns:
La instancia

getInstance

public static ServiceLocator getInstance(java.util.Properties props)
Proporcina acceso a la instancia única de la clase EJBHomeFactory

Parameters:
props - las propiedades para inicializar el contexto jndi
Returns:
La instancia

getLocalHome

public javax.ejb.EJBLocalHome getLocalHome(java.lang.String jndiName)
Obtiene el Home local del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
Returns:
El objeto tipado

getLocalHome

public javax.ejb.EJBLocalHome getLocalHome(java.lang.String jndiName,
                                           java.lang.Class homeClassDef)
Obtiene el Home local del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
homeClassDef - Definición de la Clase (Class) para devolver el objeto tipado
Returns:
El objeto tipado

getLocalHome

public javax.ejb.EJBLocalHome getLocalHome(java.lang.String jndiName,
                                           java.lang.String homeClassName)
                                    throws ServiceLocatorException
Obtiene el Home local del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
homeClassName - Nombre de la Clase (Class) para devolver el objeto tipado
Returns:
El objeto tipado
Throws:
ServiceLocatorException - Hay algún problema al obtener el home

checkLocalHomeInterface

public boolean checkLocalHomeInterface(java.lang.String jndiName)
Comprueba la existencia el interfaz home local de un ejb

Parameters:
jndiName - El nombre jndi del ejb
Returns:
true si existe el intefaz local en el arbol jndi

getRemoteHome

public javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName,
                                       java.lang.String theUrlProvider)
Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
theUrlProvider - URL del provider jndi
Returns:
El objeto tipado

getRemoteHome

public javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName,
                                       java.lang.String theUrlProvider,
                                       java.lang.Class homeClassDef)
Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
theUrlProvider - URL del provider JNDI
homeClassDef - Definición de la Clase (Class) para devolver el objeto tipado
Returns:
El objeto tipado

getRemoteHome

public javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName)
Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
Returns:
El objeto tipado

getRemoteHome

public javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName,
                                       java.lang.Class homeClassDef)
Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
homeClassDef - Definición de la Clase (Class) para devolver el objeto tipado
Returns:
El objeto tipado

getRemoteHome

public javax.ejb.EJBHome getRemoteHome(java.lang.String jndiName,
                                       java.lang.String theUrlProvider,
                                       java.lang.String homeClassName)
                                throws ServiceLocatorException
Obtiene el Home remoto del ejb de forma transparente para el desarrollador de acuerdo al siguiente algoritmo: de busqueda: 1.- Busca el home en la cache 2.- Busca el home El acceso a este método únicamente puede hacerse a partir de la instancia del singleton: FactoriaEJBHome.getInstance().getHome(jndiName);

Parameters:
jndiName - Nombre jndi del ejb
theUrlProvider - La url del provider JNDI
homeClassName - Nombre de la Clase (Class) para devolver el objeto tipado
Returns:
El objeto tipado
Throws:
ServiceLocatorException - Hay algún problema al obtener el home

getService

public javax.ejb.EJBObject getService(java.lang.String id)
                               throws ServiceLocatorException
Obtiene una referencia al interfaz remoto de un ejb a partir de su handle en formato String

Parameters:
id - El identificador del objeto (nombre jndi)
Returns:
La referencia al interfaz remoto
Throws:
ServiceLocatorException - Hay algún problema al obtener el interfaz remoto

obtainHome

public java.lang.Object obtainHome(boolean isLocal,
                                   java.lang.String jndiName,
                                   java.lang.Class homeClassDef)
                            throws ServiceLocatorException
Crea una instancia de un EJB devolviendo una referencia al interfaz local o remoto

Parameters:
isLocal - Indica si hay que crear un ejb local o remoto
jndiName - Nombre JNDI del EJB
homeClassDef - Definicion (Class) de la clase con el interfaz home
Returns:
Una referencia al interfaz home local o remoto buscado
Throws:
ServiceLocatorException

obtainHome

public java.lang.Object obtainHome(boolean isLocal,
                                   java.lang.String jndiName,
                                   java.lang.Class homeClassDef,
                                   java.util.Properties props)
                            throws ServiceLocatorException
Crea una instancia de un EJB devolviendo una referencia al interfaz local o remoto

Parameters:
isLocal - Indica si hay que crear un ejb local o remoto
jndiName - Nombre JNDI del EJB
homeClassDef - Definicion (Class) de la clase con el interfaz home
props - las propiedades para obtener el contexto jndi
Returns:
Una referencia al interfaz home local o remoto buscado
Throws:
ServiceLocatorException