问题标签 [ejb-3.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2817 浏览

jakarta-ee - 在 WAR 打包的应用程序的 @FacesConverter/Validator 中获取 Entitymanager/EJB

我有一个 JavaEE6 应用程序在 Glassfish v3.0.1 和 EJB 3.1 上运行(应用程序打包为 WAR),我所有的 EJB 都是 @LocalBeans。目前,我正在编写一个用于 JSF2 的 FacesConverter,其中我需要 EntityManager 从一个 id 中获取一个实体。

现在我想知道,既然我们在 JEE6 上,那么在 FacesConverter 中获取 Entitymanager的最佳和最干净的方法是什么?或者我什至可以通过表达式语言访问 EJB?并且 Weld/CDI 在 FacesConverter 中不起作用,是吗?

抱歉,我希望这不是重复的,但我看到的大多数情况略有不同,对我没有多大帮助。

0 投票
2 回答
13895 浏览

java - EJB 3.1 应用程序仅部署为 WAR:ejb-jar.xml 怎么样?

我有一个 JavaEE6 应用程序,由 Web 内容和 EJB 组成,并且仅部署为 WAR(使用 EJB3.1)。该构建基于 Maven。我刚刚读到了一种在 Java EE 6 中订购模块初始化的新可能性我的应用程序也需要它。另外,我希望有一个选项可以在 XML 中定义一些 EJB 属性。

由于该示例部署为 EAR 项目,因此在 application.xml 中定义了订单。但是在一个 WAR 部署的项目中,没有 application.xml。现在我想知道我在哪里可以定义这些信息?或者是否可以在 WAR 部署的应用程序中以某种方式使用 application.xml?

编辑:

糟糕,我没有正确阅读模块顺序示例,一开始我认为这是关于我的应用程序中的 EJB 的加载顺序。当然,我的 WAR 应用程序中只有一个模块,所以订购没有意义。

好的,但是就我而言,还有一个大问题(也更改了问题标题以反映变化):ejb-jar.xml 怎么样?我可以以某种方式在 XML 中定义关于我的 EJB 的东西(因为它对某些设置很有用,以避免重新编译)?

0 投票
1 回答
5586 浏览

java - EJB 3.1 - 处理异步作业中的异常

我有几个异步作业,我想透明地处理异常。我想将异常处理逻辑放在另一个组件/类中。使用 Seam 2,我扩展了一个异常处理程序类。

例如,我想引发一个包含异常的事件,以便我可以让多个组件在它们认为合适的时候对其进行操作。最常见的一种是通知管理员。

谢谢,

沃尔特

0 投票
3 回答
2020 浏览

java - 公开 @Asynchronous 函数的当前进度以在 View 中使用

在我的 JEE6-App(在 Glassfish 3.0.1 上运行)中,我有一个必须发送大量邮件的 EmailEJB。邮件是异步发送的,因此它使用新的 EJB3.1 @Asynchronous 进行注释,让它在单独的线程中运行。现在我希望用户了解该方法的当前状态:已经发送了多少封邮件?

异步发送邮件工作正常,但我不知道如何让进度可以从外部访问。似乎我这样做的方法是非常错误的,但不知何故它必须是可能的(也许是另一种方法)。这就是我的 EmailEJB 目前的样子(它是一种伪代码,但解释了我想要什么):

如何在异步函数中返回当前进度,而不用返回取消它?如何向用户显示函数内循环的进度?我需要另一种异步方法吗?有什么提示吗?

0 投票
3 回答
1888 浏览

java - 有什么方法可以知道 EJB 异步进程的进度吗?

我正在尝试从 EJB 异步进程中获取进度百分比。这可能吗?

有谁知道我该怎么做?

0 投票
2 回答
1450 浏览

asynchronous - 使用 EJB3.1 @Asynchronous 时如何避免 ConcurrentModificationExceptions

[我的设置:Java EE 6 应用程序,EJB3.1、CDI/Weld、JSF2 在 Glassfish 3.0.1 上运行]

我阅读了一些关于 EJB3.1 中新的@Asynchronous 方法的文章,但没有一篇文章提到异步方法的危险以及您真正需要关心的内容。

在我的应用程序中,我有一个@Asynchronous E-Mail 服务,发送大量邮件。我从 CDI/Weld Bean 调用此服务。在我的测试过程中,我经常遇到 ConcurrentModificationExceptions,但直到现在我才真正理解它有时在哪里以及为什么会崩溃。

只是为了展示我的 Beans 大致是什么样子,重要的部分:

在我的 CDI-Bean 中,我像这样使用这个 EJB(向 JSF2 公开进度):

我只是想问一下:我在这里做错了什么吗(范围、注入、使用 Future)?使用 @Asynchronous 方法时我需要注意什么以避免 ConcurrentModificationExceptions?

我将电子邮件作为 EJB 注入。把整个EmailEJB做成异步,用@Inject @Asynchronous注入会不会更好?会有什么区别?

欢迎任何提示!

0 投票
1 回答
2395 浏览

java - 动态查找 EJB

我正在 Glassfish 3 上开发一个应用程序。我有一个如下所示的 EJB:

我的客户端代码(在同一个应用程序中运行)如下所示:

根据一些消息来源,这应该是一个有效的查找方法,但它会引发 NameNotFoundException。我究竟做错了什么?

0 投票
1 回答
7613 浏览

java - 使用 Maven 2 和 Glassfish 3 对 EJB 进行单元测试

我一直在尝试设置我的应用程序,以便我可以整天对它的 EJB 进行单元测试,但我似乎无法解决一个看似非常简单的问题。

我在 NetBeans 6.9 中设置了一个标准的 Maven Web 应用程序。我已经为其中一个 EJB 自动生成了一个单元测试,但是每当我运行它时,我都会收到错误消息:

我已经研究了这个,我很确定问题是我的 pom 当前指向一个只包含 API 的 jar

不是和可用于运行测试的实现。我很确定测试在尝试执行时在标有@BeforeClass 的方法中失败

标准推荐的解决方案是将 glassfish-embedded-all 工件添加为具有测试范围的第一个项目依赖项

我可以在这里找到这个工件的 Maven 包:http: //download.java.net/maven/glassfish/但 Nexus 无法将此目录或任何子目录识别为 Maven 2 存储库。我想我可以下载 jar 并将其手动安装到 Nexus 中,但这似乎违背了安装 Nexus 的意义。

那么,是否有一个 Maven 存储库,Nexus 将能够索引给我 glassfish-embedded-all 工件?我读过的几篇文章提到现在使用的正确工件是 javax.ejb 但我没有更多的运气找到它。

正如您可能已经猜到的那样,我对单元测试完全陌生,对 JEE6 也很陌生;这甚至是对 EJB 进行单元测试的正确方法吗?

0 投票
1 回答
508 浏览

jboss - JBoss6 AS EJB3StandaloneBootstrap & EJB3StandaloneDeployer

目前我正在将 JBoss 4 项目迁移到 JBoss 6。我确实想念 EJB3StandaloneDeployer 和 EJB3StandaloneBootstrap 的替代品。

有没有提供这两个类功能的新资源?

谢谢

0 投票
4 回答
3447 浏览

java - 从 POJO 访问 EJB

是否可以从 POJO 访问 EJB?我试过了

但这不起作用。