jjzjj

java - 我应该将 Bean 验证与 EJB 3.1、JSF2.0 和 JPA 一起使用吗?

我有一个JSF2.0应用程序,我想开始为其添加validator。应用架构的基本概述如下。我有托管支持Bean,其中包含我的JPA注释类和EJB的实例。EJB负责以事务方式访问数据库。JPA注释类值绑定(bind)到我的facelets(并使用EJB进行数据库访问)。我想潜在地使用Bean验证并编写自定义约束,但这意味着我必须将这些约束添加到我的JPA注释类中。在我看来,这似乎违反了我的关注点分离。(将表示/验证与JPA注释类/DAO混合)在这种情况下不使用Bean验证是否更好?我的结构有缺陷吗?有没有我不知道的首选方法?谢谢! 最佳答案

java - 没有 EJB 的 Web 应用程序的 WAR vs EAR?

我有一个不使用EJB的JavaEEWeb应用程序。我有时会针对Jetty/Tomcat进行部署,因此需要一个WAR包。但是,有时我也以JBoss和Websphere为目标。我的理解是成熟的JavaEE应用程序服务器可以采用EAR或WAR格式。我什么时候会用一个而不是另一个,为什么?我知道它们都是标准的压缩文件格式,并且我已经阅读了10个试图解释它们的不同片段(includingthisone),但我并没有更深入地了解每种格式的优缺点。 最佳答案 如果您只有Web模块-使用WAR文件。如果您有不同的JavaEE模块-使用EAR。尽管您

java - 异步 EJB 3.1 方法和事务

我使用@Asynchronous注释编写了一个小测试来理解EJB3.1中的异步行为。似乎是:如果该方法与调用者存在于同一个bean中,调用不再是异步的。调用者事务被标记为回滚,如果异步方法中的事务被回滚;这可能是1的副作用。但是,如果异步方法存在于另一个bean中,则行为是预期的,即调用是异步的并且调用者事务是独立的(异步方法具有事务的REQUIRES_NEW行为)。这让我感到困惑,因为为什么两种情况下的行为都不一样。有人可以澄清一下吗?附言环境EJB3.1,JBoss6 最佳答案 使用this关键字而不是使用SessionCont

java - EJB/JPA 事务边界

我在读EJBTransactionboundaryandTransactionboundary让我们专注于RequiresNewAttribute.这是链接中的修改图所以说method-B用RequiredNewattribute注释.所以根据理论当method-A电话method-B一个新的事务将开始,已经开始的事务将被暂停,当method-B返回新事务将被提交。现在考虑在S1部分我们使用entitymanager.persist()创建一个jpa实体现在我们将此实体传递给method-B其中设置了name实体的领域。现在当我们从method-B返回时怎么可能commitdb中的事务

java - 将 CORBA 应用程序迁移到现代 Java 技术(Rest/SOAP/EJB)

我需要将遗留CORBA系统迁移到任何最新的Java技术。我面临的主要问题是在建议的系统中提供长期交易(db)。当前,客户端(SwingApp)保留CORBA服务对象并在实际提交/回滚所有txn之前执行多个dbtxn。服务层始终保持连接对象的状态以完成交易。我想在我的新系统(REST/WS)中重现这种机制,以便Swing客户端/Web(future)可以像现在一样工作。例如:try{service1.updateXXData();//-->insertintotableXXservice2.updateUUData()//-->insertintotableUUservice1.upda

java - 将 'password expiration' 信息从 Wildfly 服务器身份验证模块传递到远程 EJB 客户端

我们有一个Wildfly10JEE应用程序和一个使用远程EJ调用与服务器通信的java胖客户端。身份验证是使用wildfly服务器中的自定义登录模块完成的。现在我们需要用密码过期的概念来增强这个登录模块。每当密码过期时,用户必须在登录过程中更改其密码。登录模块使用JAAS回调和JAAS回调处理程序。据我所知,我们可以在登录模块中使用javax.security.auth.callback.TextInputCallback在执行登录时向用户请求新密码。这如何与远程处理集成。我们的胖客户端如何接收TextInputCallback以提供请求的输入?我想我们必须在客户端注册一个自定义的Ca

java - 是否有任何基于现代 Java EE 堆栈(Spring/EJB、JPA)的 CRM?

我必须构建一个特殊的定制客户关系运输管理工具。对于CMR,只有基本要求(管理客户、为他们添加注释、附加电子邮件……),除了关于集成特定应用程序以存储和获取一些数据的要求。所以我正在寻找一个开源CRM,我可以在其中添加这些特定的东西,因为我不想重新发明weel并自己实现下一个CRM。因此,我正在寻找一个用Java编写的基于Web的开源CRM,它基于现代JavaWebStack。我更喜欢基于Spring(或EJB3.1)和JPA的东西。当然,比使用的技术更重要的是代码的质量(和文档)。在四处寻找几个小时后,我没有找到适合我需要的项目。所以我想问,谁能推荐一款符合我需求的CRM,还是我应该完

java - @Singleton、@Startup、@PostConstruct 不适用于 EJB3.1 和 Glassfishv3.0.1

我的设置有问题,我什至无法查看日志。这是我的@Singleton@StartupEJB:@Singleton@Startup@DependsOn("SchedulerEJB")publicclassSchedulerStartUp{privatestaticLoggerlog=Logger.getLogger(SchedulerStartUp.class);@EJBSchedulerEJBschedEJB;@PostConstructpublicvoidatStartup(){log.info("startUp")System.out.println("startUp");schedE

java - 为什么要池化无状态 EJB?

应用程序服务器池化无状态EJB的原因是什么?我可以理解,控制应用程序的工作负载以应对传入的调用很有用,但这仅证明将作为FAÇADE与调用程序客户端一起服务器的EJB池化是合理的。汇集内部EJB(那些未公开且仅在内部调用以执行业务逻辑的EJB)是否有任何好处?而不是使用共享的单个实例(如Spring那样)。我至少可以想到一个缺点:高度使用的内部EJB可能成为瓶颈。 最佳答案 无状态sessionbeanEJB不一定是线程安全的。它们可以持有像JMSsession这样的资源,一次不能与多个线程共享,因此服务器将它们合并在一起,以便它可以

java - EJB 计时器是否应该持久/可靠?

例如如果我将计时器设置为每天午夜到期,如果一个“失火”(例如,由于服务器关闭而不会触发回调)会发生什么?我在文档中找不到它。有没有办法让这个定时器在服务器重启时立即触发回调?PS:我了解Quartz,我正在评估EJB计时器作为替代方案。 最佳答案 您可以使用TimerHandle使计时器持久化。EJB时间旨在避免容器崩溃。查看此article用于EJB时间与其他调度程序系统(如Quartz)之间的比较。 关于java-EJB计时器是否应该持久/可靠?,我们在StackOverflow上找