- 浏览: 1198791 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
郁闷了三天,今天终于把JMS弄出来了,就是发送消息,然后消息监听器接收到了消息后发送邮件给管理员
先看web.xml里面关于activemq的invoke
<!--调用activemq -->
<context-param >
<param-name>brokerURI </param-name >
<param-value>/WEB-INF/activemq.xml </param-value >
</context-param>
<listener>
<listener-class>org.activemq.web.SpringBrokerContextListener</listener-class>
</listener>
郁闷了三天,今天终于把JMS弄出来了,就是发送消息,然后消息监听器接收到了消息后发送邮件给管理员
先看web.xml里面关于activemq的invoke
<!--调用activemq -->
<context-param >
<param-name>brokerURI </param-name >
<param-value>/WEB-INF/activemq.xml </param-value >
</context-param>
<listener>
<listener-class>org.activemq.web.SpringBrokerContextListener</listener-class>
</listener>
然后是在上下文中定义的JmsTemplate和activemq监听
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--JMS Template-->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory">
<bean class="org.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://localhost:61616</value>
</property>
</bean>
</property>
<property name="defaultDestinationName" value="Hello.Queue"/>
</bean>
<bean id="activeMQContainer" class="org.activemq.jca.JCAContainer">
<property name="workManager">
<bean id="workManager" class="org.activemq.work.SpringWorkManager"/>
</property>
<property name="resourceAdapter">
<bean id="activeMQResourceAdapter"
class="org.activemq.ra.ActiveMQResourceAdapter">
<property name="serverUrl" value="tcp://localhost:61616"/>
</bean>
</property>
</bean>
<!--监听 Message 的Message Driven POJO-->
<bean id="HelloPlaceBean" class="com.officetao.jms.HelloMDP" autowire="byName"/>
<bean id="HelloMDP" factory-method="addConnector" factory-bean="activeMQContainer">
<property name="activationSpec">
<bean class="org.activemq.ra.ActiveMQActivationSpec">
<property name="destination" value="Hello.Queue"/>
<property name="destinationType" value="javax.jms.Queue"/>
</bean>
</property>
<property name="ref" value="HelloBean" />
</bean>
</beans>
建立一个模拟的发送消息的bean,内容如下
final String mailContent = "新增单号为0000的订单, 金额";
try {
if (jmsTemplate != null)
jmsTemplate.send(new MessageCreator() {
public Message createMessage(Session session)
throws JMSException {
Message message = session.createMessage();
message.setStringProperty("content", mailContent);
return message;
}
});
}
catch (Exception e) {
logger.error("JMS error when place order:", e);
}
最后就是监听消息然后采取行动的bean
public class HelloMDP implements MessageListener {
public void onMessage(javax.jms.Message arg0) {
try {
subAuthenticator subauth = new subAuthenticator("邮箱登陆名","密码");//smtp验证 authenticator
props.put("mail.smtp.host","smtp.163.com");
props.put("mail.smtp.auth","true");
session = Session.getInstance(props,subauth);
MimeMessage message = new MimeMessage(session);
message.setRecipient(Message.RecipientType.TO,new InternetAddress("接收邮件的邮箱"));
message.setFrom(new InternetAddress("自己的邮箱"));
message.setSubject("ok");
message.setText("if you see it,it works!");
Transport.send(message);
}
catch(AuthenticationFailedException e1){
System.out.println("SMTP认证出错!");
}
catch (MessagingException e) {
e.printStackTrace();
}
}
public static Properties props = System.getProperties();
public static Session session = null;
/**
*此内部类定义了smtp认证方法
*/
public class subAuthenticator extends Authenticator{
private String userName;
private String password;
public subAuthenticator(String user,String pass){
userName=user;
password=pass;
}
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(userName,password);
}
发表评论
-
jms&mdp
2010-06-20 17:10 0jms&mdp -
spring rmi 小例子
2009-12-02 17:19 21281 下载 2 导入eclipse (java projec ... -
用ajax发送jms消息,并监听指定队列,并从中取出消息的小例子
2009-11-18 13:41 3390用ajax发送jms消息,并监听指定队列,并从中取出消息的小例 ... -
activemq的小例子
2009-11-18 11:50 1630两种JMS的实现方法: Topic==>消息主题 是发布 ... -
消息队列技术的介绍和原理(MQ)
2009-04-05 01:47 17035消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在 ... -
利用JMS Topic发布/订阅消息
2009-03-01 16:20 69772003年3月11日那一期(使用JMS Queue) 解释了如 ... -
基于JMS的数据汇集系统的研究与实现
2009-03-01 12:46 1517摘要 在深入研究JMS异步 ... -
JMS概念和基于weblogic下的JMS配置和客户端调用收藏
2009-03-01 12:01 35161. JMS基本概念 JMS(Java Message Ser ... -
JMS 公共接口
2009-03-01 09:22 1472关键字: JMS ConnectionFactory 是 ... -
ActiveMQ 实践之路(四) ActiveMQ 4.x +JBoss 4.x MDP实战篇
2009-03-01 07:53 1904关键字: ActiveMQ Activ ... -
ActiveMQ 实践之路(三) ActiveMQ 4.x +JBoss 4.x 整合篇
2009-03-01 07:51 1524关键字: ActiveMQ ... -
ActiveMQ 实践之路(二) 使用Queue或者Topic发送/接受消息
2009-03-01 07:49 2719本篇主要讲解在未使用 ... -
ActiveMQ 实践之路(一) 启动你的ActiveMQ
2009-03-01 07:48 1685ActiveMQ 实践之路(一) 启动你的ActiveMQ ... -
activeMQ 的 Queue 的生产和消费
2009-02-28 06:03 2219概念:两种JMS的实现方法: Topic==>消息主题 ... -
面向消息的中间件和ActiveMQ的介绍
2009-02-28 01:26 2617面向消息的中间件和ActiveMQ的介绍 关键字: MOM J ...
相关推荐
在Spring中配置JMS事务,我们需要在`ConnectionFactory`中开启事务支持,然后在`MessageListener`上声明事务。例如,我们可以使用`JmsTemplate`的`setSessionTransacted(true)`方法开启事务,或者在`...
3. **配置JMS配置文件**: 在Spring的配置文件中,你需要定义JMS相关的bean,如ConnectionFactory和Destination。例如,你可以使用`<jee:jndi-lookup>`标签来查找在WebLogic中创建的JMS资源。 ```xml ...
5. **配置消息源和目的地**:在Spring配置中,为队列或主题创建bean,这些bean可以被`JmsTemplate`或`MessageListenerContainer`使用。 6. **发送和接收消息**:使用`JmsTemplate`可以方便地发送消息,而消息的接收...
在Spring JMS中,我们可以定义消息生产者和消费者作为bean,通过IoC容器进行实例化和配置。Spring提供了`MessageListenerContainer`接口,允许我们定义监听JMS消息的策略,例如基于`DefaultMessageListenerContainer...
在Java世界中,ActiveMQ和Spring的整合是企业级应用中常见的消息中间件解决方案,用于实现JMS(Java Message Service)消息传递。本教程将深入探讨如何将这两个强大的工具结合在一起,以创建一个简单的发送JMS消息的...
Spring框架提供了一种简单而强大的方式来集成JMS,使得开发者可以轻松地在应用中实现异步通信和解耦。本篇文章将深入探讨如何使用Spring进行JMS消息的发送和接收。 ### 1. JMS概述 JMS是一种中间件协议,它定义了...
在Spring Boot项目中,通过添加相关依赖和配置,可以轻松启用Spring-JMS功能。Spring Boot提供了自动配置,简化了Spring-JMS的使用。 总的来说,Spring-JMS为开发者提供了一个强大且灵活的工具,用于构建基于JMS的...
在描述中提到的接收端和发送端的部署步骤,主要是创建Spring配置文件(如`spring-jms.xml`)来管理JMS相关的bean,以及在`web.xml`中配置监听器以加载这些配置。这些配置文件定义了消息的生产者和消费者,以及它们...
集成SpringJMS和ActiveMQ首先需要在Spring配置中定义ConnectionFactory和Destination(Topic或Queue)。ConnectionFactory是JMS客户端用来创建与消息服务器的连接的工厂,而Destination是消息的目的地。Spring的`...
通过`PlatformTransactionManager`接口,可以配置JMS事务与Spring的其他事务管理器协同工作。 4. **消息转换**:Spring还提供了`MessageConverter`接口,用于在消息对象和应用程序对象之间进行转换,这在处理不同...
在Spring的配置文件(如applicationContext.xml)中,我们需要配置JMS连接工厂、目的地(Topic或Queue)以及消息监听器容器。 ```xml <bean id="jmsTemplate" class="org.springframework.jms.core....
它提供了一种声明式的方式来配置JMS模板,使得开发者可以方便地发送和接收消息。此外,Spring还支持JMS监听器容器,使得消息的消费可以以非阻塞的方式进行,提高了系统的可扩展性和并发性能。 接下来,我们来看看...
- **消息**:在JMS中,消息是数据传输的基本单位,包含要传递的信息。 - **消息队列(Message Queue)**:存储消息的临时容器,确保消息被正确地发送和接收。 - **生产者(Producer)**:创建并发送消息到消息...
- **JMS配置**:在Spring配置文件中定义ConnectionFactory和Destination(队列或主题)。 - **ActiveMQ配置**:配置ActiveMQ服务器地址和端口,以及必要的安全设置。 3. **MessageTemplate**: - Spring的`...
1) 本工程主要演示在SPRING BOOT工程中怎样使用JMS集成IBM-MQ及TLQ两种消息中间件产品 2) 使用SPRING BOOT Conditional机制实现了两种产品按需加载,工程会根据配置文件开关动态加载 3) 实现了普通队列消息发送与...
在Spring JMS中,`JmsTemplate`是核心组件,它有两种实现:JmsTemplate(基于JMS 1.1 API)和JmsTemplate102(基于JMS 1.0.2 API)。在示例应用程序中,通常会选择与目标JMS提供者兼容的版本。`JmsTemplate`通过回调...
当一个服务器不可用时,Spring配置的连接工厂会自动尝试连接到Zookeeper中标识的其他复制节点。 以上就是关于“activemq spring 客户端配置”的主要内容。通过这些步骤,你可以构建一个能够在Spring环境中与...
1. **配置JMS连接工厂** - 在Spring的配置文件中定义JMS连接工厂,如`<bean id="jmsConnectionFactory" class="..."/>`。 2. **定义消息监听容器** - 创建一个监听容器,如`<jms:listener-container>`,配置消费者...
Spring集成JMS是Java消息服务(Java Message Service)与Spring框架的结合,它提供了一种在分布式系统中高效处理异步消息传递的方式。Spring通过其强大的IoC(Inversion of Control,控制反转)和AOP(Aspect ...