public class SpringRegistry extends AbstractRegistry implements LifecycleRegistry, Injector
Modifier and Type | Field and Description |
---|---|
protected org.springframework.context.ApplicationContext |
applicationContext |
static String |
REGISTRY_ID |
static String |
SPRING_APPLICATION_CONTEXT
Key used to lookup Spring Application Context from SpringRegistry via Mule's
Registry interface.
|
protected AtomicBoolean |
springContextInitialised |
lifecycleManager, logger, muleContext
PHASE_NAME
PHASE_NAME
Constructor and Description |
---|
SpringRegistry(org.springframework.context.ApplicationContext applicationContext,
MuleContext muleContext) |
SpringRegistry(org.springframework.context.ConfigurableApplicationContext applicationContext,
org.springframework.context.ApplicationContext parentContext,
MuleContext muleContext) |
SpringRegistry(String id,
org.springframework.context.ApplicationContext applicationContext,
MuleContext muleContext) |
SpringRegistry(String id,
org.springframework.context.ConfigurableApplicationContext applicationContext,
org.springframework.context.ApplicationContext parentContext,
MuleContext muleContext) |
Modifier and Type | Method and Description |
---|---|
Object |
applyLifecycle(Object object)
Will fire any lifecycle methods according to the current lifecycle without actually
registering the object in the registry.
|
Object |
applyLifecycle(Object object,
String phase)
Will fire the given lifecycle
phase without actually
registering the object in the registry. |
protected RegistryLifecycleManager |
createLifecycleManager() |
void |
doDispose() |
protected void |
doInitialise() |
protected Object |
doUnregisterObject(String key)
Template method for the logic to actually unregister the key without applying any lifecycle to it.
|
protected Map<String,Object> |
getDependencies(String key) |
<T> T |
inject(T object)
Injects dependencies into the given object
|
protected <T> Map<String,T> |
internalLookupByType(Class<T> type,
boolean nonSingletons,
boolean eagerInit) |
protected <T> Map<String,T> |
internalLookupByTypeWithoutAncestors(Class<T> type,
boolean nonSingletons,
boolean eagerInit) |
boolean |
isReadOnly() |
boolean |
isRemote() |
<T> Map<String,T> |
lookupByType(Class<T> type) |
protected <T> Map<String,T> |
lookupEntriesForLifecycle(Class<T> type) |
<T> Collection<T> |
lookupLocalObjects(Class<T> type)
Look up all objects of a given type within the local registry.
|
<T> T |
lookupObject(String key)
Look up a single object by name.
|
Object |
lookupObject(String key,
boolean applyLifecycle)
If looks for the bean registered under
key . |
<T> Collection<T> |
lookupObjects(Class<T> type)
Look up all objects of a given type.
|
<T> Collection<T> |
lookupObjectsForLifecycle(Class<T> type)
For lifecycle we only want spring to return singleton objects from it's application context
|
void |
registerObject(String key,
Object value)
Registers an object in the registry with a key.
|
void |
registerObject(String key,
Object value,
Object metadata)
Registers an object in the registry with a key.
|
void |
registerObjects(Map<String,Object> objects)
Registers a Map of objects into the registry
|
dispose, fireLifecycle, get, getLifecycleManager, getRegistryId, initialise, isInitialised, lookupObject, unregisterObject, unregisterObject
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
fireLifecycle, get, getRegistryId, lookupObject, unregisterObject, unregisterObject
initialise
dispose
public static final String REGISTRY_ID
public static final String SPRING_APPLICATION_CONTEXT
protected org.springframework.context.ApplicationContext applicationContext
protected AtomicBoolean springContextInitialised
public SpringRegistry(org.springframework.context.ApplicationContext applicationContext, MuleContext muleContext)
public SpringRegistry(String id, org.springframework.context.ApplicationContext applicationContext, MuleContext muleContext)
public SpringRegistry(org.springframework.context.ConfigurableApplicationContext applicationContext, org.springframework.context.ApplicationContext parentContext, MuleContext muleContext)
public SpringRegistry(String id, org.springframework.context.ConfigurableApplicationContext applicationContext, org.springframework.context.ApplicationContext parentContext, MuleContext muleContext)
protected void doInitialise() throws InitialisationException
doInitialise
in class AbstractRegistry
InitialisationException
public void doDispose()
doDispose
in class AbstractRegistry
protected RegistryLifecycleManager createLifecycleManager()
createLifecycleManager
in class AbstractRegistry
public <T> T lookupObject(String key)
lookupObject
in interface Registry
lookupObject(String, boolean)
with true
as the second argumentpublic Object lookupObject(String key, boolean applyLifecycle)
key
.
If the returned bean is a prototype and applyLifecycle
is true
, then the completed lifecycle phases
are applied to the returning beanlookupObject
in interface LifecycleRegistry
key
- the key of the object you're looking forapplyLifecycle
- if lifecycle should be applied to the returned object.
Passing true
doesn't guarantee that the lifecycle is appliednull
if not foundpublic <T> Collection<T> lookupObjects(Class<T> type)
Registry
lookupObjects
in interface Registry
public <T> Collection<T> lookupLocalObjects(Class<T> type)
Registry
lookupLocalObjects
in interface Registry
public <T> Collection<T> lookupObjectsForLifecycle(Class<T> type)
lookupObjectsForLifecycle
in interface Registry
lookupObjectsForLifecycle
in class AbstractRegistry
public <T> Map<String,T> lookupByType(Class<T> type)
lookupByType
in interface Registry
public void registerObject(String key, Object value) throws RegistrationException
Registry
registerObject
in interface Registry
key
- the key to store the value against. This is a non-null valuevalue
- the object to store in the registry. This is a non-null valueRegistrationException
- if an object with the same key already existspublic void registerObject(String key, Object value, Object metadata) throws RegistrationException
Registry
registerObject
in interface Registry
key
- the key to store the value against. This is a non-null valuevalue
- the object to store in the registry. This is a non-null valuemetadata
- an implementation specific argument that can be passed into the methodRegistrationException
- if an object with the same key already existspublic void registerObjects(Map<String,Object> objects) throws RegistrationException
Registry
registerObjects
in interface Registry
objects
- a map of key value pairs, each will individually be registered in the registryRegistrationException
- if an object with the same key already existsprotected Object doUnregisterObject(String key) throws RegistrationException
AbstractRegistry
AbstractRegistry.unregisterObject(String)
doUnregisterObject
in class AbstractRegistry
key
- the key of the object to be unregistered objectkey
RegistrationException
public Object applyLifecycle(Object object) throws MuleException
applyLifecycle
in interface LifecycleRegistry
object
- the object to processMuleException
- if the registry fails to perform the lifecycle change for the object.public Object applyLifecycle(Object object, String phase) throws MuleException
LifecycleRegistry
phase
without actually
registering the object in the registry. This is useful for prototype objects that are created per request and would
clutter the registry with single use objects.applyLifecycle
in interface LifecycleRegistry
object
- the object to processphase
- the specific lifecycle phase you want to fireMuleException
- if the registry fails to perform the lifecycle change for the object.public <T> T inject(T object)
Injector
protected <T> Map<String,T> internalLookupByType(Class<T> type, boolean nonSingletons, boolean eagerInit)
protected <T> Map<String,T> internalLookupByTypeWithoutAncestors(Class<T> type, boolean nonSingletons, boolean eagerInit)
public boolean isReadOnly()
isReadOnly
in interface Registry
Copyright © 2003–2016 MuleSoft, Inc.. All rights reserved.