activemq消息过滤
❶ Java培训班都需要学什么
不同学校的具体课程设置肯定肯定是不同的,不过大多数有正规办学资质的学校课程流程还是具有普遍性。
目前市面上大多数学校的理论教学时间为4个月左右,当然还有些学校还会进行一两个月的实战项目训练和就业辅导工作。
如果你是一个零基础的小白,那到了学校肯定要进行一个月左右的基础学习。要接触到的是java的核心和基础:JavaSE,这一阶段会接触到Java基础语法、面向对象编程思想、Java常用API、多线程并发编程、数据结构/集合框架、IO/网络编程/反射/设计模式。这一阶段往往也是最重要的,后面很多知识和框架的应用都是基于这一基础来的。学完这一部分,就能做一些简单的桌面应用程序设计。
之后,就是一些比较进阶的内容了,主流数据库管理系统、Java前端开发技术、流行框架应用,都是要慢慢深入的。
最后,也是相当重要的,就是实战项目的训练,掌握了再多理论知识没有实战的支撑也是白搭。
其实,只要是有正规办学资质的学校,课程教学内容都大同小异,能不能学好,主要还是看你自己的付出的汗水够不够。
❷ Java消息服务的图书
书 名: Java消息服务(第2版)
作者:(美)理查兹,(美)蒙森-哈斐尔,(美)查普尔,闫怀志译
出版社: 电子工业出版社
出版时间: 2010-1-1
ISBN: 9787121100505
开本: 16开
定价: 59.80元 推荐序
前言
第1章 消息传送机制基础
1.1 消息传送机制的优点
1.1.1 异构集成
1.1.2 缓解系统瓶颈
1.1.3 提高可伸缩性
1.1.4 提高最终用户生产率
1.1.5 体系结构灵活性和敏捷性
1.2 企业消息传送
1.2.1 集中式体系结构
1.2.2 分散式体系结构
1.2.3 混合体系结构
1.2.4 以集中式体系结构作为模型
1.3 消息传送模型
1.3.1 点对点模型
1.3.2 发布/订阅模型
1.4 JMS API
1.4.1 点对点API
1.4.2 发布/订阅API
1.5 实际场景
1.5.1 面向服务体系结构
1.5.2 事件驱动体系结构
1.5.3 异构平台集成
1.5.4 企业应用集成
1.5.5 企业到企业
1.5.6 地理分散
1.5.7 信息广播
1.5.8 构建动态系统
1.6 RPC和异步消息传送
1.6.1 紧密耦合的RPC
1.6.2 企业消息传送
第2章 编写一个简单的示例程序
2.1 聊天应用程序
2.1.1 从Chat示例开始
2.1.2 分析源代码
2.1.3 会话和线程
第3章 深入剖析一条JMS消息
3.1 消息头
3.1.1 自动分配的消息头
3.1.2 开发者分配的消息头
3.2 消息属性
3.2.1 应用程序特定的属性
3.2.2 JMS定义的属性
3.2.3 提供者特定的属性
3.3 消息类型
3.3.1 Message
3.3.2 TextMessage
3.3.3 ObjectMessage
3.3.4 BytesMessage
3.3.5 StreamMessage
3.3.6 MapMessage
3.3.7 只读消息
3.3.8 客户端确认的消息
3.3.9 消息的互操作性和可移植性
第4章 点对点消息传送模型
4.1 点对点模型概览
4.1.1 何时使用点对点消息传送模型
4.2 QBorrower和QLender应用程序
4.2.1 配置并运行应用程序
4.2.2 QBorrower类
4.2.3 QLender类
4.3 消息关联
4.4 动态队列对受管队列
4.5 使用多个接收者实现负载均衡
4.6 分析一个队列
第5章 发布/订阅消息传送模型
5.1 发布/订阅模型概览
5.1.1 何时使用发布/订阅消息传送模型
5.2 TBorrower和TLender应用程序
5.2.1 配置并运行应用程序
5.2.2 TLender类
5.2.3 TBorrower类
5.3 持久订阅者和非持久订阅者
5.4 动态订阅者和受管订阅者
5.5 取消订阅动态持久订阅者
5.6 临时主题
第6章 消息过滤
第7章 保证消息传送和事务
第8章 Java EE和消息驱动bean
第9章 Spring和JMS
第10章 部署注意事项
第11章 消息传送设计注意事项
附录A Java消息服务API
附录B 消息头
附录C 消息属性
附录D 安装和配置ActiveMQ
索引
❸ 如何禁用ActiveMQ服务器的trace方法
TRACE和TRACK是用来调试web服务器连接的HTTP方式。支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。
•虚拟主机用户可以在.htaccess文件中添加如下代码过滤TRACE请求:
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
•服务器用户在httpd.conf尾部添加如下指令后重启apache即可:
如果是自己的服务器,可以轻松设置,如果是购买的虚拟主机,你可以找idc服务商让他们帮你关闭,一般他们会建议你使用第一种办法。
❹ java jms为什么引入消息中间件
mom4j
mom4j是一个完全实现JMS1.1规范的消息中间件并且向下兼容JMS1.0与1.02.它提供了自己的消息处理存储使它独立于关系数据与语言,所以它的客户端可以用任何语言开发.
OpenJMS
OpenJMS是一个开源的Java Message Service API 1.0.2 规范的实现,它包含有以下特性:
*. 它既支持点到点(point-to-point)(PTP)模型和发布/订阅(Pub/Sub)模型。
*. 支持同步与异步消息发送
*. JDBC持久性管理使用数据库表来存储消息
*. 可视化管理界面。
*. Applet支持。
*. 能够与Jakarta Tomcat这样的Servlet容器结合。
*. 支持RMI, TCP, HTTP 与SSL协议。
*. 客户端验证
*. 提供可靠消息传输、事务和消息过滤
UberMQ
UberMQ完全实现了Java Message Service 规范。UberMQ是因为现有的许多JMS提供商已经违背了分布式计算的核心原则:快速与简单而开发的。
Hermes JMS
利用它提供的Swing UI可以很好的实现监控JMS providers。
ActiveMQ
ActiveMQ是一个开放源码基于Apache 2.0 licenced 发布并实现了JMS 1.1。它能够与Geronimo,轻量级容器和任Java应用程序无缝的给合。
Somnifugi
Somnifugi使得工作在同一个java虚拟机中的线程能实现消息互发。
MantaRay
MantaRay基于peer-2-peer 技术。它具有以下特性:
1.它既支持点对点(point-to-point)的域,又支持发布/订阅(publish/subscribe)类型的域。
2.并且提供对下列类型的支持:经认可的消息传递,事务型消息的传递,一致性消息和具有持久性的订阅者支持。
3.消息过滤体制。
4.能与WebLogic and WebSphere 给合。
5.支持TCP, UDP 与 HTTP传输协。
Presumo
Presumo也是一个实现Java Message Service API的JMS消息中间件。
JORAM
JORAM一个类似于openJMS分布在ObjectWeb之下的JMS消息中间件。
JMS4Spread
JMS4Spread是一个消息系统.它部分地实现了Java消息服务(JMS) API.
-------------------------------------------------------------------------------------------
开源JMS简单比较
我考虑在公司的项目中采用JMS来降低服务器之间的耦合性,但为了降低成本,商业软件是不考虑的,于是只能在开源的并且对商业友好的JMS服务器中选择一个了。选择条件主要基于:
支持JMS 1.1规范
持久化,能满足商业应用所需的稳定性
满足项目的性能需求
最好本身提供JNDI服务
最好支持JMX
最好本身提供一个友好的管理工具
最好提供一份完整的文档
准备进行选择的JMS服务器有:OpenJMS、UberMQ、ActiveMQ、MantaRay、JORAM
OpenJMS:老牌的JMS服务器了,也是我最早知道的开源JMS服务器,不过只支持JMS 1.02,已经很长时间没有更新了,因此不予考虑。
UberMQ:采用NIO的JMS服务器,以前我学习NIO的时候看过它的代码,写的蛮不错的,也支持JMS 1.1。由于采用了NIO,所以具有很高的弹性,在满足项目的性能需求上没有什么问题;本身也提供JNDI服务,但是遗憾的是我bind其他类型的数据时会出错;提供admin和viewer两个管理工具,但是在管理工具里不能创建ConnectionFactory和Destination并绑定到JNDI;文档不太完整;最头痛的对于持久化支持不好,如果关闭JMS服务器再开启,所有保存在JMS中的信息就全部丢失了,这点没有办法满足商业应用所需的稳定性。
ActiveMQ:最近比较活跃的一个JMS服务器,主页上的介绍说在协议配置上可以选择支持NIO,但是我仔细看它所支持的协议,却并没有提到如何配置,并且在实际的测试中也并没有发现其有采用NIO的迹象,多连接一个Client端,服务器端就增多了一个线程。满足JMS 1.1,有多种方法进行持久化;本身不提供JNDI,也没有对JMX的支持,本身不带管理工具,采用Hermes进行管理(这个我会在以后提到),文档也相对较少。
MantaRay:也是比较活跃的一个JMS服务器,采用的是P2P模型,但是我不喜欢这种模型,对于JMS服务来说,很大的一个特点就是客户端可以不用永远在线,比如在更新某一个客户端时需要暂停服务,等服务再度开启时,这段时间内所接收到的信息并不会丢失,保存在服务器上,所以我并不能看到P2P模型应用在JMS服务器上的优势,况且采用JMS服务就是为了解除耦合,速度并不是唯一需要考量的事情。出于我不喜欢其所采用模型,并且在运行其所带的示例时都出现了示例时都出现了问题,两个客户端互发互收,但是彼此之间都收不到消息,于是不予考虑。
JORAM:支持JMS 1.1,可以持久化到文件,本身提供JNDI服务和提供对JMX的支持,自带的管理工具可以添加ConnectionFactory和Destination并绑定到JNDI,这点对实现动态管理来说非常有用;文档非常完备,100多页的PDF,包含了各种配置和调整信息。其稳定性考虑的尤其好,不仅考虑到JMS服务器的集群,甚至连JNDI的集群也考虑进去(尽管暂时对我而言还用不上),这点对于商业应用而言应该会有加分。
ActiveMQ是Apache License,JORAM是LGPL,这两者对于商业应用都是友好的;UberMQ和MantaRay采用是Dual License,UberMQ的Dual License是只要你不分发,就可以允许使用;而MantaRay是商业使用需要应用一个商业的License。
比较上面的这些JMS服务器,最终我是选择了JORAM,其满足了我的绝大部分要求,唯一比较遗憾的是其采用传统的IO模型,每连接一个Client端会在服务器端增加两个线程,这点稍微影响了服务器的弹性。不过考虑到我们的项目应用,这点暂时可以不用考虑,实在压力过大了,最多到时候采用JMS集群呗:)
开源JMS再比较
四月份时我曾经比较了那时活跃度比较高的一些开源JMS——《开源JMS简单比较》,时隔四个月,重新回顾这些项目,发现与四个月以前的比较有一些出入,在这里再进行一些比较:)
比较的项目没有变化,OpenJMS、UberMQ、ActiveMQ、MantaRay、JORAM,这段时间内没有出现什么JMS新秀,JBoss计划在今年第四季度发布JBoss Messaging,但只要还是捆绑发行,我对其就没什么兴趣。
在上次的比较中,OpenJMS已经有比较长的一段时间没有更新了,但最近的四个月似乎又活跃了起来,其预备发行的0.7.7版计划支持JMS 1.1(这个来的太晚了些),其主页上的Changelog表明了接下来的这个版本有着较大的变化。这对那些以前将OpenJMS应用在项目中的人来说是一个不错的消息,但对正在选择JMS的人而言,OpenJMS的这些改进来的还是稍稍晚了些。
UberMQ这段时间没有更新,我对它的评价与以前一样,没有任何变化。
MantaRay在其主页上更新了一系列的Flash Demos,通过这些Demo,我更坚定了我的看法——MantaRay并不适合用于企业的JMS服务。
P2P这个词虽然热,但是不是什么地方都需要P2P的,在我看来JMS就是用于解除各个应用之间的耦合,速度是个关键指标,但比起这个关键指标更重要的是它存在的意义。我更倾向于采用MantaRay在Flash中所反对的那种模型,通过中心服务器进行转发,可以存放离线消息以及解除耦合。更何况,企业应用中很少有类似MantaRay演示DEMO中出现的那种网络拓扑图,并不是任何两个节点之间都是互联互通的。当然,如果MantaRay能够做一些改进,先尝试采用点对点模型,如果点对点失败,这时将消息发送到中心服务器上(但这一切必须对用户透明),我会比较赞成,既具有传统优势,又能提高消息发送接收速度。
至于上篇文章中提到的运行其自带的示例出现了问题,这次在Flash演示中终于找到了答案。看来MantaRay真应该提高其示例程序的易用性,这么复杂的操作,要是不看Flash演示,还真难想到该这样操作:(
ActiveMQ是让我感到惊讶的一个项目,上次对它的评价似乎有失偏颇。 ActiveMQ支持多种网络拓扑模型,既可以采用传统JMS的Client-Server模型,也可以采用MantaRay的P2P模型,还可以仅仅支持同一JVM内的JMS应用。持久化机制一如既往的优秀,默认采用Apache Derby数据库持久化,也可以配置为各种主流数据库来持久。目前也提供了一简单的JNDI实现,对于JMS应用而言,这已经够用了。
但是其缺点也同样明显,本身不提供管理工具;示例代码非常少;虽然主页上的文档看上去比较全面,但是一来缺乏一种有效的组织方式(文档凌乱,用户很难由浅入深进行了解,提高了门槛),二来文档整体的专业性太强(不了解ActiveMQ?看文档去吧,可是文档是写给了解ActiveMQ的用户看的……),对于普通用户而言,门槛有点高。
而且感觉ActiveMQ有点不安于JMS的本份,开始做一些周边应用了,看其主页就可以看出来,多了很多比较流行的词汇。说不上这是优点还是缺点,但就我的角度而言,我更希望其专注于做好它的JMS。
JORAM在这段期间推出了4.3.x的版本,也是我们在应用中所采用的版本,我的评价和上次相比没有什么大的变化。主页上说其速度有了提高,但我们应用中JMS数据量相对较少,没有感觉出来。稍微遗憾的是在我们试用的过程中,从4.2.3升级到4.3,老版本的持久化消息都无法在新版本上识别出来,只能全部清空。在兼容性上,看来JORAM还得多下功夫。总而言之,我们在应用中采用JORAM,感觉就是波澜不惊,没碰到什么大问题,也没有什么惊喜。
❺ 通过Java培训能学到哪些知识
可以说是一生受用哦,我是在动力节点学的,从不会到会,从不通到精通,真的是走过好多弯路,现在学到的知识简直是受用万分
❻ java培训都讲什么东西
第一阶段内容 Java设计和编程基础(OOD和OOP)
主要内容
涉及技术知识点
完成目标
Java语言基础
1.Java基本概念 2.Java环境搭建 3.搭建Eclipse开发环境 4.基本类型 5.变量,运算符,表达式 6.分支语句,循环语句 7.数组,数组应用,行业规范。 8.双色球抽奖程序,实现权限管理命令
熟悉jvm/jre/jdk等基本概念、掌握java和eclipse工具的安装、掌握java基本知识的应用
Java面向对象
1.类、对象、属性、方法、构造器 2.封装、继承、多态 3.重写、重载 4.访问权限控制符 5.this和super、static、final 6.抽象类和接口,内部类 7.单例设计模式 8.模板设计
理解面向对象的思想和概念、学会面向对象分析方法、掌握类,对象,继承,多态的使用
JavaSE核心类库
1.Java核心类 2.Java字符串、日期处理 3.包装类、集合、数据结构 4.异常和异常处理 5.Java IO、NIO、多线程编程 6.线程同步机制、并发包 7.JAVA网络编程 8.Java泛型 9.Java反射机制
掌握java核心类库的应用、掌握异常处理,io流对文件读写、熟悉java泛型和反射技术的应用
Java分析与设计
1.设计原则 2.设计模式 3.常见算法 4.Java8新特性 5.Maven使用 6.SVN版本管理
掌握面向对象分析和设计方法、熟悉常用设计模式、掌握maven和svn工具的使用
第二阶段内容 数据库技术和Web前端技术
主要内容
涉及技术知识点
完成目标
数据库开发
1.Oracle安装和管理 2.SQL语句 3.SQL语句原理 4.SQL语句优化 5.表、表设计原则 6.视图、序列、索引 7.Oracle数据字典 8.Oracle 数据库PL/SQL开发 9.存储过程、触发器、游标等 10.数据库设计原则 11.SQL优化技巧和原则 12.MySQL数据库安装 13.MySQL数据库维护 14.MySQL集群和读写分离
熟悉数据库的安装和使用、掌握数据库设计原则和方法、学会存储过程和触发器的应用
Web前端技术
1.XML语法、DTD和Schema 2.XML解析,DOM/SAX/DOM4J 3.XPATH技术应用 4.HTML5(H5)基本文档结构 5.标题、图片标记、链接、列表、表格标记 6.表单标记 7.CSS基础语法 8.CSS文本、列表、表格样式 9.CSS盒子模型 10.CSS浮动布局、定位 11.JavaScript语言基础 12.JavaScript闭包和自执行 13.JavaScript DOM编程 14.JavaScript事件模型 15.Window对象模型 16.HTML5画布、Web存储 17.地理定位、音频/视频、拖放 18.WebSocket技术等 19.CSS3边框、背景、文本效果 20.CSS3字体、动画等
掌握使用html,css进行前端界面的设计、掌握对javascript语言的使用、掌握websocket技术的使用
JDBC技术
1.JDBC 核心API 2.CRUP操作 3.Statement应用 4.PreparedStatement应用 5.预防SQL注入攻击 6.事务安全控制 7.数据库高并发控制 8.批处理技术 9.DAO封装模式 10.dbcp、c3p0等连接池应用
掌握jdbc开发api、掌握java对数据库的访问方法、掌握使用安全的数据库访问方法、学会模式的封装
jQuery技术
1.基本语法 2.选择器 3.元素选择 4.属性操作 5.文档操作 6.CSS操作 7.动画效果 8.jQuery 插件
熟悉jquery基本语法、选择器和各种处理函数、掌握对样式的增删改处理和样式处理、掌握如何自定义动画
easyUI/Bootstrap等技术
1.Menu菜单 2.Layout布局、Panel面板 3.Tabs 标签页 4.5.Tooltip提示框、Searchbox搜索框 6.Pagination 分页、Draggable可拖动 7.8.消息框、对话框 9.日历、日期时间、Slider滑块 10.Treegrid树形网格 11.Linkbutton 链接按钮 12.Bootstrap CSS 13.Bootstrap布局组件、Bootstrap插件 14.Bootstrap编辑器 15.highcharts图表组件 16.Ajax作用和原理 17.XMLHttpRequest对象 18.Ajax设计模式 19.JSON技术及Ajax应用
掌握bootstrap布局搭建和应用、熟悉easyui的作用和使用方法、掌握easyui的常用组件的使用
第三阶段内容 Java Web技术
主要内容
涉及技术知识点
完成目标
JSP & Servlet技术
1.Tomcat配置和部署 2.Servlet生命周期 3.Servlet编写规范和配置 4.中文接收乱码处理 5.Servlet过滤器和监听器 6.Servlet+DAO工厂模式应用 7.JSP 基本语法 8.JSP标记应用 9.JSP内置对象request、session、application、exception等 10.JSTL和 EL表达式 11.JSP新特性 12.MVC设计模式
掌握tomcat环境的安装和使用、熟悉servlet开发规范和相关概念、掌握session和cookie 状态管理技术。
Spring框架
1.Spring IOC概念 2.ApplicationContext\Factory 3.IOC对象创建和生命周期 4.IOC注入技巧 5.对象高级装配 6.组件扫描特性 7.Spring JDBC支持 8.Spring 事务及安全管理 9.Spring MVC框架 10.Spring国际化 1112.SpringAOP原理、AspectJ 13.Spring Security 14.Spring整合Shiro
熟悉spring模块结构和作用、掌握如何对组件对象进行参数注入、掌握spring 声明式事务处理、掌握spring 安全和 shiro权限控制
SpringBoot/SpringCloud框架
1.SpringBoot Servlet 2.SpringBoot过滤器 3.SpringBoot监听器 4.SpringBoot拦截器 5.SpringBoot启动加载 6.SpringBoot数据库连接 7.SpringBoot多数据源 8.SpringBoot动态数据源 9.SpringBoot事务控制 10.SpringBoot Shiro 权限管理 11.SpringBoot JDBC访问数据库 12.SpringBoot MyBatis访问数据库 13.SpringCloud分布式配置管理 14.SpringCloud服务注册
了解SpringBoot和SpringCloud框架的结构和作用、掌握SpringBoot如何进行权限管理、熟悉SpringCloud分布式配置的应用、熟悉SpringCloud如何发布服务
MyBatis框架
1.MyBatis体系结构 2.SqlSession的使用 3.MyBatis映射基础 4.DQL 映射,DML映射 5.resultType/resultMap结果映射 6.Mapper映射器 7.MyBatis分页原理和优化 8.高级动态SQL映射 9.多表关联映射 10.Spring和MyBatis整合
掌握mybatis开发环境的搭建、了解mybatis框架体系结构和原理、掌握spring和mybatis的整合应用
SSH框架
1.Struts2结构和控制流程 2.Struts2 Action应用 3.ActionContext和ServletActionContext 4.Aware接口注入 5.Interceptor拦截器原理 6.Interceptor自定义应用 7.内置Result原理 8.常用Result组件原理和使用 9.dispatcher、redirect、chain、redirectAction、stream、json等 10.ValueStack原理和OGNL应用 11.Struts2 标记库、Struts2 扩展 12.Struts2和Spring整合应用 13.Hibernate Session API 14.Hibernate实体映射技术 15.Hibernate 关联映射技巧 16.HQL查询、Criteria查询、Native SQL查询 17.延迟加载、持久化、缓存技术 18.SSH整合应用
熟悉struts2结构原理和处理流程、了解valuestack组件的结构和原理、了解ognl技术在valuestack中的应用、熟悉使用ssh整合技术开发
NoSQL技术
1.Redis原理 2.Redis命令 3.Java Redis API 4.Redis 字符串操作命令 5.Redis 哈希操作命令 6.Redis列表操作命令 7.Redis集合操作命令 8.Redis 有序集合操作命令 9.Redis事务处理、备份和恢复 10.Redis消息发布系统 11.Redis分布式环境 12.MongoDb原理 13.MongoDb命令 14.Java MongoDb API 15.MongoDb排序、索引 16.MongoDb备份恢复
了解nosql概念熟悉主流技术和使用环境的区别、熟练掌握项目中如何使用redis做缓存、了解mongodb特点和使用环境、了解对mongodb的管理和维护
第四阶段内容 企业项目实战
主要内容
涉及技术知识点
完成目标
开发平台和运行环境
1.Linux/Window7 2.Eclipse 3.Nginx 4.Tomcat 5.JDK 6.Orcale/Mysql 7.MEVEN
熟悉Linux和window操作系统应用、熟悉eclipase安装和使用、掌握jdk的安装和使用、掌握数据库的安装管理和使用
主流Java技术
1.Srping 2.MyBatis 3.Structs2 4.Hibernate 5.NoSql 6.HTML5 7.CSS3 8.Bootstrap 9.Ajax 10.多功能组件 11.多种前段组件
掌握ssm框架整合应用、掌握缓存应用、掌握制作前段界面、掌握使用其他组件实现文件上传日志处理连接池等等
常用扩展技术
1.WebService 2.Axis2/CXF创建、发布 3.CXF与Spring集成 4.ActiveMQ消息总线 5.activiti工作流 6.jfreechart图表 7.JasperReport报表技术 8.lucene引擎 9.bbo分布式架构 10.第三方支付平台 11.第三方短信平台
掌握webservice服务调用、了解第三支付平台、短信平台等掌握java对第三支付平台、短信平台调用等掌握对bbo架构平台的应用
❼ C#怎么监听ActiveMq连接异常
JMS 程序的最终目的是生产和消费的消息能被其他程序使用,JMS 的 Message 是一个既简单又不乏灵活性的基本格式,允许创建不同平台上符合非JMS 程序格式的消息。
Message 由消息头,属性和消息体三部份组成。
Active MQ支持过滤机制,即生产者可以设置消息的属性(Properties),该属性与消费者端的Selector对应,只有消费者设置的selector与消息的Properties匹配,消息才会发给该消费者。Topic和Queue都支持Selector。
示例代码
[csharp] view plain print?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Apache.NMS;
using System.Diagnostics;
using Apache.NMS.Util;
using System.Windows.Threading;
/*
* 功能描述:C#使用ActiveMQ示例
* 修改次数:2
* 最后更新: by Kagula,2012-07-31
*
* 前提条件:
* [1]apache-activemq-5.4.2
* [2]Apache.NMS.ActiveMQ-1.5.6-bin
* [3]WinXP SP3
* [4]VS2008 SP1
* [5]WPF工程 With .NET Framework 3.5
*
* 启动
*
* 不带安全控制方式启动
* [你的解压路径]\apache-activemq-5.4.2\bin\activemq.bat
*
* 安全方式启动
* 添加环境变量: ACTIVEMQ_ENCRYPTION_PASSWORD=activemq
* [你的解压路径]\apache-activemq-5.4.2\bin>activemq xbean:file:../conf/activemq-security.xml
*
* Active MQ 管理地址
* http://127.0.0.1:8161/admin/
* 添加访问"http://127.0.0.1:8161/admin/"的限制
*
* 第一步:添加访问限制
* 修改D:\apache\apache-activemq-5.4.2\conf\jetty.xml文件
* 下面这行编码,原
* <property name="authenticate" value="true" />
* 修改为
* <property name="authenticate" value="false" />
*
* 第二步:修改登录用户名密码,缺省分别为admin,admin
* D:\apache\apache-activemq-5.4.2\conf\jetty-realm.properties
*
* 用户管理(前提:以安全方式启动ActiveMQ)
*
* 在[你的解压路径]\apache-activemq-5.4.2\conf\credentials.properties文件中修改默认的用户名密码
* 在[你的解压路径]\apache-activemq-5.4.2\conf\activemq-security.xml文件中可以添加新的用户名
* e.g. 添加oa用户,密码同用户名。
* <authenticationUser username="oa" password="oa" groups="users,admins"/>
*
* 在[你的解压路径]\apache-activemq-5.4.2\conf\activemq-security.xml文件中你还可以设置指定的Topic或Queue
* 只能被哪些用户组read 或 write。
*
*
* 配置C# with WPF项目
* 项目的[Application]->[TargetFramework]属性设置为[.NETFramework 3.5](这是VS2008WPF工程的默认设置)
* 添加[你的解压路径]\Apache.NMS.ActiveMQ-1.5.6-bin\lib\Apache.NMS\net-3.5\Apache.NMS.dll的引用
* Apache.NMS.dll相当于接口
*
* 如果是以Debug方式调试
* 把[你的解压路径]\Apache.NMS.ActiveMQ-1.5.6-bin\build\net-3.5\debug\目录下的
* Apache.NMS.ActiveMQ.dll文件复制到你项目的Debug目录下
* Apache.NMS.ActiveMQ.dll相当于实现
*
* 如果是以Release方式调试
* 参考上文,去取Apache.NMS,Release目录下相应的DLL文件,并复制到你项目的Release目录下。
*
*
* 参考资料
* [1]《C#调用ActiveMQ官方示例》 http://activemq.apache.org/nms/examples.html
* [2]《ActiveMQ NMS下载地址》http://activemq.apache.org/nms/activemq-downloads.html
* [3]《Active MQ在C#中的应用》http://www.cnblogs.com/guthing/archive/2010/06/17/1759333.html
* [4]《NMS API Reference》http://activemq.apache.org/nms/nms-api.html
*/
namespace testActiveMQSubscriber
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
private static IConnectionFactory connFac;
private static IConnection connection;
private static ISession session;
private static IDestination destination;
private static IMessageProcer procer;
private static IMessageConsumer consumer;
protected static ITextMessage message = null;
public Window1()
{
InitializeComponent();
initAMQ("MyFirstTopic");
}
private void initAMQ(String strTopicName)
{
try
{
connFac = new NMSConnectionFactory(new Uri("activemq:failover:(tcp://localhost:61616)"));
//新建连接
//connection = connFac.CreateConnection("oa","oa");//设置连接要用的用户名、密码
//如果你要持久“订阅”,则需要设置ClientId,这样程序运行当中被停止,恢复运行时,能拿到没接收到的消息!
connection.ClientId = "testing listener";
connection = connFac.CreateConnection();//如果你是缺省方式启动Active MQ服务,则不需填用户名、密码
//创建Session
session = connection.CreateSession();
//发布/订阅模式,适合一对多的情况
destination = SessionUtil.GetDestination(session, "topic://" + strTopicName);
//新建生产者对象
procer = session.CreateProcer(destination);
procer.DeliveryMode = MsgDeliveryMode.NonPersistent;//ActiveMQ服务器停止工作后,消息不再保留
❽ 参加java培训,怎样的课程设置才合理
IT培训网java培训遵循5R标准,结合自身技术和经验优势,设置了最合理也最符合市场需求的一系列课程,下面是java培训课程大纲的主要内容:
第一阶段:小型桌面应用开发
阶段目的:掌握Java语言的语法、理解面向对象的编程思想,能够熟练使用Java语言开发小型桌面应用。
1. 基础技能训练
a. 操作系统与网络基础: 学习Windows及Linux系统的安装和使用等,能够熟练使用Windows和Linux的常用命令,掌握使用技巧及网络管理。
b. Java面向对象程序设计: 学习Java语言特点、Java类的结构、Java开发运行环境搭建、Java数据类型、流程控制、数组的使用、关联关系、继承关系、方法覆盖、多态性、Object类、接口、Java注解、枚举、异常处理、断言等,熟练掌握Java基本语法与特性,理解面向对象编程思想。
c. Java核心编程:学习Java集合类及常用数据结构和算法、Java程序的加载运行原理与过程、文件系统管理和文件操作API、日期时间处理API、反射API等,掌握Java多线程并发应用的开发,快速提高Java程序设计能力。
d. Java网络编程: 学习不同网络协议的特征与适用领域、Socket/UDP/HTTP编程,掌握Java网络编程技巧。
2. 项目实战
企业IM系统设计
第二阶段:中小型网站应用开发
阶段目的:掌握数据库设计与开发技能,熟练使用JavaEE组件技术开发中小型网站应用。
1. 数据库
Oracle数据库管理及开发:学习表、视图、存储过程等对象创建、修改、删除和数据操作、常用的查询、分组、子查询、连接查询、排序等SQL语句、数据库安装、数据库管理等,能够熟练使用Oracle数据库进行开发,能够编写正确并高效的SQL语句。
2. UI开发
a. Web页面开发基础:学习HTML、CSS、DOM、Java等Web页面开发核心技术,掌握最常用的Web页面开发技巧与技能,了解常见的JS、CSS三方库。
b. XML:学习XML文件的作用、XML文件的验证、解析XML文件,能够熟练使用XML进行数据封装及传输。
c. Ajax:学习Ajax基本概念、运行机制、JSON,掌握Ajax跨域访问的方式,能够使用Ajax技术进行异步通讯、局部刷新等编程。
3. JavaEE组件开发
a. JSP:学习JSP的本质、JSP的运行过程、JSP中常用的脚本、隐含对象、EL表达式、JSTL标签、自定义标签、异常处理等,能够熟练使用JSP开发动态页面。
b. Servlet:学习Servlet的概念、Servlet开发及部署、Servletd访问、Servlet的基本特性、Servlet生命周期、Session、Filter、Listener、常见应用服务器的安装、配置及管理、文件上传下载、服务器消息推送等,掌握WEB环境中的会话跟踪技术,能够熟练使用Servlet开发MVC模式的服务器端组件,了解MVC模式开发中的重复提交等注意事项。
c. JDBC:基于Oracle/MySQL数据库,学习JDBC基本特性、高级特性、事务、并发控制、数据库连接池的实现原理及配置方法,能够熟练使用JDBC进行数据库访问封装。
4. 框架技术
a. Struts 2.0:学习Struts2的基本概念、工作流程、运行原理、控制器启动顺序、OGNL表达式、拦截器、自定义拦截器、数据封装、类型转换、action组件、result组件、struts标签、ModelDriven拦截器、i18n国际化、token令牌、文件上传等,熟练使用Struts框架进行MVC编程。
b. Hibernate 学习Hibernate框架的实现原理、运行流程、Hibernate持久化概述、持久化对象及配置、操纵持久化对象、一对多关联、一对一双向关联、多对多关联、Hibernate检索策略、Hibernate检索方式、配置连接池、二级缓存等,熟练使用hibernate框架进行持久层编程。
c. Spring:学习Spring框架实现原理、依赖注入控制反转、面向切面的编程、声明式事务、编程事务、整合JDBC、整合Hibernate、整合Struts等,熟练使用Spring框架进行整合。
d. Spring MVC:学习SpringMVC的基本概念、运行流程、工作机制、handlerMapping、控制器、基于注解控制器、ModelAndView、ViewResolver、异常处理、拦截器、数据传递、国际化、类型转换、验证,熟练使用Spring MVC进行MVC编程。
e. myBatis:学习myBatis基本概念、工作机制、运行流程、配置数据源、typeHandlers元素、plugin元素、select元素、insert元素、update元素、delete元素、sql元素、resultMap元素、cache元素、逻辑判断元素、trim、where、set元素、foreach元素等,熟练使用myBatis框架整合Spring进行数据层编程。
5. WEB项目实战
物流运作管理系统(LES),电力营销管理信息系统,轨道交通业务管理系统等等
第三阶段:软件工程工业实践
阶段目的:熟悉软件工程流程及规范,使用以前三个阶段所学的技能,进行软件工程工业实践。
1. 软件工程方法论
软件需求分析、UML、面向对象分析与设计、设计模式、软件体系架构、软件开发过程管理
2. 软件工程项目实战
以5人小组为单位,采用IT培训网国际标准项目流程,完成烟草专卖管理系统,城市通卡业务管理系统,制造企业生产执行系统(MES)等等。
第四阶段:职业素质培养及就业
阶段目的:提高团队协作能力、职业道德、沟通能力和面试技巧,成功面试,成为标准IT职业人
1. 职业素质培养
a. 职业道德:以拓展训练的方式培养学生的团队协作、交流和沟通能力、制作PPT和演讲等能力。
b. 项目经理座谈:邀请国内外知名企业的项目经理与学生座谈、及时了解企业对人才真实的需求和要求、知己知彼、百战不殆。
c. 面试技能:由公司工作多年的人力资源总监指导学生编写简历、进行模拟面试、提高面试能力。
2. 就业
由在各大猎头公司工作多年经验丰富的老师对大家进行工作推荐、顺利就业。
❾ java培训都有哪些课程
Java语言基础
1.Java基本概念
2.Java环境搭建
3.搭建Eclipse开发环境
4.基本类型
5.变量,运算符,表达式
6.分支语句,循环语句
7.数组,数组应用,行业规范。
8.双色球抽奖程序,实现权限管理命令
Java面向对象
1.类、对象、属性、方法、构造器
2.封装、继承、多态
3.重写、重载
4.访问权限控制符
5.this和super、static、final
6.抽象类和接口,内部类
7.单例设计模式
8.模板设计
JavaSE核心类库
1.Java核心类
2.Java字符串、日期处理
3.包装类、集合、数据结构
4.异常和异常处理
5.Java IO、NIO、多线程编程
6.线程同步机制、并发包
7.JAVA网络编程
8.Java泛型
9.Java反射机制
Java分析与设计
1.设计原则
2.设计模式
3.常见算法
4.Java8新特性
5.Maven使用
6.SVN版本管理
数据库开发
1.Oracle安装和管理
2.SQL语句
3.SQL语句原理
4.SQL语句优化
5.表、表设计原则
6.视图、序列、索引
7.Oracle数据字典
8.Oracle 数据库PL/SQL开发
9.存储过程、触发器、游标等
10.数据库设计原则
11.SQL优化技巧和原则
12.MySQL数据库安装
13.MySQL数据库维护
14.MySQL集群和读写分离
Web前端技术
1.XML语法、DTD和Schema
2.XML解析,DOM/SAX/DOM4J
3.XPATH技术应用
4.HTML5(H5)基本文档结构
5.标题、图片标记、链接、列表、表格标记
6.表单标记
7.CSS基础语法
8.CSS文本、列表、表格样式
9.CSS盒子模型
10.CSS浮动布局、定位
11.JavaScript语言基础
12.JavaScript闭包和自执行
13.JavaScript DOM编程
14.JavaScript事件模型
15.Window对象模型
16.HTML5画布、Web存储
17.地理定位、音频/视频、拖放
18.WebSocket技术等
19.CSS3边框、背景、文本效果
20.CSS3字体、动画等
JDBC技术
1.JDBC 核心API
2.CRUP操作
3.Statement应用
4.PreparedStatement应用
5.预防SQL注入攻击
6.事务安全控制
7.数据库高并发控制
8.批处理技术
9.DAO封装模式
10.dbcp、c3p0等连接池应用
jQuery技术
1.基本语法
2.选择器
3.元素选择
4.属性操作
5.文档操作
6.CSS操作
7.动画效果
8.jQuery 插件
easyUI/Bootstrap/AJAX前端框架
1.Menu菜单
2.Layout布局、Panel面板
3.Tabs 标签页
4.Progressbar进度条
5.Tooltip提示框、Searchbox搜索框
6.Pagination 分页、Draggable可拖动
7.Tree树、Datagrid 数据网格
8.消息框、对话框
9.日历、日期时间、Slider滑块
10.Treegrid树形网格
11.Linkbutton 链接按钮
12.Bootstrap CSS
13.Bootstrap布局组件、Bootstrap插件
14.Bootstrap编辑器
15.highcharts图表组件
16.Ajax作用和原理
17.XMLHttpRequest对象
18.Ajax设计模式
19.JSON技术及Ajax应用
20.jQuery与Ajax技术
JSP & Servlet技术
1.Tomcat配置和部署
2.Servlet生命周期
3.Servlet编写规范和配置
4.中文接收乱码处理
5.Servlet过滤器和监听器
6.Servlet+DAO工厂模式应用
7.JSP 基本语法
8.JSP标记应用
9.JSP内置对象request、session、application、exception等
10.JSTL和 EL表达式
11.JSP新特性
12.MVC设计模式
Spring框架
1.Spring IOC概念
2.ApplicationContext\Factory
Bean
3.IOC对象创建和生命周期
4.IOC注入技巧
5.对象高级装配
6.组件扫描特性
7.Spring JDBC支持
8.Spring 事务及安全管理
9.Spring MVC框架
10.Spring国际化
11.RESTFUL 技术
12.SpringAOP原理、AspectJ
13.Spring Security
14.Spring整合Shiro
SpringBoot/SpringCloud框架
1.SpringBoot Servlet
2.SpringBoot过滤器
3.SpringBoot监听器
4.SpringBoot拦截器
5.SpringBoot启动加载
6.SpringBoot数据库连接
7.SpringBoot多数据源
8.SpringBoot动态数据源
9.SpringBoot事务控制
10.SpringBoot Shiro 权限管理
11.SpringBoot JDBC访问数据库
12.SpringBoot MyBatis访问数据库
13.SpringCloud分布式配置管理
14.SpringCloud服务注册
MyBatis框架
1.MyBatis体系结构
2.SqlSession的使用
3.MyBatis映射基础
4.DQL 映射,DML映射
5.resultType/resultMap结果映射
6.Mapper映射器
7.MyBatis分页原理和优化
8.高级动态SQL映射
9.多表关联映射
10.Spring和MyBatis整合
SSH框架
1.Struts2结构和控制流程
2.Struts2 Action应用
3.ActionContext和ServletActionContext
4.Aware接口注入
5.Interceptor拦截器原理
6.Interceptor自定义应用
7.内置Result原理
8.常用Result组件原理和使用
9.dispatcher、redirect、chain、redirectAction、stream、json等
10.ValueStack原理和OGNL应用
11.Struts2 标记库、Struts2 扩展
12.Struts2和Spring整合应用
13.Hibernate Session API
14.Hibernate实体映射技术
15.Hibernate 关联映射技巧
16.HQL查询、Criteria查询、Native SQL查询
17.延迟加载、持久化、缓存技术
18.SSH整合应用
NoSQL技术
1.Redis原理
2.Redis命令
3.Java Redis API
4.Redis 字符串操作命令
5.Redis 哈希操作命令
6.Redis列表操作命令
7.Redis集合操作命令
8.Redis 有序集合操作命令
9.Redis事务处理、备份和恢复
10.Redis消息发布系统
11.Redis分布式环境
12.MongoDb原理
13.MongoDb命令
14.Java MongoDb API
15.MongoDb排序、索引
16.MongoDb备份恢复
企业开发扩展技术
1.WebService
2.Axis2/CXF创建、发布
3.CXF与Spring集成
4.ActiveMQ消息总线
5.activiti工作流
6.jfreechart图表
7.JasperReport报表技术
8.lucene引擎
9.bbo分布式架构
10.第三方支付平台
11.第三方短信平台
❿ activemq 每秒接收多少消息
您好,过滤filterserverStringuuid=UUID.randomUUID().toString();msg.setStringProperty("uuid",uuid);Stringfilter="JMSCorrelationID='"+uuid+"'";QueueReceiverreceiver=session.createReceiver(responseQueue,filter);clientresponseMsg.setJMSCorrelationID(msg.getStringProperty("uuid"));