- 浏览: 244823 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (232)
- 瞎扯两句 (8)
- 操作系统 (5)
- 工作笔记 (33)
- 设计模式 (1)
- java (57)
- Java IDE (7)
- hibernate (17)
- oracle (46)
- ms sql (2)
- spring (9)
- struts2 (0)
- javascript (16)
- java_code (2)
- java之集合 (2)
- java之线程 (4)
- java之IO (4)
- java之虚拟机 (6)
- java之异常 (0)
- EJB (4)
- XML (4)
- 数据结构-算法 (2)
- 架构设计 (5)
- 配置信息 (2)
- 阅读笔记 (6)
- IT专业英语 (1)
- PI (0)
- 单元测试 (1)
最新评论
说明:实现对用户操作的跟踪。
eventTrigger来发送message来实现跨模块,异步处理。
可以提高系统响应速度(只需持久化当前entity的状态,而后续的处理则交给监听器来实现)。
1. 在系统特定位置配置如reg.xml的的配置文件。配置文件描述了模块名,队列名等详细信息。
内容如下
<EVENTTRIGGER MODULE="REG" DETINATION="*********.reg.eventQueue">
<!--REGIF58 REGIF63 start-->
<LISTEN>
<TRIGGER>
<ENTITY>RET</ENTITY>
<EVENT>RET_POST</EVENT>
</TRIGGER>
<INTERFACE>
<IFCODE>REGIF58</IFCODE>
</INTERFACE>
<INTERFACE>
<IFCODE>REGIF63</IFCODE>
</INTERFACE>
</LISTEN>
<!--REGIF58 REGIF63 end-->
</EVENTTRIGGER>
2. 系统启动时,通过EventTriggerRegistry的static方法初始化配置文件。
利用Digester技术将配置解析成EventTriggerRegistry的实例属性,如
this.listens
this.eventTriggers
this.indexedListens
this.indexedStrictlyListens
this.indexedStrictlyListensWithModule
等等。这样,通过EventTriggerRegistry的
getListenersByEvent
getListenersByTrigger
等方法可以知道,对于某种entity,entitycode是否配置了监听器。
3.在业务方法中,通过emgr工具类来进行entity的持久化。
通过分析业务需求,如果需要发送消息,则设置emgr.context.eventCode属性。
这样emgr在持久化的处理中,会根据设置的emgr.context.eventCode属性自动的进行判断是否对于这种entity的这种entitycode进行了监听。如果是,则发送消息,如果没有,则不发送。
4.利用spring,配置各个模块的jms监听器。
监听器持有一个servicecollection,
该servicecollection的Map<key,bean>属性service包含了配置的所有实际监听bean。
<REGIF63,REGIF63>
<REGIF62,REGIF62>
通过单例的EventTriggerRegistry,取得key,(即第一步配置的<IFCODE>REGIF63</IFCODE>),进而取得bean,然后invoke该bean的excute方法。
eventTrigger来发送message来实现跨模块,异步处理。
可以提高系统响应速度(只需持久化当前entity的状态,而后续的处理则交给监听器来实现)。
1. 在系统特定位置配置如reg.xml的的配置文件。配置文件描述了模块名,队列名等详细信息。
内容如下
<EVENTTRIGGER MODULE="REG" DETINATION="*********.reg.eventQueue">
<!--REGIF58 REGIF63 start-->
<LISTEN>
<TRIGGER>
<ENTITY>RET</ENTITY>
<EVENT>RET_POST</EVENT>
</TRIGGER>
<INTERFACE>
<IFCODE>REGIF58</IFCODE>
</INTERFACE>
<INTERFACE>
<IFCODE>REGIF63</IFCODE>
</INTERFACE>
</LISTEN>
<!--REGIF58 REGIF63 end-->
</EVENTTRIGGER>
2. 系统启动时,通过EventTriggerRegistry的static方法初始化配置文件。
利用Digester技术将配置解析成EventTriggerRegistry的实例属性,如
this.listens
this.eventTriggers
this.indexedListens
this.indexedStrictlyListens
this.indexedStrictlyListensWithModule
等等。这样,通过EventTriggerRegistry的
getListenersByEvent
getListenersByTrigger
等方法可以知道,对于某种entity,entitycode是否配置了监听器。
3.在业务方法中,通过emgr工具类来进行entity的持久化。
通过分析业务需求,如果需要发送消息,则设置emgr.context.eventCode属性。
这样emgr在持久化的处理中,会根据设置的emgr.context.eventCode属性自动的进行判断是否对于这种entity的这种entitycode进行了监听。如果是,则发送消息,如果没有,则不发送。
4.利用spring,配置各个模块的jms监听器。
监听器持有一个servicecollection,
该servicecollection的Map<key,bean>属性service包含了配置的所有实际监听bean。
<REGIF63,REGIF63>
<REGIF62,REGIF62>
通过单例的EventTriggerRegistry,取得key,(即第一步配置的<IFCODE>REGIF63</IFCODE>),进而取得bean,然后invoke该bean的excute方法。
发表评论
-
maven 和 sonar的集成
2013-05-22 18:34 985maven 和 sonar的集成 1.须运行 Sonar ... -
观察者/监听器 在 Entity 上的应用
2013-05-09 16:10 6271. 创建 业务Entity 时, 不同的entity可以选 ... -
从spec开始做系统(页面tmplate问题)
2013-04-26 18:12 561好久不做页面了,差点搞不清页面之间的关系。 原来是因为在spe ... -
动态级联列表
2013-04-25 15:17 6661.典型如国家区域省级等。 数据结构: code: ... -
cache 的应用
2013-04-11 18:54 7431. 情境: 在用户注册时,需要注册的信息较多,如需要身份信 ... -
以用户请求为中心的实现
2013-04-10 11:25 8001. 定义抽象GenericRequest类。 该类具有 ... -
记录用户操作历史
2013-04-10 10:30 7221. 异步,通过jms来实现。 2. 容易改造,通过Enti ... -
kettle 应用 2
2013-03-26 18:42 0import org.pentaho.di.core ... -
kettle 应用
2013-03-26 11:57 0目前阶段主要是用kettle做一些数据的导入导出。 遇到的问 ... -
TreeMap 的应用
2013-03-06 18:40 10251. 应用场景。 对于一对多的映射 A --B --C ... -
sonar 安装问题汇总
2013-02-21 15:15 822首先参照 http://www.cnblogs.com/cui ... -
Bat命令学习
2013-02-20 12:11 1009基础部分: ======================== ... -
定时执行bat
2013-02-19 16:38 70501. 需求说明 要求每天定时执行自动化测试。例如每天晚上 ... -
frame 与 iframe 及其区别
2013-02-18 15:09 9511. html5 不支持frame。 2. iframe 可 ... -
tomcat 阅读笔记 3
2013-02-05 16:32 6201. lifesycleListener 是通过在conta ... -
Oracle编程艺术阅读笔记-1
2013-01-24 18:48 8291. 绑定变量。 不使用会产生的影响: 每次运 ... -
servlet怎么控制页面缓存
2013-01-04 21:33 872(转) Html页面中的HTTP ... -
搜索优化,动态页面,静态页面,伪静态页面
2013-01-04 17:56 1095我们经常会看到 , 在地 ... -
note
2012-12-27 18:10 5871. spring的JtaTransactionManage ... -
JTA
2012-12-05 17:35 930要理解 JTA 的实现原理 ...
相关推荐
网络控制 事件触发 节省带宽资源,信号传递能源,降低时延的可能
触发器Triggers、MultiTrggers、EventTrigger应用案例
基于事件触发的多智能体系统的编队控制。事件触发可以解决芝诺效应
请参阅一个实现,该实现公开了用于获取锁的异步和阻塞接口。例子等到另一个线程设置一个布尔标志: use std :: sync :: atomic :: {AtomicBool, Ordering};use std :: sync :: Arc;use std :: thread;use std :: ...
Vert.x最大的特点就在于异步(底层基于Netty),通过事件循环(EventLoop)来调起存储在异步任务队列(CallBackQueue)中的任务,大大降低了传统阻塞模型中线程对于操作系统的开销。因此相比较传统的阻塞模型,异步...
附件包含 list.c list.h event.c 三个测试文件,功能完成简单的事件调用机制,对嵌入式架构来说有一定的优势
多线程异步处理计时器 v0.0.0 基于选择,min_heap,生产者消费者模型使用c语言内置精准定时器 项目初步,还有很多细节需要处理 使用例子 git clone :zxyAcmen / Multittread-timer-event.git cd Multittread-timer...
VC++ 2010 通过Event实现多线程同步
异步按键实现的C代码 关键代码 signed char Key_GetKeyValue(void) { unsigned char i; if (!keyStruct.event[0] && Key0()) { if ((!keyStruct.press[0]) && (keyStruct.dlyCnt[0]++ >= 20)) { keyStruct....
C++Event机制的简单实现
trace_events_trigger - trace event triggers.
event-kit, 实现和使用事件处理程序的简单库 事件工具包 这是一个实现事件订阅api的简单库。实现事件订阅 api{Emitter} = require 'event-kit'class User constructor: -> @emi
Yang2020_Article_Event-trigger-basedConsensusSe.pdf
QT 中 QEvent 和 QKeyEvent事件的处理,其中QEvent包含QKeyEvent和QMouseEvent事件处理,在event中处理QKeyEvent事件将影响单独的QKeyEvent的事件处理函数
EventFlow, 异步/等待第一个CQRS ES和DDD框架用于. NET EventFlow 认为EventFlow很棒给我买一杯 Coffee 。EventFlow是一个基本的CQRS ES框架,易于使用。请看我们的入门指南,和do和 FAQ 。特性
WPF的一组可扩展性黑客。 一些有趣的触发器和动作,包括EventTrigger,ReactiveTrigger,InvokeMethodAction和InvokeCommandAction。 还允许根据条件调用触发器和动作。
一个函数实现异步高并发服务器 fcntl( sock_client, F_SETFL, flag ); tobe_event.events = EPOLLIN | EPOLLET; tobe_event.data.u32 = my_empty_index; epoll_ctl( epfd, EPOLL_CTL_ADD, sock_client, &tobe_event ...
unity UI eventsystem事件扩展类,可检测UI是否被触发。。。
EventHandler:消费者,代表Disruptor框架中的一个消费者接口,由用户实现代码,负责处理Event数据,进度通过Sequence控制。 (打个比方:餐饮店买奶茶 你去餐饮店买奶茶,先要去柜台找服务员点一杯红豆抹茶,...
zend-eventmanager, 实现事件系统,信号插槽,拦截过滤器和观察者 zend zend-eventmanager是针对以下用例设计的:实现简单的主题/观察者模式。实现面向方面设计。实现事件驱动架构。基本架构允许你在每个实例基础上...