转载:http://www.dev26.com/blog/article/137

web开发站中的邮件发送使用了activemq我这是从网上找的进行了一些修改,记录下来,为了避免发送邮件时程序对用户操作的阻塞,使用ActiveMQ来 实现JMS传送和接收。

  首先,我们在Spring中加入ActiveMQBroker的配置:

<bean id="broker"
class="org.apache.activemq .xbean.BrokerFactoryBean">
<property name="config"
value="classpath:activemq .xml" />
<property name="start"
value="true" />
</bean>

我们在此处配置了BrokerFactoryBean,此Bean实现在Spring中配置嵌入式Broker,并且支持XBean方式的配 置。Broker的配置文件由config属性指定,此处定义配置文件位于classpath中的activemq.xml。

  接下来我们需要创建Broker的配置文件activemq.xml。其实我们 不需要从头配置,展开ActiveMQ的jar包,在org.apache.activemq.xbean下,就有一个activemq.xml, 我们将其拷贝到WEB-INF/classes/目录下,并进行修改。

下面是activemq.xml的内容:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
<broker useJmx="false" persistent="false"
xmlns="http://activemq.apache.org/schema/core">
<transportConnectors>
<transportConnector uri="tcp://localhost:61616"/>
</transportConnectors>
</broker> </beans>

在spring中的配置中设置bean:

     <bean id="broker"
class="org.apache.activemq.xbean.BrokerFactoryBean">
<property name="config"
value="/WEB-INF/activemq.xml" />
<property name="start"
value="true" />
</bean>
<!-- 配置connectionFactory -->
<!-- 配置JMS连接工厂 -->
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" />
</bean>
<!-- 发送消息的目的地(一个队列) -->
<bean id="jmsDestination" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="MY.queue"></constructor-arg>
</bean>
<!-- JMS listener wrapper -->
<bean id="listenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="destination" ref="jmsDestination" />
<property name="messageListener" ref="messageHandler" />
</bean>

在broker中,我们指定了不开启JMX,并且不使用持久化(persistent=”false”)。
  如果不对消息进行持久化存储,在容器或者JVM关闭、重启,或者崩溃后,所有的消息都将丢失,在我们的业务中,对于发送密码更改通知邮件,并 非是重要的功能,所以我们选择不使用持久化存储,但对于不同业务逻辑,可能会需要进行持久化存储。ActiveMQ提 供的持久化存储方案可以将消息存储到文件系统、数据库等。

  要在Broker中开启持久化存储,需要设置persistent为true,并且对其子节点persistenceAdapter,  journaledJDBC进行配置。ActiveMQjar包中的activemq.xml有被注释掉的示例,可以参考。

转载:在spring中嵌入activemq的更多相关文章

  1. 转载:QTableView中嵌入可视化组件

    出处:http://qimo601.iteye.com/blog/1538364 QTableView中嵌入可视化组件方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简 ...

  2. 【转载】Spring中DispatcherServlet与ContextLoaderListener的区别

    昨天在写springmvc的时候,在web.xml中配置了DispatcherServlet,如下: <servlet> <servlet-name>DispatcherSer ...

  3. 【转载】Spring中的applicationContext.xml与SpringMVC的xxx-servlet.xml的区别

    一直搞不明白两者的区别. 如果使用了SpringMVC,事实上,bean的配置完全可以在xxx-servlet.xml中进行配置.为什么需要applicationContext.xml?一定必须? 一 ...

  4. 转载:Spring中各个JAR包的作用

    (1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工 ...

  5. Spring 中使用 ActiveMQ 笔记

    首先需要在 pom.xml 中添加如下两个 jar 包:spring-jms 与 activemq-core,其依赖的 jar 包会自动下载 接着进行相关配置 @Configuration publi ...

  6. Spring 中JCA CCI分析--转载

    转载地址:http://blog.csdn.net/a154832918/article/details/6790612 J2EE提供JCA(Java Connector Architecture)规 ...

  7. [转载] 【Shiro】Apache Shiro架构之实际运用(整合到Spring中)

    写在前面:前面陆陆续续对Shiro的使用做了一些总结,如题,这篇博文主要是总结一下如何将Shiro运用到实际项目中,也就是将Shiro整到Spring中进行开发.后来想想既然要整,就索性把Spring ...

  8. spring中context:property-placeholder/元素 转载

    spring中context:property-placeholder/元素  转载 1.有些参数在某些阶段中是常量 比如 :a.在开发阶段我们连接数据库时的连接url,username,passwo ...

  9. 详解设计模式在Spring中的应用---转载

    Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行内典范.好了,话不多说,开始今天的内容. spring中常用的设计模式达到九种,我们一一举例: 第一种:简单工厂 又叫 ...

随机推荐

  1. Codeforces 599B. Spongebob and Joke 模拟

    B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  2. lnmp vhost 虚拟目录配置

    以前常用Windows 很熟悉,lnmp 配置虚拟目录也很简单. 安装完lnmp环境之后,在nginx的配置文件夹下,我采用的方法是复制default.conf 然后重命名为vhost_a.conf ...

  3. easyui-tabs及其内容展示

    方案一<div class="easyui-panel">        <div class="easyui-tabs" fit=" ...

  4. chrome审查元素功能,web开发强大帮手

    怎样打开Chrome的开发者工具? 你可以直接在页面上点击右键,然后选择审查元素: 或者在Chrome的工具中找到: 或者,你直接记住这个快捷方式: Ctrl+Shift+I (或者Ctrl+Shif ...

  5. hi~大家好,特地出来解释下最近为啥都不更新了!

    总结一句话就是!因为我有宝宝啦~加上项目赶得不要不要的公司原因加上个人原因只能在家养胎啦,对象也是程序猿哦~不过是后端程序猿哈哈哈. 我打算开公众号(百撕可乐)啦,和博客圆的名字一样,毕竟用了这么多年 ...

  6. 2018.08.18 NOIP模拟 game(数位dp)

    Game 题目背景 SOURCE:NOIP2015-SHY4 题目描述 Alice 和 Bob 正在玩一个游戏,两个人从 1 轮流开始报数,如果遇到 7 的倍数或者遇到的这个数的十进制表示中含 7 , ...

  7. hdu-1067(最大独立集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1068 题意:一个男生集合和一个女生集合,给出两个集合之间一一对应的关系,求出两个集合中最大独立集的点数 ...

  8. maven随笔

    1.在我们项目顶层的POM文件中,我们会看到dependencyManagement元素.通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号.Maven会沿着父子层次向上走, ...

  9. java,arduino,C#之间的一些编码转换

    1.C#-> Encoding.UTF8.GetBytes( "abc中") ->[97,98,99,228,184,173] java->byte[] bs= ...

  10. web.xml 404 500 配置

    web.xml <error-page> <error-code>404</error-code> <location>/error404.html&l ...