# Event事件使用
事件发布提供两种方式 事件监听提供一种方式
# 一. 注解式
- 事件发布
@Send("command-1") 表示发布了一条ID为 command-1 的事件 事件内容为 return内容 可接收事件内容为Object类型,即任何类型
@Send("command-1")
@RequestMapping("/event")
public String test() {
return "发布了一个事件"; //比如这个地方可以返回一个user对象
}
- 事件监听
- 事件监听需要实现AbstractEventHandler接口
- @Consumer("command-1") 监听Id为command-1 的事件 此时是一个同步监听
- 若注解 @Consumer(value = "command-1", async = true) 表示异步监听
@Consumer("command-1")
@Component
public class ConsumerHandler1 implements AbstractEventHandler {
@Override
public void onEvent(IEventDisruptor eventDisruptor, long l, boolean b) {
IEventMessage eventMessage = eventDisruptor.getEventMessage();
Object eventSource = eventMessage.getEventSource(); // 此处为事件发布时return的值
Assert.assertEquals("发布了一条命令",eventSource); //测试代码忽略
}
}
# 二.代码式
- 事件发布
@Resource
private EventPublish eventPublish; //装配事件发布类
public void saveUser() {
User user = new User();
user.setId("1111");
eventPublish.publish(user, "command-1");//user 为事件内容,command-1为事件Id
}
- 事件监听
只有注解式,同上
# TS框架中使用到的事件
# 缓存发布事件
使用IConstants中的常量
// ehcache发布集群同步事件
String CACHEEVENT_CLUSTER = "cache_event_cluster_lister"
// 发布注册中心事件(更新缓存版本号和更新时间)
String CACHEEVENT_REGISTER = "cache_event_register_lister";
# 登录发布事件
使用IConstants中的常量
// 登录成功事件
String LOGIN_EVENT_ID = "login_success";
// 退出成功事件
String LOGOUT_EVENT_ID = "logout_success";
// 登录失败事件
String LOGIN_FAIL_EVENT_ID = "login_fail";
// 访问受限事件(未登录)
String ACCESS_FAIL_EVENT_ID = "event_access_fail";
# 组织相关事件
使用OrgEventConstant中的常量
/**
* 事件:新增组织
*/
String ORG_ADD = "ORG_ADD";
/**
* 事件:更新组织
*/
String ORG_UPDATE = "ORG_UPDATE";
/**
* 事件:批量删除组织
*/
String ORG_BATCH_DELETE = "ORG_BATCH_DELETE";
/**
* 事件:删除组织
*/
String ORG_DELETE = "ORG_DELETE";
/**
* 事件:批量禁用组织
*/
String ORG_BATCH_DISABLED = "ORG_BATCH_DISABLED";
/**
* 事件:批量启用组织
*/
String ORG_BATCH_ENABLE = "ORG_BATCH_ENABLE";
# 人员相关事件
使用UserEventConstant中的常量
// 新增人员
String USER_ADD = "USER_ADD";
// 修改人员
String USER_UPDATE = "USER_UPDATE";
// 批量删除人员
String USER_DELETE_BATCH = "USER_DELETE_BATCH";
// 批量启用人员
String USER_ENABLE_BATCH = "USER_ENABLE_BATCH";
// 批量禁用人员
String USER_DISABLE_BATCH = "USER_DISABLE_BATCH";
// 批量解锁人员
String USER_UNLOCK_BATCH = "USER_UNLOCK_BATCH";
// 管理员重置人员密码
String USER_PW_UPDATE_ADMIN = "USER_PW_UPDATE_ADMIN";
// 修改人员密码
String USER_PW_UPDATE = "USER_PW_UPDATE";
// 修改人员所属组织
String USER_ORG_UPDATE = "USER_ORG_UPDATE";
使用IConstant中的常量
// 密码修改成功
String MODIFY_PWD_EVENT_ID = "modify_pwd_success";
// 密码修改失败
String MODIFY_PWD_FAIL_EVENT_ID = "modify_pwd_fail";
# 角色事件
使用RoleAuthorityConstant中的常量
/**
* 事件:添加角色
*/
String ROLE_ADD = "ROLE_ADD";
/**
* 事件:修改角色
*/
String ROLE_UPDATE = "ROLE_UPDATE";
/**
* 事件:删除角色
*/
String ROLE_DELETE = "ROLE_DELETE";
/**
* 事件:批量删除角色
*/
String ROLE_BATCH_DELETE = "ROLE_BATCH_DELETE";
/**
* 事件:批量禁用角色
*/
String ROLE_BATCH_DISABLED = "ROLE_BATCH_DISABLED";
/**
* 事件:批量启用角色
*/
String ROLE_BATCH_ENABLE = "ROLE_BATCH_ENABLE";
// ************************************代理角色******************************************
/**
* 事件:添加代理角色
*/
String AGENT_ROLE_ADD = "AGENT_ROLE_ADD";
/**
* 事件:修改代理角色
*/
String AGENT_ROLE_UPDATE = "AGENT_ROLE_UPDATE";
/**
* 事件:批量删除代理角色
*/
String AGENT_ROLE_BATCH_DELETE = "AGENT_ROLE_BATCH_DELETE";
// ************************************角色人员******************************************
/**
* 事件:添加角色人员
*/
String ROLE_USER_ADD = "ROLE_USER_ADD";
/**
* 事件:删除角色人员
*/
String ROLE_USER_DELETE = "ROLE_USER_ADD";
/**
* 事件:添加人员角色
*/
String USER_ROLE_ADD = "USER_ROLE_ADD";
/**
* 事件:删除人员角色
*/
String USER_ROLE_DELETE = "USER_ROLE_DELETE";
// ************************************角色权限******************************************
/**
* 事件:添加角色权限
*/
String ROLE_AUTHORITY_ADD = "ROLE_AUTHORITY_ADD";
/**
* 事件:更新角色权限
*/
String ROLE_AUTHORITY_UPDATE = "ROLE_AUTHORITY_UPDATE";
/**
* 事件:批量授权角色权限
*/
String ROLE_AUTHORITY_BATCH_USE_PERMISSION = "ROLE_AUTHORITY_BATCH_USE_PERMISSION";
/**
* 事件:批量收回授权角色权限
*/
String ROLE_AUTHORITY_BATCH_DELETE_USE_PERMISSION = "ROLE_AUTHORITY_BATCH_DELETE_USE_PERMISSION";
/**
* 事件:角色复制角色权限
*/
String ROLE_AUTHORITY_COPY_ROLE = "ROLE_AUTHORITY_COPY_ROLE";
/**
* 事件:角色权限复制角色权限
*/
String ROLE_AUTHORITY_COPY_RESOURCE = "ROLE_AUTHORITY_COPY_RESOURCE";
/**
* 事件:批量更新角色权限
*/
String ROLE_AUTHORITY_BATCH_UPDATE = "ROLE_AUTHORITY_BATCH_UPDATE";
// ************************************管理员权限******************************************
/**
* 事件:管理员组织范围权限新增
*/
String AUTHORITY_ADD_ORG_SCOPE = "AUTHORITY_ADD_ORG_SCOPE";
/**
* 事件:管理员组织范围权限删除
*/
String AUTHORITY_DELETE_ORG_SCOPE = "AUTHORITY_DELETE_ORG_SCOPE";
/**
* 事件:管理员角色新增
*/
String ADMIN_ROLE_ADD = "ADMIN_ROLE_ADD";
/**
* 事件:管理员角色修改
*/
String ADMIN_ROLE_UPDATE = "ADMIN_ROLE_UPDATE";
/**
* 事件:管理员角色批量删除
*/
String ADMIN_ROLE_BATCH_DELETE = "ADMIN_ROLE_BATCH_DELETE";
/**
* 事件:批量启用管理员角色
*/
String ADMIN_ROLE_BATCH_ENABLE = "ADMIN_ROLE_BATCH_ENABLE";
/**
* 事件:批量禁用管理员角色
*/
String ADMIN_ROLE_BATCH_DISABLED = "ADMIN_ROLE_BATCH_DISABLED";
/**
* 事件:管理员权限新增功能菜单权限
*/
String ADMIN_ROLE_CHANGE_RESOURCE_USE_PERMISSION = "ADMIN_ROLE_CHANGE_RESOURCE_USE_PERMISSION";
/**
* 事件:管理员权限授权&再授权
*/
String ADMIN_ROLE_CHANGE_RESOURCE_AUTHORITY = "ADMIN_ROLE_CHANGE_RESOURCE_AUTHORITY";
// ************************************相似权限******************************************
/**
* 事件:相似权限添加
*/
String SIMILAR_AUTHORITY_BATCH_ADD = "SIMILAR_AUTHORITY_BATCH_ADD";