java.lang.Object | |||||
↳ | org.springframework.jndi.JndiAccessor | ||||
↳ | org.springframework.jndi.JndiLocatorSupport | ||||
↳ | org.springframework.jndi.JndiObjectLocator | ||||
↳ | org.springframework.ejb.access.AbstractSlsbInvokerInterceptor | ||||
↳ | org.springframework.ejb.access.LocalSlsbInvokerInterceptor |
Known Direct Subclasses |
Invoker for a local Stateless Session Bean. Designed for EJB 2.x, but works for EJB 3 Session Beans as well.
Caches the home object, since a local EJB home can never go stale.
See JndiObjectLocator
for info on
how to specify the JNDI location of the target EJB.
In a bean container, this class is normally best used as a singleton. However, if that bean container pre-instantiates singletons (as do the XML ApplicationContext variants) you may have a problem if the bean container is loaded before the EJB container loads the target EJB. That is because by default the JNDI lookup will be performed in the init method of this class and cached, but the EJB will not have been bound at the target location yet. The best solution is to set the lookupHomeOnStartup property to false, in which case the home will be fetched on first access to the EJB. (This flag is only true by default for backwards compatibility reasons).
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.jndi.JndiLocatorSupport
|
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.jndi.JndiAccessor
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
This implementation "creates" a new EJB instance for each invocation.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Check for EJB3-style home object that serves as EJB component directly.
| |||||||||||
Return an EJB instance to delegate the call to.
| |||||||||||
Return a new instance of the stateless session bean.
| |||||||||||
Release the given EJB instance.
| |||||||||||
Remove the given EJB instance.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.ejb.access.AbstractSlsbInvokerInterceptor
| |||||||||||
From class
org.springframework.jndi.JndiObjectLocator
| |||||||||||
From class
org.springframework.jndi.JndiLocatorSupport
| |||||||||||
From class
org.springframework.jndi.JndiAccessor
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.beans.factory.InitializingBean
|
This implementation "creates" a new EJB instance for each invocation. Can be overridden for custom invocation strategies.
Alternatively, override getSessionBeanInstance()
and
releaseSessionBeanInstance(EJBLocalObject)
to change EJB instance creation,
for example to hold a single shared EJB instance.
invocation | the AOP method invocation |
---|
Throwable |
---|
Check for EJB3-style home object that serves as EJB component directly.
home | the EJB home object |
---|
EjbAccessException |
---|
Return an EJB instance to delegate the call to. Default implementation delegates to newSessionBeanInstance.
NamingException | if thrown by JNDI |
---|---|
InvocationTargetException | if thrown by the create method |
Return a new instance of the stateless session bean. Can be overridden to change the algorithm.
NamingException | if thrown by JNDI |
---|---|
InvocationTargetException | if thrown by the create method |
Release the given EJB instance. Default implementation delegates to removeSessionBeanInstance.
ejb | the EJB instance to release |
---|