Save This Page
Home » spring-framework-2.5.5-with-dependencies » org.springframework » jms » connection » [javadoc | source]
org.springframework.jms.connection
public class: UserCredentialsConnectionFactoryAdapter [javadoc | source]
java.lang.Object
   org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter

All Implemented Interfaces:
    javax.jms.TopicConnectionFactory, javax.jms.ConnectionFactory, InitializingBean, javax.jms.QueueConnectionFactory

An adapter for a target JMS javax.jms.ConnectionFactory , applying the given user credentials to every standard createConnection() call, that is, implicitly invoking createConnection(username, password) 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 user credentials configured. Client code can work with the ConnectionFactory without passing in username and password on every createConnection() 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/jms/mycf"/>
</bean>

<bean id="myConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
<property name="targetConnectionFactory" ref="myTargetConnectionFactory"/>
<property name="username" value="myusername"/>
<property name="password" value="mypassword"/>
</bean>

If the "username" is empty, this proxy will simply delegate to the standard createConnection() method of the target ConnectionFactory. This can be used to keep a UserCredentialsConnectionFactoryAdapter bean definition just for the option of implicitly passing in user credentials if the particular target ConnectionFactory requires it.

Method from org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter Summary:
afterPropertiesSet,   createConnection,   createConnection,   createQueueConnection,   createQueueConnection,   createTopicConnection,   createTopicConnection,   doCreateConnection,   doCreateQueueConnection,   doCreateTopicConnection,   removeCredentialsFromCurrentThread,   setCredentialsForCurrentThread,   setPassword,   setTargetConnectionFactory,   setUsername
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter Detail:
 public  void afterPropertiesSet() 
 public final Connection createConnection() throws JMSException 
    Determine whether there are currently thread-bound credentials, using them if available, falling back to the statically specified username and password (i.e. values of the bean properties) else.
 public Connection createConnection(String username,
    String password) throws JMSException 
    Delegate the call straight to the target ConnectionFactory.
 public final QueueConnection createQueueConnection() throws JMSException 
    Determine whether there are currently thread-bound credentials, using them if available, falling back to the statically specified username and password (i.e. values of the bean properties) else.
 public QueueConnection createQueueConnection(String username,
    String password) throws JMSException 
    Delegate the call straight to the target QueueConnectionFactory.
 public final TopicConnection createTopicConnection() throws JMSException 
    Determine whether there are currently thread-bound credentials, using them if available, falling back to the statically specified username and password (i.e. values of the bean properties) else.
 public TopicConnection createTopicConnection(String username,
    String password) throws JMSException 
    Delegate the call straight to the target TopicConnectionFactory.
 protected Connection doCreateConnection(String username,
    String password) throws JMSException 
    This implementation delegates to the createConnection(username, password) method of the target ConnectionFactory, passing in the specified user credentials. If the specified username is empty, it will simply delegate to the standard createConnection() method of the target ConnectionFactory.
 protected QueueConnection doCreateQueueConnection(String username,
    String password) throws JMSException 
    This implementation delegates to the createQueueConnection(username, password) method of the target QueueConnectionFactory, passing in the specified user credentials. If the specified username is empty, it will simply delegate to the standard createQueueConnection() method of the target ConnectionFactory.
 protected TopicConnection doCreateTopicConnection(String username,
    String password) throws JMSException 
    This implementation delegates to the createTopicConnection(username, password) method of the target TopicConnectionFactory, passing in the specified user credentials. If the specified username is empty, it will simply delegate to the standard createTopicConnection() method of the target ConnectionFactory.
 public  void removeCredentialsFromCurrentThread() 
    Remove any user credentials for this proxy from the current thread. Statically specified user credentials apply again afterwards.
 public  void setCredentialsForCurrentThread(String username,
    String password) 
    Set user credententials for this proxy and the current thread. The given username and password will be applied to all subsequent createConnection() calls on this ConnectionFactory proxy.

    This will override any statically specified user credentials, that is, values of the "username" and "password" bean properties.

 public  void setPassword(String password) 
    Set the password that this adapter should use for retrieving Connections. Default is no specific password.
 public  void setTargetConnectionFactory(ConnectionFactory targetConnectionFactory) 
    Set the target ConnectionFactory that this ConnectionFactory should delegate to.
 public  void setUsername(String username) 
    Set the username that this adapter should use for retrieving Connections. Default is no specific user.