EJB(Enterprise JavaBeans)是Java企业版(Java EE)的一部分,主要用于构建分布式的企业级应用程序。面试中关于EJB的问题通常涉及其基本概念、接口、生命周期方法以及异常处理等方面。以下是一些基于提供的面试题的知识点详解: 1. **EJB接口**: - Session Bean的Home接口必须继承`EJBHome`,Component接口必须继承`EJBObject`。 - 对于本地客户端,Home接口需继承`EJBLocalHome`,Component接口需继承`EJBLocalObject`。 - Session Bean的Bean类需要实现`SessionBean`接口,而Entity Bean的Bean类需实现`EntityBean`接口。 2. **创建方法和异常**: - Session Bean和Entity Bean的Remote Home或Local Home都必须定义`create`方法,这些方法可能抛出`CreateException`。 - Remote Home的`create`方法还会抛出`RemoteException`,EntityBean的`findByPrimaryKey`方法需抛出`FinderException`。 3. **EJB接口方法**: - Session Bean的Home接口可以定义`create`方法。 - Entity Bean的Home接口同样可以定义`create`方法,以及finder方法,用于查找实体对象。 4. **EJBContext**: - `EJBContext`提供了与EJB容器交互的接口,其中包含安全相关的方法如`getCallerPrincipal`和`isCallerInRole`,事务相关的方法如`getRollbackOnly`,EJB组成相关的方法如`getEjbLocalhome`和`getEjbhome`,以及定时服务相关的方法`getTimerService`。 5. **EJB生命周期方法**: - 有状态Session Bean的Bean类中,`ejbActivate()`和`ejbPassivate()`方法用于状态的保存和恢复。 - Entity Bean的Bean类中,`ejbLoad()`和`ejbStore()`方法用于同步内存和数据库的数据。 6. **Entity Bean的生命周期方法与create映射**: - Entity Bean的Home接口中的`create`方法在Bean类中对应的可能是`ejbCreate()`方法。 7. **关系管理**: - Composition关系在级联删除时需要`cascade delete`,而Aggregation关系通常不支持级联删除。 8. **Message-Driven Bean与事务管理**: - 在编写Message-Driven Bean时,为了防止有毒消息,通常采用Container管理事务,不抛出异常,或者只抛出RuntimeException。 9. **资源引用**: - DataSource的引用属于资源注入,通常用于连接数据库,同样适用于TopicConnectionFactory和Queue的引用。 了解并掌握这些EJB的关键概念和细节对于进行EJB面试或开发EJB应用至关重要。EJB提供了标准的组件模型,使得开发者可以专注于业务逻辑,而将分布式处理、事务管理、安全性等复杂问题交给容器处理。在实际工作中,熟练运用EJB能够提高开发效率并保证企业级应用的稳定性和可扩展性。
剩余6页未读,继续阅读
- 粉丝: 1
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助