⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mbeantransportmanager.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.management.mbeans;

import net.sf.cglib.proxy.Callback;
import net.sf.cglib.proxy.Enhancer;

import org.codehaus.xfire.XFireRuntimeException;
import org.codehaus.xfire.transport.DefaultTransportManager;
import org.codehaus.xfire.transport.Transport;

public class MBeanTransportManager extends DefaultTransportManager
{
    private ServiceStat serviceStat;

    public MBeanTransportManager(ServiceStat serviceStat)
    {
        super();
        
        this.serviceStat = serviceStat;
    }

    @Override
    public void register(Transport transport)
    {
        TransportInterceptor interceptor = new TransportInterceptor(transport, serviceStat);
        Enhancer e = new Enhancer();
        e.setSuperclass(transport.getClass());
        e.setCallbackType(TransportInterceptor.class);
        e.setUseFactory(false);

        Class mock = e.createClass();
        Enhancer.registerCallbacks(mock, new Callback[] { interceptor });
        
        try
        {
            Object t = Sun14ReflectionProvider.newInstance(mock);
            super.register((Transport)t);
        }
        catch (Exception e1)
        {
            throw new XFireRuntimeException("Couldn't instantiate MBean transport.", e1);
        }
    }
}

⌨️ 快捷键说明

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