package org.yajul.jms; import org.yajul.jndi.CachedJndiObjectProvider; import org.yajul.jndi.JndiLookup; import org.yajul.jndi.JndiObjectProvider; import org.yajul.util.ObjectProvider; import javax.jms.ConnectionFactory; import javax.jms.QueueConnectionFactory; import javax.jms.TopicConnectionFactory; import javax.naming.InitialContext; /** * Cached JNDI lookup of the JMS ConnectionFactory. Casts into either Queue or Topic connection factory. * <br> * User: josh * Date: 6/28/11 * Time: 12:20 PM */ public class ConnectionFactoryProvider extends CachedJndiObjectProvider<ConnectionFactory> { public ConnectionFactoryProvider(ObjectProvider<ConnectionFactory> delegate) { super(delegate); } public ConnectionFactoryProvider(InitialContext ic, String factoryJndiName) { this(new JndiObjectProvider<ConnectionFactory>(ic,ConnectionFactory.class,factoryJndiName)); } public TopicConnectionFactory getTopicConnectionFactory() { return (TopicConnectionFactory)getObject(); } public QueueConnectionFactory getQueueConnectionFactory() { return (QueueConnectionFactory)getObject(); } }