这阵子在项目里面用EJB3做一个数据同步的功能,在开发过程中那个遇到几个技术点,简单记录下。
1.因为数据量有点大(>百万用户),所以必须循环获取记录,平衡下来,每次取数1k-3k之间,同时取数和对返回的更新都需要记录状态,为了单条记录错误不影响整个流程,所以取消了整个方法的事务,仅控制在单个操作。简单的办法如下:
@Stateless(name="XXXService")
@Local(IXXXService.class)
@TransactionManagement(TransactionManagementType.CONTAINER)
public class XXXService implements IXXXService{
@Override
@TransactionAttribute(TransactionManagementType.NOT_SUPPORTED}
public void sync(){
//doing
}
}
2.项目里的架构师规划,我们web工程和ear工程分离,有许多的包,最后根据需要组合几个包打成一个ear包。虽然全部是local的bean,但是难免还是有需要lookup一个EJB的时候,通常需要加一个ear的包名,而整个包名当然是个问题咯,不过架构师Roy随手就丢给我一句anotation搞定了,在增加了一个jndi之后,并不影响原来查找方式:
@LocalBinding(jndiBinding = "ejb/XXXService")
分享到:
相关推荐
而在EJB3中,这一情况得到了显著改善,通过使用Java注解(Annotations),EJB的编写变得更加简洁。例如,一个无状态Session Bean在EJB3中可以用以下代码表示: ```java package example; @Stateless public class ...
通过阅读这些资源,开发者可以深入了解EJB3的原理、最佳实践,并掌握如何在实际项目中有效地使用EJB3组件,提升企业级应用开发的能力。同时,源码分析能帮助开发者更好地理解EJB3的运行机制,从而在实践中得心应手。
在ejb3中,可以使用`EntityManager`和`EntityTransaction`来处理数据库操作,如CRUD(创建、读取、更新、删除)操作。ejb3的实体管理器提供了事务管理和懒加载等功能,大大提高了开发效率。 **3. MessageDriven ...
EJB3的三本好书之三,也很不错的一本ejb3的书籍,是英文版,附带源代码,这本书的好处是与Mastering EJB 3ed有一定的继承性,可以对比来看. 3本书的地址 1. Beginning EJB3 Application Development From Novice to ...
EJB3引入了丰富的注解,如`@Stateless`、`@Stateful`、`@Entity`、`@Table`等,使得开发者可以直接在类或方法上定义组件的行为和属性,减少了XML配置文件的使用。 ### 4. JPA与ORM Java Persistence API(JPA)是...
了解如何正确使用`find()`、`persist()`、`merge()`和`remove()`方法是学习EJB3的重点。 **六、EJB3-QL(Java Persistence Query Language)** EJB3-QL是JPA的查询语言,类似于SQL,但更加面向对象。你可以学习如何...
1. **注解驱动(Annotation-based)**:在EJB3中,开发者可以使用注解来声明组件的角色、生命周期方法和持久化属性,如`@Entity`、`@Stateless`、`@Stateful`、`@SessionBean`等,大大减少了XML配置文件的使用。...
1. **注解驱动**:EJB3摒弃了EJB2.x中的XML配置,大量使用Java注解来声明bean的角色、事务属性、安全角色等,大大减少了部署描述符的编写工作。 2. **无状态会话bean(Stateless Session Beans,SSB)**:这类bean...
"使用说明-jar包.txt"很可能是对ejb3-persistence.jar的使用指南,可能包括如何配置、如何创建和管理实体,以及如何执行数据库查询等内容。这类文档对于理解和使用ejb3-persistence.jar至关重要,因为它提供了详细的...
EJB 3实战不仅是一本关于EJB 3的编程指南,也提供了丰富的实例和最佳实践来指导读者在真实世界中使用EJB 3解决实际问题。它适合于已经熟悉Java基础和面向对象编程概念的开发者,尤其是那些希望深入理解并掌握EJB 3...
EJB3的实体Bean通常与Java Persistence API (JPA)一起使用,JPA是Java EE的一部分,提供了一种标准的方式来管理对象-关系映射(ORM)。Hibernate是一个流行的JPA实现,提供了更丰富的功能和性能优化。 3. **注解...
- POJO(Plain Old Java Object):EJB3允许使用普通的Java对象作为实体bean,而不需要继承特定的基类或实现接口,这提高了代码的可读性和可维护性。 - JPA(Java Persistence API):EJB3集成了JPA,提供了统一的...
EJB3的三本好书第二本,最好的介绍ejb3的书,看过之后,其他的书都送人了,而且附带的源代码,几乎包括了所有的主流应用服务器的例子,glassfish, jboss, weblogic, oracleAS 3本书分别是: 1. Beginning EJB3 ...
创建EJB3项目时,通常使用Maven或Gradle作为构建工具,依赖于相应的EJB和Java EE库。完成后,将项目打包成EAR文件,然后部署到支持EJB3的Java EE服务器(如Tomcat、WildFly等)。 8. 示例实践 "Sms"可能是本实例...
4. **数据访问**:使用JPA或Hibernate(EJB3支持的持久化API)来处理数据库操作。 5. **错误和异常处理**:整合两者的错误处理机制,确保系统在遇到问题时能正确响应。 这个项目对于学习EJB3和Struts的集成,以及...
9. **安全控制(Security)**:EJB3允许开发者使用角色和权限来控制对bean方法的访问,提供了一种强大的安全机制。 在源码学习过程中,你可以通过以下步骤深入理解EJB3: 1. **阅读源码结构**:了解项目目录结构,...
### EJB3 最新学习教程知识点详解 #### 一、EJB3 概念与特点 **企业级JavaBean(EJB)**是Java平台的一部分,用于开发和管理基于组件的企业应用程序。EJB3(Enterprise JavaBeans 3)是EJB规范的一个版本,它大大...