java 事件通告写法
2016-03-18 16:08
537 查看
使用场景:
自己模块发生变化后可能引起其他模块变化的部分,需要添加事件通告,通知其他模块。
使用模式:
观察者模式
(以User类为例)写法:
1.创建接口:
2.创建notify处理类
3.进阶-可以扔到jms消息队列中。
自己模块发生变化后可能引起其他模块变化的部分,需要添加事件通告,通知其他模块。
使用模式:
观察者模式
(以User类为例)写法:
1.创建接口:
public interface IUserChangeListener { void delListener(User user); }
2.创建notify处理类
@Component("userChangeNotify") public class UserChangeNotify { private static Logger LOG = LoggerFactory.getLogger(UserChangeNotify.class); @Resource UserService service; @Autowired(required=false) private List<IUserChangeListener> listeners; @Async public void notifyDel(List<Integer> ids) { List<User> users = service.selectUsers(ids); for(IUserChangeListener listener : listeners) { try { listener.delListener(users); } catch (Exception e) { LOG.error(ExceptionHelp.buildStackTrace(e)); } } } }
3.进阶-可以扔到jms消息队列中。
相关文章推荐
- [Java代码] 分享代码片段:将指定位置的war包加入classpath的classloader实现
- java导出大量的excel
- java反转单链表
- SPRING中的线程池ThreadPoolTaskExecutor
- Java第二次作业参考代码
- springMVC系列之(四) spring+springMVC+hibernate 三大框架整合
- 自己封装的POI + Struts2 实现Excel导出工具包
- springMVC系列之(三) spring+springMVC集成(annotation方式)
- Java第三次作业
- [Java代码] 快速上手JFinal
- SpringMVC系列之(二) springMVC和Struts异同
- java 中E T ?使用
- MyEclipse8.5整合Git (转)
- Java 使用stringTemplate导出大批量数据excel(百万级)
- org.eclipse.swt.SWTError: No more handles解决方法
- SpringMVC系列之(一) 入门实例
- [Java代码] JAVA 虚拟机类加载机制和字节码执行引擎
- java.lang.UnsatisfiedLinkError: Couldn't load vi_voslib from loader dalvik.system.PathClassLoader
- [Java代码] [Leetcode] Number of Islands 岛屿个数
- Spring Security(05)——异常信息本地化