亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jsr181handlermapping.java

?? Xfire文件 用于開發web service 的一個開源工具 很好用的
?? JAVA
字號:
package org.codehaus.xfire.spring.remoting;import java.lang.reflect.Modifier;import java.util.List;import javax.xml.namespace.QName;import org.codehaus.xfire.XFire;import org.codehaus.xfire.aegis.AegisBindingProvider;import org.codehaus.xfire.aegis.type.TypeMappingRegistry;import org.codehaus.xfire.annotations.AnnotationServiceFactory;import org.codehaus.xfire.annotations.AnnotationsValidator;import org.codehaus.xfire.annotations.WebAnnotations;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.invoker.BeanInvoker;import org.codehaus.xfire.spring.SpringUtils;import org.springframework.beans.BeansException;import org.springframework.beans.factory.BeanIsAbstractException;import org.springframework.beans.factory.config.BeanDefinition;import org.springframework.context.ApplicationContext;import org.springframework.context.ConfigurableApplicationContext;import org.springframework.web.servlet.handler.AbstractUrlHandlerMapping;/** * Implementation of the {@link org.springframework.web.servlet.HandlerMapping} interface that recognizes {@link * org.codehaus.xfire.annotations.WebServiceAnnotation web service annotations} on Spring-managed beans and * automatically wires them into the current servlet's WebApplicationContext. * <p/> * All beans Services are exposed by their {@link org.codehaus.xfire.annotations.WebServiceAnnotation#getServiceName() * service name}, with a defined {@link #setUrlPrefix(String) prefix}. For instance, a bean annotated with the service * name <code>EchoService</code> will be exposed as <code>/services/EchoService</code>. * * @author <a href="mailto:poutsma@mac.com">Arjen Poutsma</a> * @see WebAnnotations * @see org.codehaus.xfire.annotations.WebServiceAnnotation */public class Jsr181HandlerMapping        extends AbstractUrlHandlerMapping{    private WebAnnotations webAnnotations;    private XFire xFire;    private TypeMappingRegistry typeMappingRegistry;    private String urlPrefix = "/services/";    private String servletControllerAdapterName;    private AnnotationServiceFactory serviceFactory;    private AnnotationsValidator validator;        private List inHandlers;    private List outHandlers;    private List faultHandlers;        protected void initApplicationContext()            throws BeansException    {        if (serviceFactory == null) {        	serviceFactory = createServiceFactory();        }        ApplicationContext context = getApplicationContext();         while (true)        {            if (context == null) break;                        processBeans(context, serviceFactory);            context = context.getParent();        }    }	public AnnotationServiceFactory getServiceFactory() {		return serviceFactory;	}	public void setServiceFactory(AnnotationServiceFactory serviceFactory) {		this.serviceFactory = serviceFactory;	}	private AnnotationServiceFactory createServiceFactory() {		AegisBindingProvider provider;        if (typeMappingRegistry == null)            provider = new AegisBindingProvider();        else            provider = new AegisBindingProvider(typeMappingRegistry);                AnnotationServiceFactory serviceFactory =                new AnnotationServiceFactory(webAnnotations,                                             xFire.getTransportManager(),                                             provider);        if( validator != null ){        	serviceFactory.setValidator(validator);        }		return serviceFactory;	}    private void processBeans(ApplicationContext beanFactory, AnnotationServiceFactory serviceFactory)    {        String[] beanNames = beanFactory.getBeanDefinitionNames();        ConfigurableApplicationContext ctxt = (ConfigurableApplicationContext) beanFactory;        // Take any bean name or alias that has a web service annotation        for (int i = 0; i < beanNames.length; i++)        {            BeanDefinition def = ctxt.getBeanFactory().getBeanDefinition(beanNames[i]);                if (!def.isSingleton() || def.isAbstract()) continue;                        Class clazz;            Object bean;            try            {                clazz = getApplicationContext().getType(beanNames[i]);                bean = beanFactory.getBean(beanNames[i]);                try                {                    clazz = SpringUtils.getUserTarget(bean).getClass();                }                catch (Exception e)                {                    logger.error("Failed to get the User Target Class of bean " + beanNames[i], e);                }            }            catch (BeanIsAbstractException e)            {                // The bean is abstract, we won't be doing anything with it.                continue;            }            if (clazz != null &&                     !Modifier.isAbstract(clazz.getModifiers()) &&                     webAnnotations.hasWebServiceAnnotation(clazz))            {                Service endpoint = serviceFactory.create(clazz);                customizeService(bean, endpoint);            }            else            {                if (logger.isDebugEnabled())                {                    logger.debug("Rejected bean '" + beanNames[i] + "' since it has no WebService annotation");                }            }        }    }	protected void customizeService(Object bean, Service endpoint) {		if (logger.isInfoEnabled())		{		    logger.info("Exposing  service " + endpoint.getName() + 		                " to " + urlPrefix + endpoint.getSimpleName());		}		if( getInHandlers()!= null ){			endpoint.getInHandlers().addAll(getInHandlers());			}				if( getOutHandlers()!= null ){			endpoint.getOutHandlers().addAll(getOutHandlers());			}				if( getFaultHandlers()!= null ){			endpoint.getFaultHandlers().addAll(getFaultHandlers());			}				xFire.getServiceRegistry().register(endpoint);		endpoint.setInvoker(new BeanInvoker(bean));		Object controller = createController(endpoint.getName());		registerHandler(urlPrefix + endpoint.getSimpleName(), controller);	}        public XFire getXFire() {		return xFire;	}	/**     * Creates the XFireServletControllerAdapter either indirectly using the      * XFireServletControllerAdapter prototype bean declared in the Spring app context,     * or directly through the the constructor of XFireServletControllerAdapter.      *      * @param endpointName The endpointName to inject into the XFireServletControllerAdapter     * @return A new instance of XFireServletControllerAdapter     */    private Object createController(QName endpointName)     {        if (servletControllerAdapterName != null)        {            Object controller = getApplicationContext().getBean(servletControllerAdapterName);            if (controller == null)            {                logger.error("Failed to find bean with name " + servletControllerAdapterName);            }            else            {                try                {                    XFireServletControllerAdapter xFireServletControllerAdapter =                         (XFireServletControllerAdapter) SpringUtils.getUserTarget(controller);                    xFireServletControllerAdapter.setServiceName(endpointName);                    return controller;                }                catch (Exception e)                {                    logger.error("Failed to create a Controller for endpoint " + endpointName, e);                }            }        }        return new XFireServletControllerAdapter(xFire, endpointName);    }    /**     * Sets the web annotations implementation to use.     */    public void setWebAnnotations(WebAnnotations webAnnotations)    {        this.webAnnotations = webAnnotations;    }    /**     * Sets the XFire instance.     */    public void setXfire(XFire xFire)    {        this.xFire = xFire;    }    /**     * Sets the type mapping registry.     */    public void setTypeMappingRegistry(TypeMappingRegistry typeMappingRegistry)    {        this.typeMappingRegistry = typeMappingRegistry;    }    /**     * Sets the url prefix used when exposing services. Defaults to <code>/services/</code>.     */    public void setUrlPrefix(String urlPrefix)    {        this.urlPrefix = urlPrefix;    }    public void setServletControllerAdapterName(String servletControllerAdapterName)     {        this.servletControllerAdapterName = servletControllerAdapterName;    }	public List getInHandlers() {		return inHandlers;	}	public void setInHandlers(List inHandlers) {		this.inHandlers = inHandlers;	}	public List getOutHandlers() {		return outHandlers;	}	public void setOutHandlers(List outHandlers) {		this.outHandlers = outHandlers;	}	public List getFaultHandlers() {		return faultHandlers;	}	public void setFaultHandlers(List faultHandlers) {		this.faultHandlers = faultHandlers;	}	public void setValidator(AnnotationsValidator validator) {		this.validator = validator;	}        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线电影| 三级欧美韩日大片在线看| 亚洲bdsm女犯bdsm网站| 国产激情视频一区二区三区欧美 | 一区二区三区欧美视频| 国产最新精品免费| 69堂国产成人免费视频| 一个色综合网站| 波多野结衣中文字幕一区| 欧美videos大乳护士334| 91福利在线导航| 久久99精品国产麻豆婷婷洗澡| 波波电影院一区二区三区| 欧美精品tushy高清| 亚洲激情男女视频| 成人一区二区三区视频| 精品国产一区a| 蜜桃视频第一区免费观看| 欧美精品久久天天躁| 亚洲一区二区三区国产| 日本大香伊一区二区三区| 一区二区中文字幕在线| 懂色av中文一区二区三区| 久久久久久久久久久黄色| 国产精品一色哟哟哟| 久久精品视频免费| 国产精品一区二区在线观看不卡| 欧美电视剧在线看免费| 韩国中文字幕2020精品| 色偷偷久久一区二区三区| 1024成人网| 色综合久久88色综合天天免费| 亚洲欧洲成人自拍| 91视频精品在这里| 一区二区三区精品在线| 欧美日韩一级大片网址| 视频一区二区三区在线| 91精品国产综合久久久久久| 免费欧美日韩国产三级电影| 日韩免费在线观看| 国产精品一品二品| 综合色中文字幕| 欧美性色黄大片| 日韩国产欧美在线观看| 精品国产污污免费网站入口| 国产成人综合在线播放| 亚洲精品欧美二区三区中文字幕| 欧美在线观看视频一区二区三区| 午夜亚洲福利老司机| 日韩久久久精品| 成人性生交大片免费看中文网站| 自拍偷自拍亚洲精品播放| 精品视频一区三区九区| 久久99在线观看| 国产精品麻豆网站| 欧美日韩亚洲另类| 国产精品中文有码| 亚洲自拍偷拍欧美| www久久精品| 91国偷自产一区二区开放时间| 免费三级欧美电影| 日韩一区中文字幕| 日韩欧美国产综合| 97久久人人超碰| 免费精品视频在线| 亚洲私人黄色宅男| 日韩欧美一级在线播放| 一本色道久久综合亚洲aⅴ蜜桃| 日韩国产欧美三级| 国产精品久久久久久福利一牛影视 | 久久99精品久久久久久久久久久久| 久久色在线观看| 色视频欧美一区二区三区| 美女一区二区三区| 一区二区三区免费在线观看| 精品国产91乱码一区二区三区 | 麻豆国产精品官网| 日韩一区中文字幕| 久久久精品免费网站| 欧美精品亚洲一区二区在线播放| 成人教育av在线| 黄一区二区三区| 性做久久久久久久免费看| 国产精品久久久久久久午夜片| 精品国产免费视频| 欧美日韩你懂的| 在线观看国产一区二区| av成人老司机| 国产成人午夜精品影院观看视频| 蜜桃av噜噜一区二区三区小说| 亚洲成在线观看| 亚洲最快最全在线视频| 自拍偷在线精品自拍偷无码专区 | 丝袜a∨在线一区二区三区不卡| 中文字幕中文字幕在线一区| 久久久久久久久久久久久女国产乱| 在线播放91灌醉迷j高跟美女| 91美女蜜桃在线| 99精品国产99久久久久久白柏 | 国产精品久久久一本精品| 久久精品欧美一区二区三区不卡| 欧美本精品男人aⅴ天堂| 欧美日韩国产一级| 欧美色成人综合| 欧美色精品在线视频| 在线看国产一区| 91麻豆免费看| 91免费国产在线观看| 色婷婷久久一区二区三区麻豆| 成人h动漫精品一区二区| 成人一级片网址| 国产91精品一区二区| 国产69精品久久777的优势| 国产精品自拍一区| 顶级嫩模精品视频在线看| 狠狠色丁香久久婷婷综合丁香| 狠狠色丁香久久婷婷综合_中| 极品少妇xxxx精品少妇| 国产精品一区一区三区| 成人黄页在线观看| 91黄色免费看| 欧美精品v国产精品v日韩精品| 6080日韩午夜伦伦午夜伦| 欧美白人最猛性xxxxx69交| 久久久综合精品| 中文字幕乱码亚洲精品一区 | 免费看日韩精品| 精品系列免费在线观看| 国产盗摄一区二区| 色8久久精品久久久久久蜜| 综合久久久久久| 欧美在线高清视频| 欧美片网站yy| 久久久久97国产精华液好用吗| 成人欧美一区二区三区1314| 亚洲福利一区二区三区| 美女视频第一区二区三区免费观看网站| 久久黄色级2电影| 成人免费av在线| 欧美日韩综合色| 26uuu色噜噜精品一区二区| 国产精品嫩草影院av蜜臀| 亚洲韩国精品一区| 国产在线精品一区二区不卡了| 99re这里只有精品视频首页| 91精品国产一区二区三区蜜臀| 国产亚洲精久久久久久| 亚洲综合色区另类av| 久久疯狂做爰流白浆xx| 色域天天综合网| 精品国产三级电影在线观看| 亚洲精选一二三| 久久精品国产精品亚洲精品| 97久久精品人人澡人人爽| 欧美一级高清片| 亚洲欧美在线另类| 韩国女主播一区二区三区| 色婷婷国产精品综合在线观看| 精品少妇一区二区三区在线播放| 亚洲视频小说图片| 激情五月婷婷综合| 欧美美女喷水视频| 国产精品第五页| 国精品**一区二区三区在线蜜桃| 欧美午夜不卡在线观看免费| 国产精品女人毛片| 韩国一区二区在线观看| 欧美丰满少妇xxxxx高潮对白| 国产精品乱码一区二区三区软件| 免费在线视频一区| 欧美午夜精品免费| 亚洲免费av网站| 成人黄色在线网站| 国产日韩欧美亚洲| 激情综合亚洲精品| 日韩你懂的在线播放| 日本女人一区二区三区| 在线亚洲人成电影网站色www| 国产女人水真多18毛片18精品视频 | 成人一二三区视频| 久久精品视频网| 久久99久国产精品黄毛片色诱| 精品视频资源站| 亚洲国产一二三| 欧美午夜不卡视频| 亚洲卡通欧美制服中文| 99久久亚洲一区二区三区青草| 国产偷国产偷精品高清尤物| 六月丁香婷婷色狠狠久久| 日韩欧美一级片| 精品一区二区三区在线观看国产| 日韩欧美国产三级| 日韩va亚洲va欧美va久久| 欧美日韩国产精品成人| 午夜av区久久| 7777精品久久久大香线蕉| 欧美aⅴ一区二区三区视频| 日韩精品专区在线影院观看| 久久av资源站| 国产亚洲短视频|