- 浏览: 395557 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (760)
- 股票日志 (26)
- Selenium (0)
- selenium 2 环境的搭建 (1)
- 并发 (7)
- 框架开发 (1)
- 动态代理 (2)
- Struts2 (2)
- POI (2)
- jdk (3)
- maven (31)
- spring (35)
- mysql (31)
- 工作机会 (3)
- xtream (1)
- oracle dbms_metadata GET_DDL (0)
- SSI (1)
- DB (61)
- powermock (4)
- java 基础 (25)
- 多线程 (11)
- 高手 (2)
- java 底层 (2)
- 专业网站 (1)
- 开发联想 (1)
- 开发联想 (1)
- bat文件 (2)
- 清queue 语句 (1)
- 清queue 语句 (1)
- jquery (7)
- html5 (1)
- Jenkins (10)
- Linux (17)
- 工作issue (2)
- tomcat log (3)
- jvm (23)
- 项目细节 (0)
- oracle (41)
- 泛型 (3)
- 新知识点 (1)
- 数据库ddl 语句 (0)
- AQ (2)
- jms (0)
- 网络资源 (6)
- github (6)
- Easymock (1)
- Dom 解析XML (1)
- windows命令 (2)
- java (7)
- 正则表达式 (5)
- sequence (1)
- oracle 表meta信息 (1)
- 小工具技巧 (1)
- 辅助工具 (1)
- Junit (1)
- 泛型 generic (2)
- Java程序设计 (1)
- cglib (2)
- 架构师之路 (1)
- 数据库连接池 (5)
- c3p0 (1)
- eclipse使用 (1)
- oracle sql plus (1)
- 码农人生 (3)
- SVN (15)
- sqlplus (2)
- jsoup (1)
- 网络爬虫 (2)
- 新技能 (1)
- zookeeper (4)
- hadoop (1)
- SVNKIT (1)
- 从工具到知识点的整理 (1)
- log4j (13)
- 读文件 (0)
- 转义字符 (1)
- command (1)
- web service (3)
- 锁 (1)
- shell 脚本 (1)
- 遇到的错误 (2)
- tomcat (14)
- 房产 (5)
- bootstrap jquery ui (1)
- easyui (2)
- 个人征信 (1)
- 读写分离 (1)
- 备份 (1)
- rmi (6)
- webservice (1)
- JMX (4)
- 内存管理 (3)
- java设计 (1)
- timer (1)
- lock (2)
- concurrent (2)
- collection (1)
- tns (1)
- java基础 (15)
- File (1)
- 本机资源 (1)
- bat (1)
- windows (4)
- 数据结构 (3)
- 代码安全 (1)
- 作用域 (1)
- 图 (2)
- jvm内存结构 (1)
- 计算机思想 (1)
- quartz (6)
- Mongo DB (2)
- Nosql (4)
- sql (5)
- 第三方Java 工具 jar 项目 (2)
- drools (1)
- java swing (2)
- 调用console (1)
- runtime (1)
- process (1)
- swing (2)
- grouplayout (1)
- dubbo (0)
- bootstrap (0)
- nodejs (2)
- SVN hooks (1)
- jdbc (3)
- jdbc error (1)
- precedure (1)
- partition_key (1)
- active mq (1)
- blob (2)
- Eclipse (6)
- web server (1)
- bootstrapt (2)
- struts (1)
- ajax (1)
- js call back (1)
- 思想境界拓展 (1)
- JIRA (1)
- log (1)
- jaxb (3)
- xml java互相转换 (1)
- 装修 (2)
- 互联网 (2)
- threadlocal (3)
- mybatis (22)
- xstream (1)
- 排序 (1)
- 股票资源 (1)
- RPC (2)
- NIO (3)
- http client (6)
- 他人博客 (1)
- 代理服务器 (1)
- 网络 (2)
- web (1)
- 股票 (5)
- deadlock (1)
- JConsole (2)
- activemq (3)
- oralce (1)
- 游标 (1)
- 12月13日道富内部培训 (0)
- grant (1)
- 速查 (2)
- classloader (4)
- netty (4)
- 设计模式 (2)
- 缓存 (2)
- ehcache (2)
- framework (1)
- 内存分析 (2)
- dump (1)
- memory (2)
- 多高线程,并发 (1)
- hbase (2)
- 分布式系统 (1)
- socket (3)
- socket (1)
- 面试问题 (1)
- jetty (2)
- http (2)
- 源码 (1)
- 日志 (2)
- jni (1)
- 编码约定 (1)
- memorycache (1)
- redis (13)
- 杂谈 (1)
- drool (1)
- blockingqueue (1)
- ScheduledExecutorService (1)
- 网页爬虫 (1)
- httpclient (4)
- httpparser (1)
- map (1)
- 单例 (1)
- synchronized (2)
- thread (1)
- job (1)
- hashcode (1)
- copyonwriteArrayList (2)
- 录制声音 (1)
- java 标准 (2)
- SSL/TLS (1)
- itext (1)
- pdf (1)
- 钻石 (2)
- sonar (1)
- unicode (1)
- 编码 (4)
- html (1)
- SecurityManager (1)
- 坑 (1)
- Restful (2)
- svn hook (1)
- concurrentHashMap (1)
- 垃圾回收 (1)
- vbs (8)
- visual svn (2)
- power shell (1)
- wmi (3)
- mof (2)
- c# (1)
- concurrency (1)
- 劳动法 (1)
- 三国志游戏 (2)
- 三国 (1)
- 洪榕 (2)
- 金融投资知识 (1)
- motan (1)
- tkmybatis mapper (1)
- 工商注册信息查询 (1)
- consul (1)
- 支付业务知识 (2)
- 数据库备份 (1)
- 字段设计 (1)
- 字段 (1)
- dba (1)
- 插件 (2)
- PropEdit插件 (1)
- web工程 (1)
- 银行业知识 (2)
- 国内托管银行 (1)
- 数据库 (1)
- 事务 (2)
- git (18)
- component-scan (1)
- 私人 (0)
- db2 (14)
- alias (1)
- 住房 (1)
- 户口 (1)
- fastjson (1)
- test (6)
- RSA (2)
- 密钥 (1)
- putty (1)
- sftp (1)
- 加密 (1)
- 公钥私钥 (3)
- markdown (1)
- sweet (1)
- sourcetree (1)
- 好工具 (1)
- cmd (1)
- scp (1)
- notepad++ (1)
- ssh免密登录 (1)
- https (1)
- ssl (2)
- js (2)
- h2 (1)
- 内存 (2)
- 浏览器 (1)
- js特效 (1)
- io (1)
- 乱码 (1)
- 小工具 (1)
- 每周技术任务 (1)
- mongodb (7)
- 内存泄漏 (1)
- 码云 (2)
- 如何搭建java 视频服务器 tomcat (1)
- 资源 (1)
- 书 (1)
- 四色建模法 (1)
- 建模 (1)
- 配置 (1)
- 职位 (1)
- nginx (1)
- excel (1)
- log4j2 (2)
- 做菜 (1)
- jmap (1)
- jspwiki (1)
- activiti (1)
- 工作流引擎 (1)
- 安卓 (1)
- acitviti 例子 (1)
- 二维码 (1)
- 工作流 (1)
- powerdesign (2)
- 软件设计 (1)
- 乐观锁 (1)
- 王者荣耀 (1)
- session (2)
- token (5)
- cookie (4)
- springboot (24)
- jwt (2)
- 项目路径 (1)
- magicbook (1)
- requestType (1)
- json (2)
- swagger (1)
- eolinker (1)
- springdata (1)
- springmvc (1)
- controlleradvice (1)
- profile (1)
- 银行四要素 (1)
- 支付人员资源 (1)
- 支付渠道 (1)
- yaml (1)
- 中文编码 (1)
- mongo (2)
- serializable (1)
- 序列化 (1)
- zyd (1)
- unittest (1)
- 工具 (1)
- Something (1)
- 通达信 (1)
- protobuf (1)
- 算法 (1)
- springcloud (2)
- hikari (1)
- rocketmq (7)
- cachecloud (1)
- serfj (1)
- axure (1)
- lombok (1)
- 分布式锁 (1)
- 线程 (2)
- 同步代码块 (1)
- cobar (1)
- mq (1)
- rabbitmq (1)
- 定时执行 (1)
- 支付系统 (3)
- 唱歌 (1)
- elasticjob (1)
- 定时任务 (1)
- 界面 (1)
- flink (2)
- 大数据 (1)
- 接私活 (0)
- 内部培训 (2)
最新评论
-
dannyhz:
做股票从短线 试水,然后 慢慢发现 波段和 中期的故事可挖, ...
搭台唱戏 -
dannyhz:
http://developer.51cto.com/art/ ...
如何自己开发框架 它的注意点是什么
package Client; import javax.jms.Connection; import javax.jms.Destination; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageProducer; import javax.jms.Session; import org.apache.activemq.ActiveMQConnectionFactory; public class DeliverQueue { public static void main(String[] args) { String brokerUrl = "tcp://127.0.0.1:61616"; String userName = "admin"; String pswd = "admin"; ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); ((ActiveMQConnectionFactory) connectionFactory).setBrokerURL(brokerUrl); ((ActiveMQConnectionFactory) connectionFactory) .setUserName(userName); ((ActiveMQConnectionFactory) connectionFactory) .setPassword(pswd); try { Connection conn = ((ActiveMQConnectionFactory) connectionFactory).createConnection(); conn.start(); Session jmsSession = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = jmsSession.createQueue("MONKEY_Q"); MessageProducer producer = jmsSession.createProducer(destination); Message msg = jmsSession.createTextMessage("Monkey king."); producer.send(msg); producer.close(); jmsSession.close(); conn.close(); System.out.println("sent msg :" + msg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package Client; import javax.jms.Connection; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.Queue; import javax.jms.Session; import org.apache.activemq.ActiveMQConnectionFactory; /** * Hello world! * */ public class ReceiveQueue { public static void main( String[] args ) { String brokerUrl = "tcp://127.0.0.1:61616"; String userName = "admin"; String pswd = "admin"; ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(); ((ActiveMQConnectionFactory) connectionFactory).setBrokerURL(brokerUrl); ((ActiveMQConnectionFactory) connectionFactory) .setUserName(userName); ((ActiveMQConnectionFactory) connectionFactory) .setPassword(pswd); try { Connection conn = ((ActiveMQConnectionFactory) connectionFactory).createConnection(); conn.start(); Session jmsSession = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = jmsSession.createQueue("MONKEY_Q"); MessageConsumer comsumer = jmsSession.createConsumer(destination); Message msg = comsumer.receive(1000L); comsumer.close(); jmsSession.close(); conn.close(); System.out.println(msg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package Client; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.MessageConsumer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; public class ReceiveTopic implements Runnable{ private static final String brokerUrl = "tcp://127.0.0.1:61616"; private static final String userName = "admin"; private static final String pswd = "admin"; private String threadName; ReceiveTopic(String name){ threadName = name; } @Override public void run() { ConnectionFactory connFactory; Connection conn = null; Session session; Destination dest; MessageConsumer consumer; connFactory = new ActiveMQConnectionFactory(userName,pswd,brokerUrl); try{ conn = connFactory.createConnection(); conn.start(); session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); dest = session.createTopic("AllWorld"); consumer = session.createConsumer(dest); while(true){ TextMessage message = (TextMessage)consumer.receive(100*1000); if(null != message){ System.out.println("Thread " + threadName + " has reveived the message . " + message.getText()); }else{ continue; } } }catch(Exception ex){ ex.printStackTrace(); }finally{ try{ if(null != conn){ conn.close(); } }catch(Throwable ignore){ } } } public static void main(String[] args) { ReceiveTopic r1 = new ReceiveTopic("Thread 1 "); ReceiveTopic r2 = new ReceiveTopic("Thread 2 "); ReceiveTopic r3 = new ReceiveTopic("Thread 3 "); Thread thread1 = new Thread(r1); Thread thread2 = new Thread(r2); Thread thread3 = new Thread(r3); thread1.start(); thread2.start(); thread3.start(); } }
package Client; import javax.jms.Connection; import javax.jms.DeliveryMode; import javax.jms.Destination; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; public class SendToTopic { private static final String brokerUrl = "tcp://127.0.0.1:61616"; private static final String userName = "admin"; private static final String pswd = "admin"; private static final int SEND_NUMBER = 5; public static void sendMessage(Session session, MessageProducer producer) throws Exception { for(int i=1; i <= SEND_NUMBER ; i++){ TextMessage message = session.createTextMessage("I am new a message, number " + i + "."); System.out.println("Send message " + i ); producer.send(message); } } public static void main(String[] args) { ActiveMQConnectionFactory connFactory ; Connection conn = null; Session session; Destination dest; MessageProducer producer; connFactory = new ActiveMQConnectionFactory( userName, pswd, brokerUrl); try{ conn = connFactory.createConnection(); conn.start(); session = conn.createSession(true, Session.AUTO_ACKNOWLEDGE); dest = session.createTopic("AllWorld"); producer = session.createProducer(dest); producer.setDeliveryMode(DeliveryMode.PERSISTENT); sendMessage(session, producer); session.commit(); }catch(Exception ex){ ex.printStackTrace(); }finally{ try{ if(null != conn){ conn.close(); } }catch(Throwable ignore){ } } } }
引用
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>quartz</artifactId>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
<dependency>
<groupId>com.****.****</groupId>
<artifactId>****-framework-core</artifactId>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.****.****</groupId>
<artifactId>****-framework-activemq</artifactId>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.2</version>
</dependency>
</dependencies>
相关推荐
- demo项目中应该包含生产者和消费者的相关代码,演示如何创建消息、发送到Queue或Topic,以及如何接收和处理消息。 - 可能包含`@JmsListener`注解用于定义消息监听器,以及`JmsTemplate`用于发送消息。 8. **...
Session可以创建一个Destination(可能是Queue或Topic),接着创建一个Producer,并通过Producer发送消息。 ```java import javax.jms.*; public class MessageProducer { public static void main(String[] args...
ActiveMQ支持多种消息模式,如点对点(Queue)和发布/订阅(Topic)。 2. **队列(Queue)**:在点对点模型中,队列是一种FIFO(先进先出)结构,每个消息只有一个消费者。发送到队列的消息只能被一个消费者接收并...
在"ActiveMQ学习"的完整例子中,你可以通过编写Java代码来创建生产者和消费者,实践发送和接收消息,了解消息的生命周期和状态。同时,通过配置不同的参数,体验ActiveMQ的灵活性和强大功能。例如,你可以创建一个...
ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它实现了Java消息服务(JMS)标准,用于在分布式系统中高效地传递消息。JMS是一种API,它定义了...这个例子对理解和实践ActiveMQ在Web环境中的应用非常有帮助。
这个简单的ActiveMQ例子可能是为了演示如何设置和使用基本的生产者和消费者,以及如何通过消息队列实现异步通信。在实际应用中,我们还可以利用ActiveMQ的高级特性,如持久化、优先级、消息筛选等,以满足更复杂的...
3. **配置Spring**:在Spring的配置文件(如applicationContext.xml)中,配置JMS监听容器,指定消息目的地(如topic或queue)和消息监听器。 4. **编写消息生产者**:在Spring MVC的控制器或服务层,创建一个方法...
这篇博客"jms之activeMQ 队列和广播模式例子"主要面向初学者,旨在提供ActiveMQ入门级的知识,通过实例解释队列(Queue)和主题(Topic)这两种基本的消息模式。 首先,我们要理解JMS中的队列和主题的区别。队列...
本教程将通过一个简单的例子介绍ActiveMQ的两个核心模式:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。我们将使用IntelliJ IDEA作为集成开发环境来实现这些示例。 首先,我们需要...
4. **队列(Queue)与主题(Topic)**:队列遵循“一对一”模型,每个消息仅被一个消费者接收;主题遵循“一对多”模型,消息可以被多个订阅者接收。 5. **持久化**:ActiveMQ支持消息的持久化,即使服务器重启,未...
标题“jms+activeMq+spring学习简单例子”表明这个压缩包包含了一些示例代码,用于演示如何在Spring框架中集成JMS和ActiveMQ,以便于理解和学习。通过这个例子,开发者可以了解如何在实际应用中实现基于消息的通信。...
在压缩包"ActiveMQ-5.1"中,可能包含了示例代码和配置文件,你可以根据这些资料动手实践,通过运行例子来加深对ActiveMQ的理解。这些例子涵盖了基本的发送和接收消息,以及一些高级特性,如消息选择器、事务管理等。...
ActiveMQ 支持多种协议,如 OpenWire、STOMP、AMQP 和 MQTT,允许不同平台的应用程序进行通信。它提供了消息的可靠传递、高可用性以及可伸缩性,是企业级应用程序中广泛使用的组件。 **ActiveMQ 的核心概念** 1. *...
在ActiveMQ中,消息通过生产者(Producer)发送到一个或多个主题(Topic)或队列(Queue)。消费者(Consumer)则订阅这些主题或从队列中获取消息。这种模式允许应用程序之间进行解耦通信,因为生产者和消费者不必...
2. **高性能**:ActiveMQ采用了高效的缓存策略和内存管理,确保高吞吐量和低延迟。 3. **高可用性**:通过集群和故障转移功能,ActiveMQ可以提供高可用的服务,确保消息不会丢失。 4. **多种协议支持**:除了JMS,...
1. **Spring集成ActiveMQ的基本配置**:在Spring应用中使用ActiveMQ,首先需要在Spring配置文件中添加JMS相关的bean,如ConnectionFactory、Destination(Queue或Topic)、MessageListenerContainer等。这些配置将...
1.一个是admin,用来显示和管理所有的queue、topic、connection等等。 2.一个是demo,有一些使用jms和activemq的简单例子。 3.还有一个fileserver,用来支持通过activemq发送文件时的中转服务器。blob message时配置...
2. **创建队列和主题**:在控制台中可以创建消息队列(Queue)和主题(Topic),用于接收和发送消息。 3. **发送和接收消息**:通过JMS API或各种语言的客户端库(如Java、Python、C#等)可以编写程序来发送和接收...
2. **主题(Topic)与队列(Queue)**:主题适用于广播消息,所有订阅者都能收到消息;队列则是一对一的通信,消息由一个消费者接收并处理。 3. **生产者(Producer)**:发布消息到消息队列或主题的组件。 4. **...