|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.jca.cci.connection.DelegatingConnectionFactory org.springframework.jca.cci.connection.ConnectionSpecConnectionFactoryAdapter
public class ConnectionSpecConnectionFactoryAdapter
An adapter for a target ConnectionFacory, applying the given ConnectionSpec
to every standard getConnection()
call, that is, implicitly
invoking getConnection(ConnectionSpec)
on the target.
All other methods simply delegate to the corresponding methods of the
target ConnectionFactory.
Can be used to proxy a target JNDI ConnectionFactory that does not have a
ConnectionSpec configured. Client code can work with the ConnectionFactory
without passing in a ConnectionSpec on every getConnection()
call.
In the following example, client code can simply transparently work with the preconfigured "myConnectionFactory", implicitly accessing "myTargetConnectionFactory" with the specified user credentials.
<bean id="myTargetConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"><value>java:comp/env/cci/mycf</value></property> </bean> <bean id="myConnectionFactory" class="org.springframework.jca.cci.connection.ConnectionSpecConnectionFactoryAdapter"> <property name="targetConnectionFactory"><ref bean="myTargetConnectionFactory"/></property> <property name="connectionSpec"> <bean class="your.resource.adapter.ConnectionSpecImpl"> <property name="username"><value>myusername</value></property> <property name="password"><value>mypassword</value></property> </bean> </property> </bean>
If the "connectionSpec" is empty, this proxy will simply delegate to the
standard getConnection()
method of the target ConnectionFactory.
This can be used to keep a UserCredentialsConnectionFactoryAdapter bean definition
just for the option of implicitly passing in a ConnectionSpec if a
particular target ConnectionFactory requires it.
getConnection()
,
Serialized FormConstructor Summary | |
---|---|
ConnectionSpecConnectionFactoryAdapter()
|
Method Summary | |
---|---|
protected Connection |
doGetConnection(ConnectionSpec spec)
This implementation delegates to the getConnection(ConnectionSpec)
method of the target ConnectionFactory, passing in the specified user credentials. |
Connection |
getConnection()
Determine whether there is currently a thread-bound ConnectionSpec, using it if available, falling back to the statically specified "connectionSpec" property else. |
void |
removeConnectionSpecFromCurrentThread()
Remove any ConnectionSpec for this proxy from the current thread. |
void |
setConnectionSpec(ConnectionSpec connectionSpec)
Set the ConnectionSpec that this adapter should use for retrieving Connections. |
void |
setConnectionSpecForCurrentThread(ConnectionSpec spec)
Set a ConnectionSpec for this proxy and the current thread. |
Methods inherited from class org.springframework.jca.cci.connection.DelegatingConnectionFactory |
---|
afterPropertiesSet, getConnection, getMetaData, getRecordFactory, getReference, getTargetConnectionFactory, setReference, setTargetConnectionFactory |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ConnectionSpecConnectionFactoryAdapter()
Method Detail |
---|
public void setConnectionSpec(ConnectionSpec connectionSpec)
public void setConnectionSpecForCurrentThread(ConnectionSpec spec)
getConnection()
calls on this ConnectionFactory proxy.
This will override any statically specified "connectionSpec" property.
spec
- the ConnectionSpec to applyremoveConnectionSpecFromCurrentThread()
public void removeConnectionSpecFromCurrentThread()
public final Connection getConnection() throws ResourceException
getConnection
in interface ConnectionFactory
getConnection
in class DelegatingConnectionFactory
ResourceException
doGetConnection(javax.resource.cci.ConnectionSpec)
protected Connection doGetConnection(ConnectionSpec spec) throws ResourceException
getConnection(ConnectionSpec)
method of the target ConnectionFactory, passing in the specified user credentials.
If the specified username is empty, it will simply delegate to the standard
getConnection()
method of the target ConnectionFactory.
spec
- the ConnectionSpec to apply
ResourceException
ConnectionFactory.getConnection(javax.resource.cci.ConnectionSpec)
,
ConnectionFactory.getConnection()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |