网站建立前期调查,市场调研分析报告模板,百度点击软件还有用吗,qq小程序入口我们已经看到了如何使用ActiveMQ和Maven创建JMS Receiver应用程序 。 让我们看看我们如何类似地创建JMS Sender应用程序 。 web.xml与创建接收器应用程序时使用的相同#xff1a; web-app xmlnshttp://java.sun.com/xml/ns/javaeexmlns:xsihttp://www… 我们已经看到了如何使用ActiveMQ和Maven创建JMS Receiver应用程序 。 让我们看看我们如何类似地创建JMS Sender应用程序 。 web.xml与创建接收器应用程序时使用的相同 web-app xmlnshttp://java.sun.com/xml/ns/javaeexmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsdversion3.0context-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/jmsContext.xml/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener
/web-app jmsContext.xml会更改为以下内容 ?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:contexthttp://www.springframework.org/schema/contextxmlns:jmshttp://www.springframework.org/schema/jms xmlns:phttp://www.springframework.org/schema/pxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.0.xsdbean idconnectionFactory classorg.apache.activemq.spring.ActiveMQConnectionFactoryproperty namebrokerURL valuetcp://localhost:61616 //bean!-- jms:listener-container container-typedefaultconnection-factoryconnectionFactory acknowledgeautojms:listener destinationtestQueue refsimpleMessageListenermethodonMessage //jms:listener-container --!-- To send JMS message --bean idjmsTemplate classorg.springframework.jms.core.JmsTemplateproperty nameconnectionFactory refconnectionFactory /property namedefaultDestinationName valuetestQueue//beanbean idsimpleMessageSender classcom.jcombat.sender.SimpleMessageSenderproperty namejmsTemplate refjmsTemplate //bean
/beans 请注意我们为jmsTemplate和messageSender类添加了两个新bean它们将使用jmsTemplate实例将消息发送到目标队列。 现在让我们创建一个消息发送者类SimpleMessageSender.java 它实际上将发送消息 package com.jcombat.sender;import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;public class SimpleMessageSender {private JmsTemplate jmsTemplate;public void setJmsTemplate(JmsTemplate jmsTemplate) {this.jmsTemplate jmsTemplate;}public void sendMessage(final String message){ jmsTemplate.send(new MessageCreator(){ Override public Message createMessage(Session session) throws JMSException { return session.createTextMessage(message); }}); }
} 快完成了 现在让我们创建客户端类TestClient.java 它将从jmsContext获取simpleMessageSender bean并通过调用它的sendMessage方法发送一些消息字符串从而将消息拖放到已配置的队列testQueue中 如上面显示的jmsContext文件内容中突出显示的那样 。 package com.jcombat.client;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;import com.jcombat.sender.SimpleMessageSender;public class TestClient {SuppressWarnings(resource)public static void main(String[] args) throws Exception {ApplicationContext jmsContext null;jmsContext new FileSystemXmlApplicationContext(path/to/jmsContext.xml);SimpleMessageSender messageSender (SimpleMessageSender) jmsContext.getBean(simpleMessageSender);// Create a session within the connection.messageSender.sendMessage(hello);}
} 现在将TestClient类作为Java应用程序运行。 验证目标队列上的消息 要验证我们通过客户端类发送的消息是否已成功到达目标队列即testQueue 登录到Hawtio控制台并从左侧列出的队列中单击请单击testQueue链接该链接显示了以下内容中的testQueue详细信息主要内容区域如下所示 现在单击“浏览”选项卡下列出的消息。 我们可以看到发送弹出窗口的相同消息是 下载源代码 翻译自: https://www.javacodegeeks.com/2015/10/jms-sender-application-with-activemq-and-maven.html