org.springframework.context.access
Class ContextJndiBeanFactoryLocator
java.lang.Object
org.springframework.jndi.JndiAccessor
org.springframework.jndi.JndiLocatorSupport
org.springframework.context.access.ContextJndiBeanFactoryLocator
- All Implemented Interfaces:
- BeanFactoryLocator
public class ContextJndiBeanFactoryLocator
- extends JndiLocatorSupport
- implements BeanFactoryLocator
BeanFactoryLocator implementation that creates the BeanFactory from one or
more classpath locations specified in a JNDI environment variable.
This default implementation creates a
ClassPathXmlApplicationContext
.
Subclasses may override createBeanFactory(java.lang.String[])
for custom instantiation.
- Author:
- Colin Sampaleanu, Juergen Hoeller
- See Also:
createBeanFactory(java.lang.String[])
Field Summary |
static String |
BEAN_FACTORY_PATH_DELIMITERS
Any number of these characters are considered delimiters between
multiple bean factory config paths in a single String value. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BEAN_FACTORY_PATH_DELIMITERS
public static final String BEAN_FACTORY_PATH_DELIMITERS
- Any number of these characters are considered delimiters between
multiple bean factory config paths in a single String value.
- See Also:
- Constant Field Values
ContextJndiBeanFactoryLocator
public ContextJndiBeanFactoryLocator()
useBeanFactory
public BeanFactoryReference useBeanFactory(String factoryKey)
throws BeansException
- Load/use a bean factory, as specified by a factory key which is a JNDI
address, of the form
java:comp/env/ejb/BeanFactoryPath
. The
contents of this JNDI location must be a string containing one or more
classpath resource names (separated by any of the delimiters ',; \t\n
'
if there is more than one. The resulting BeanFactory (or ApplicationContext)
will be created from the combined resources.
- Specified by:
useBeanFactory
in interface BeanFactoryLocator
- Parameters:
factoryKey
- a resource name specifying which BeanFactory
the
BeanFactoryLocator
must return for usage. The actual meaning of the
resource name is specific to the implementation of BeanFactoryLocator
.
- Returns:
- the
BeanFactory
instance, wrapped as a BeanFactoryReference
object
- Throws:
BeansException
- if there is an error loading or accessing the BeanFactory
- See Also:
createBeanFactory(java.lang.String[])
createBeanFactory
protected BeanFactoryReference createBeanFactory(String[] resources)
throws BeansException
- Create the BeanFactory instance, given an array of class path resource Strings
which should be combined. This is split out as a separate method so that
subclasses can override the actual BeanFactory implementation class.
Delegates to createApplicationContext
by default,
wrapping the result in a ContextBeanFactoryReference.
- Parameters:
resources
- an array of Strings representing classpath resource names
- Returns:
- the created BeanFactory, wrapped in a BeanFactoryReference
(for example, a ContextBeanFactoryReference wrapping an ApplicationContext)
- Throws:
BeansException
- if factory creation failed- See Also:
createApplicationContext(java.lang.String[])
,
ContextBeanFactoryReference
createApplicationContext
protected ApplicationContext createApplicationContext(String[] resources)
throws BeansException
- Create the ApplicationContext instance, given an array of class path resource
Strings which should be combined
- Parameters:
resources
- an array of Strings representing classpath resource names
- Returns:
- the created ApplicationContext
- Throws:
BeansException
- if context creation failed