connectionfactorywrapper.java

来自「提供ESB 应用mule源代码 提供ESB 应用mule源代码」· Java 代码 · 共 131 行

JAVA
131
字号
/* * $Id: ConnectionFactoryWrapper.java 10577 2008-01-28 16:26:33Z akuzmin $ * -------------------------------------------------------------------------------------- * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com * * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */package org.mule.transport.jms.xa;import java.lang.reflect.Proxy;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.JMSException;import javax.jms.QueueConnection;import javax.jms.QueueConnectionFactory;import javax.jms.TopicConnection;import javax.jms.TopicConnectionFactory;import javax.jms.XAConnection;import javax.jms.XAConnectionFactory;import javax.jms.XAQueueConnection;import javax.jms.XAQueueConnectionFactory;import javax.jms.XATopicConnection;import javax.jms.XATopicConnectionFactory;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;public class ConnectionFactoryWrapper        implements ConnectionFactory, QueueConnectionFactory, TopicConnectionFactory{    /**     * logger used by this class     */    protected static final transient Log logger = LogFactory.getLog(ConnectionFactoryWrapper.class);    protected final Object factory;    public ConnectionFactoryWrapper(Object factory)    {        this.factory = factory;    }    /*     * (non-Javadoc)     *      * @see javax.jms.ConnectionFactory#createConnection()     */    public Connection createConnection() throws JMSException    {        XAConnection xac = ((XAConnectionFactory) factory).createXAConnection();        Connection proxy = (Connection) Proxy.newProxyInstance(Connection.class.getClassLoader(),                                                               new Class[]{Connection.class}, new ConnectionInvocationHandler(xac));        return proxy;    }    /*     * (non-Javadoc)     *      * @see javax.jms.ConnectionFactory#createConnection(java.lang.String,     *      java.lang.String)     */    public Connection createConnection(String username, String password) throws JMSException    {        XAConnection xac = ((XAConnectionFactory) factory).createXAConnection(username, password);        Connection proxy = (Connection) Proxy.newProxyInstance(Connection.class.getClassLoader(),                                                               new Class[]{Connection.class}, new ConnectionInvocationHandler(xac));        return proxy;    }    /*     * (non-Javadoc)     *      * @see javax.jms.QueueConnectionFactory#createQueueConnection()     */    public QueueConnection createQueueConnection() throws JMSException    {        XAQueueConnection xaqc = ((XAQueueConnectionFactory) factory).createXAQueueConnection();        QueueConnection proxy = (QueueConnection) Proxy.newProxyInstance(Connection.class.getClassLoader(),                                                                         new Class[]{QueueConnection.class}, new ConnectionInvocationHandler(xaqc));        return proxy;    }    /*     * (non-Javadoc)     *      * @see javax.jms.QueueConnectionFactory#createQueueConnection(java.lang.String,     *      java.lang.String)     */    public QueueConnection createQueueConnection(String username, String password) throws JMSException    {        XAQueueConnection xaqc = ((XAQueueConnectionFactory) factory).createXAQueueConnection(username,                                                                                              password);        QueueConnection proxy = (QueueConnection) Proxy.newProxyInstance(Connection.class.getClassLoader(),                                                                         new Class[]{QueueConnection.class}, new ConnectionInvocationHandler(xaqc));        return proxy;    }    /*     * (non-Javadoc)     *      * @see javax.jms.TopicConnectionFactory#createTopicConnection()     */    public TopicConnection createTopicConnection() throws JMSException    {        XATopicConnection xatc = ((XATopicConnectionFactory) factory).createXATopicConnection();        TopicConnection proxy = (TopicConnection) Proxy.newProxyInstance(Connection.class.getClassLoader(),                                                                         new Class[]{TopicConnection.class}, new ConnectionInvocationHandler(xatc));        return proxy;    }    /*     * (non-Javadoc)     *      * @see javax.jms.TopicConnectionFactory#createTopicConnection(java.lang.String,     *      java.lang.String)     */    public TopicConnection createTopicConnection(String username, String password) throws JMSException    {        XATopicConnection xatc = ((XATopicConnectionFactory) factory).createXATopicConnection(username,                                                                                              password);        TopicConnection proxy = (TopicConnection) Proxy.newProxyInstance(Connection.class.getClassLoader(),                                                                         new Class[]{TopicConnection.class}, new ConnectionInvocationHandler(xatc));        return proxy;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?