java – EJB与CDI和“实体边界控制”模式
我试图了解CDI和EJB以及实体边界控制(ECB)模式.我对ECB模式的理解是边界是事务边界的起点和终点.除此之外,CDI不像EJB那样提供事务支持.
因此,如果我想成功实现ECB模式,那么以下是正确的; >我可以使用EJB(即@stateless,@ stateful,@ sortton)和带有CDI或EJB的Control层实现Boundary部分. 谢谢 解决方法
我成功地在
JavaEE 6中实现了ECB模式,使用EJB仅用于Boundaries和CDI用于控制器.我的架构中的典型堆栈使用
>无状态EJB使用JAX-RS注释进行注释,以将REST服务实现为Boundary 形成边界的无状态EJB总是使用@TransactionAttribute(REQUIRED)进行注释,这是默认值.我不使用其他事务属性.这样做,您可以确保与Boundary的每次交互都只发生在一个事务中. 通过仅使用CDI托管bean的@Dependent作用域,可以确保每个线程都有自己的bean实例.因此,您永远不会有多个线程同时访问CDI托管bean.这样做可以防止您出现典型的并发问题. 使用更重的组合,用于Boundary的池化EJB和用于其余应用程序的轻量级CDI托管bean对我来说非常好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |