摘要:
这里单独列出来我也是觉得有点必要的,毕竟JMS总体知识点并不多,这点可能被很多人所忽视.首选定义:消息的确认是指消息接受者接到消息,并做出了对应的处理之后,它将回送一个确认消息.对于非事务性会话,创建会话时应该指定确定方式,JMS定义了3种确认方式:JMS确认3种方式Auto_ACKnowledge自动通知.对于同步消费者,Receive方法调用返回,且没有异常发生时,将自动对收到的消息予以确认.对于异步消息,当onMessage方法返回,且没有异常发生时,即对收到的消息自动确认.Client_AcKnowledge客户端自行决定通知时机这种方式要求客户端使用javax.jms.Message 阅读全文
2013年7月1日 #
摘要:
1.PTP模型PTP(Point-to-Point)模型是基于队列(Queue)的,对于PTP消息模型而言,它的消息目的是一个消息队列(Queue),消息生产者每次发送消息总是把消息送入消息队列中,消息消费者总是从消息队列中读取消息.先进队列的消息将先被消息消费者读取.发送方发消息到队列,接收方从队列接收消息,队列的存在使得消息的异步传输成为可能。和邮件系统中的邮箱一样,队列可以包含各种消息,JMS Provider 提供工具管理队列的创建、删除。JMS PTP 模型定义了客户端如何向队列发送消息,从队列接收消息,浏览队列中的消息.第一节中的代码就是PTP模型的.下面的表格中的就是PTP模型的 阅读全文
摘要:
JMS全称是Java Message Service.其是JavaEE技术规范中的一个重要组成部分,是一种企业消息处理的规范.它的作用就像一个智能交换机,它负责路由分布式应用中各个组件所发出的消息.JMS提供了一组通用的Java API,开发者可以通过API来 创建,发送,接收,读取 消息.JMS是一种和具体实现厂商无关的API.它的作用类似于JDBC.不管底层采用何种消息服务器的实现,应用程序总是面向通用的JMS API编程.用的比较多的是apache的ActiveMQ,以前浮皮开发过ActiveMQ.了解不深,但这个总体国内用的还是非常多的.现在公司采用的都是JBOSS那帮家伙的一套东西, 阅读全文
摘要:
今天的任务就是在一台新的服务器上继续部署activemq。其实都蛮简单的.首先先下载包:115U盘下载2 上传到linux下的某个文件夹下。解压缩tar -zxvf apache-activemq-5.5.1-bin.tar.gz3 配置持久化修改conf的activemq.xml文件在broker的同级目录下增加如下节点 >然后在 的下面增加 4 今天我的时间基本上耗在这步由于忽略了这步,又不报错,又启动不了 郁闷。就是吧oracle的驱动包copy到activemq目录的lib下。5 到bin目录下 使用 ./activemq start 启动大功告成!!!! 阅读全文
2013年6月24日 #
摘要:
本文的起因源于一次quartz的异常,在win2003正常运行的程序放在linux环境就抛出异常了,虽然找出异常没花我多长时间,不过由此加深了对quzrtz的了解;古人说,三折肱,为良医,说明经验对于我们平时开发的重要。quartz是一个任务调度框架,对于开发者而言通常是透明的,如果不熟悉内部机制,碰到问题往往会束手无策;接下来本人本着开放的精神,来阐述本人对quartz的理解。本人是采用spring对quartz封装的实现,spring的org.springframework.scheduling.quartz.SchedulerFactoryBean类用于初始化Scheduler对象并启动 阅读全文
摘要:
转载 http://blog.csdn.net/cutesource/article/details/6192163最后我们再看看NIO方面最著名的框架Mina,抛开Mina有关session和处理链条等方面的设计,单单挑出前端网络层处理来看,也采用的是与Jetty和Tomcat类似的模式,只不过它做了些简化,它没有隔开请求侦听和请求处理两个阶段,因此,宏观上看它只分为两个阶段。先看看它的类图:其中:SocketAcceptor起线程调用SocketAcceptor.Work负责新连接侦听,并交给SocketIoProcessor处理SocketIoProcessor起线程调用SocketIo 阅读全文
摘要:
本文转载自 http://blog.csdn.net/cutesource/article/details/6192145下面再来看看Tomcat是如何使用NIO来构架Connector这块的。先看看Tomcat Connector这块的类图:其中:NioEndpoint负责组装各部件Acceptor负责监听新连接,并把连接交给PollerPoller负责监听所管辖的channel队列,并把请求交给SocketProcessor处理SocketProcessor负责数据处理,并把请求传递给后端业务处理模块在整个服务端处理请求的过程可以分为三个阶段,时序图如下所示:阶段一:监听并建立连接这一阶段 阅读全文
摘要:
本文转载自http://blog.csdn.net/cutesource/article/details/6192016如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty、Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式,并基于这种模式写了个小小网络服务器,压力测试了一下,效果还不错。废话不多说,先看看三者是如何使用NIO的。Jetty Connector的实现先看看有关类图:其中:SelectChannelConnector负责组装各组件SelectSet负责侦听客户端请求SelectChan 阅读全文
2013年6月22日 #
摘要:
目录信息检索的概念信息检索技术的分类全文检索与数据库查询对比全文检索工具一般由三部分构成全文检索中建立索引和进行检索的流程索引里面究竟存什么如何创建索引如何对索引进行检索Lucene系统结构与源码组织图Lucene索引文件的概念组成和结构组成1、信息检索的概念信息检索就是从信息集合中找出与用户需求相关的信息。被检索出的信息除了文本外,还有图像、音频、视频等多媒体信息。2、信息检索技术的分类目前信息检索技术可分为3类:全文检索:把用户的查询请求和全文中的每一个词进行比较,不考虑查询请求与文本语义上的匹配。在信息检索工具中,全文检索是最具通用性和实用性的。数据检索:查询要求和信息系统中数据都遵循一 阅读全文
摘要:
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。Java NIO出现不只是一个技术 阅读全文