jsr181beanpostprocessor.java

来自「Xfire文件 用于开发web service 的一个开源工具 很好用的」· Java 代码 · 共 63 行

JAVA
63
字号
package org.codehaus.xfire.spring;import org.codehaus.xfire.annotations.AnnotationServiceFactory;import org.codehaus.xfire.annotations.WebAnnotations;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.ServiceRegistry;import org.codehaus.xfire.service.invoker.BeanInvoker;import org.springframework.beans.BeansException;import org.springframework.beans.FatalBeanException;import org.springframework.beans.factory.config.BeanPostProcessor;/** * This BeanPostProcessor will create an XFire service from a service class if and only if * it is marked with the JSR 181 {@lit @}WebService attribute. This replaces the need for using the * ServiceComponent class. *  * @see org.codehaus.xfire.spring.ServiceBean * @author Jason Carreira <jcarreira@eplus.com> */public class Jsr181BeanPostProcessor    implements BeanPostProcessor{    private WebAnnotations annotations;    private AnnotationServiceFactory serviceFactory;    private ServiceRegistry registry;    public Jsr181BeanPostProcessor(WebAnnotations annotations,            AnnotationServiceFactory serviceFactory, ServiceRegistry registry)    {        this.annotations = annotations;        this.serviceFactory = serviceFactory;        this.registry = registry;    }    public Object postProcessBeforeInitialization(Object bean, String beanName)        throws BeansException    {        return bean;    }    public Object postProcessAfterInitialization(Object bean, String beanName)        throws BeansException    {        try        {            Class clazz = SpringUtils.getUserTarget(bean).getClass();            if (annotations.hasWebServiceAnnotation(clazz))            {                Service service = serviceFactory.create(clazz);                service.setInvoker(new BeanInvoker(bean));                registry.register(service);            }            return bean;        }        catch (Exception e)        {            throw new FatalBeanException("Could not get the target bean.", e);        }    }}

⌨️ 快捷键说明

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