在Spring-WS中如何使用WebServiceMessageDrivenBean?
如何使用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文件中或者另外使用注释支持来配置端点。