public class JndiObjectTargetSource extends JndiObjectLocator implements org.springframework.aop.TargetSource
TargetSource that provides
configurable JNDI lookups for getTarget() calls.
Can be used as alternative to JndiObjectFactoryBean, to allow for
relocating a JNDI object lazily or for each operation (see "lookupOnStartup"
and "cache" properties). This is particularly useful during development, as it
allows for hot restarting of the JNDI server (for example, a remote JMS server).
Example:
<bean id="queueConnectionFactoryTarget" class="org.springframework.jndi.JndiObjectTargetSource"> <property name="jndiName" value="JmsQueueConnectionFactory"/> <property name="lookupOnStartup" value="false"/> </bean> <bean id="queueConnectionFactory" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces" value="javax.jms.QueueConnectionFactory"/> <property name="targetSource" ref="queueConnectionFactoryTarget"/> </bean>A
createQueueConnection call on the "queueConnectionFactory" proxy will
cause a lazy JNDI lookup for "JmsQueueConnectionFactory" and a subsequent delegating
call to the retrieved QueueConnectionFactory's createQueueConnection.
Alternatively, use a JndiObjectFactoryBean with a "proxyInterface".
"lookupOnStartup" and "cache" can then be specified on the JndiObjectFactoryBean,
creating a JndiObjectTargetSource underneath (instead of defining separate
ProxyFactoryBean and JndiObjectTargetSource beans).
setLookupOnStartup(boolean),
setCache(boolean),
AdvisedSupport.setTargetSource(org.springframework.aop.TargetSource),
JndiObjectFactoryBean.setProxyInterface(java.lang.Class<?>)CONTAINER_PREFIXlogger| 构造器和说明 |
|---|
JndiObjectTargetSource() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
afterPropertiesSet() |
Object |
getTarget() |
Class<?> |
getTargetClass() |
boolean |
isStatic() |
void |
releaseTarget(Object target) |
void |
setCache(boolean cache)
Set whether to cache the JNDI object once it has been located.
|
void |
setLookupOnStartup(boolean lookupOnStartup)
Set whether to look up the JNDI object on startup.
|
getExpectedType, getJndiName, lookup, setExpectedType, setJndiNameconvertJndiName, isResourceRef, lookup, lookup, setResourceRefgetJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplatepublic void setLookupOnStartup(boolean lookupOnStartup)
Can be turned off to allow for late availability of the JNDI object. In this case, the JNDI object will be fetched on first access.
setCache(boolean)public void setCache(boolean cache)
Can be turned off to allow for hot redeployment of JNDI objects. In this case, the JNDI object will be fetched for each invocation.
public void afterPropertiesSet()
throws NamingException
afterPropertiesSet 在接口中 org.springframework.beans.factory.InitializingBeanafterPropertiesSet 在类中 JndiObjectLocatorNamingException@Nullable public Class<?> getTargetClass()
getTargetClass 在接口中 org.springframework.aop.TargetClassAwaregetTargetClass 在接口中 org.springframework.aop.TargetSourcepublic boolean isStatic()
isStatic 在接口中 org.springframework.aop.TargetSource@Nullable public Object getTarget()
getTarget 在接口中 org.springframework.aop.TargetSourcepublic void releaseTarget(Object target)
releaseTarget 在接口中 org.springframework.aop.TargetSource