在Spring-WS中如何使用WebServiceMessageDrivenBean?

时间:2020-03-05 18:45:58  来源:igfitidea点击:

如何使用Java Spring Framework Spring-WS项目中的org.springframework.ws.transport.jms.WebServiceMessageDrivenBean类?

网上几乎没有文档或者示例。

解决方案

回答

从我从阅读javadocs中学到的信息来看,它看起来像允许使用JMS客户端而不是Web服务客户端调用Spring WebServiceMessageReceiver。希望这是正确的,因为其余的都是基于该假设的。

的基础知识应与我们创建常规Spring消息驱动Bean的方式相匹配。 Spring参考手册中有一些有关如何执行此操作的文档。另请参阅AbstractEnterpriseBean Javadoc,以获取有关如何检索Spring上下文的一些其他信息。

WebServiceMessageDrivenBean所需的额外配置似乎是ConnectionFactory,WebServiceMessageFactory和WebServiceMessageReceiver。这些需要使用Javadoc中为WebServiceMessageDrivenBean指定的bean名称。 Bean名称分别是" connectionFactory"," messageFactory"和" messageReceiver"。

回答

使用WebServiceMessageDrivenBean与Spring对消息驱动Bean(MDBS)的支持非常相似。

首先,我们创建一个MDB:

public class HelloWorldMessageDrivenBean extends WebServiceMessageDrivenBean {
    private static final long serialVersionUID = -2905491432314736668L;
}

就MDB而言,就是这样!

接下来,通过在ejb-jar.xml中的MDB定义中添加以下内容来配置MDB:

<env-entry>  
    <description></description>  
    <env-entry-name>ejb/BeanFactoryPath</env-entry-name>  
    <env-entry-type>java.lang.String</env-entry-type>  
    <env-entry-value>  
        application-context.xml  
    </env-entry-value>  
</env-entry>

这告诉Spring MDB支持类在哪里获取Spring配置文件。

现在,我们可以在application-context.xml文件中或者另外使用注释支持来配置端点。