2
A
回答
0
回调是您在EJB(或容器的生命周期)的特定位置执行自定义代码的主要机会。
所以,举个例子,你要初始化特定字段或组件
- 内的EJB,
- 后的EJB已被实例化,但
- 才开始以服务请求
您'将执行@PostConstruct
回调方法。用这个方法注释的方法是向JavaEE运行时发布的广告,该方法必须在创建该类的实例后立即运行。此注释的常见用法是将类级别的变量安装或准备共享资源。
JavaEE规范已经将诸如此类的几个注释指定为生命周期回调。这意味着在启动时,容器知道要扫描部署工具包中是否存在实现任何可用回调的工件。这样做时,它知道通知感兴趣的组件(EJB,CDI组件,JAX-WS bean实现)特定事件,或者在应用程序服务器中发生特定操作时调用特定方法。
回拨机制本身的回调模式的实现(或事件驱动编程,如果你从一个UI编程世界未来)
延伸阅读:
0
正式定义
回调是由企业Bean的生命周期可以拦截机制。
一个实际的例子
我想一个例子可以帮助炫耀这些回调标注的实用性。我们来看看@PreDestroy
的回调。从EJB上的JBoss文档中,我们可以看到:
PreDestroy - 当bean从池中删除或销毁时调用。
而且你有一个拥有某种文件资源的Bean。你想确保当Bean被销毁时,该文件锁定与它一起。那么,我们知道等待垃圾收集者为我们处理这些事情是“冒险的”做法;我们不知道它何时会运行。
但是我们可以做的是放置一些当bean被移除时调用的逻辑。
@PreDestroy
public void cleanUp() {
// Clean up your FileOutputStreams etc.
}
在你的bean中,很明显的是这个方法在bean被销毁时执行,并且它不需要额外的代码。这可以确保在bean被销毁时清理资源。
相关问题
- 1. 什么是仿函数,为什么我们需要它们?
- 2. 装配需要什么?为什么我们使用它们?
- 3. Windows上的Spark - 什么是winutils,为什么我们需要它?
- 4. 什么是伴侣对象,为什么我们需要它?
- 5. ELF文件 - 什么是部分,为什么我们需要它?
- 6. 什么是R中的因子,为什么我们需要它
- 7. Maven快照究竟是什么,为什么我们需要它?
- 8. 什么是mcrypt,为什么和我们需要它在哪里?
- 9. 模型中有什么?为什么我们需要使用它
- 10. DavLockDB:我们需要什么?
- 11. C#代表,为什么我们需要它们?
- 12. 什么是OWASP?为什么我们需要这个?
- 13. 什么是__i686.get_pc_thunk.bx?我们为什么需要这个电话?
- 14. 什么是jquery noConflict,为什么我们需要这个?
- 15. 为什么我们需要的unitName在PersistenceContext注入在EJB
- 16. 为什么我们需要fieldset标签?
- 17. 为什么我们需要RIA?
- 18. 为什么我们需要extern?
- 19. 为什么我们需要.htaccess的worpdress?
- 20. 为什么我们需要IAudioRenderClient接口
- 21. 为什么我们需要使用ExitWindowsEx
- 22. 为什么我们需要simple_one_for_one?
- 23. 为什么我们需要9补丁?
- 24. 为什么我们需要在JavaScript
- 25. 我们为什么需要纤维
- 26. 为什么我们需要BeginGetResponse和BeginRead?
- 27. 为什么我们需要包装类
- 28. 为什么我们需要使用prompt.start()?
- 29. 为什么我们需要时代?
- 30. 为什么我们需要TensorFlow tf.Graph?