问题标签 [ejb-3.0]

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 回答
787 浏览

java - @EJB 注入和企业命名上下文 - 两者之间的关系

Java EE 规范声明这样的 EJB 注入:

将在企业命名上下文中创建条目,即。java:comp/env/<FQN>.MyInterface/myBean. 由部署者将此上下文条目绑定到一个实际值并将此值注入 myBean 字段中。

现在我觉得我在这里遗漏了一些东西:

为什么需要上下文条目?请求的 EJB 实例将被注入,那么为什么需要上下文中的条目呢?为什么注入必须通过上下文条目发生?

0 投票
5 回答
7001 浏览

java - 如何开始使用 EJB3 和 JBoss?

我想进入 ejb3 以获得一些写作练习。我搜索了教程和操作方法,但可以找到一些稀缺的无用信息。

我正在寻找一个教程或演练,它将指导我从最基本的(我需要安装哪些软件?)用 JBoss 为 EJB3 编写“Hello World”。

简而言之 - 我从哪里开始?

谢谢!

0 投票
2 回答
2955 浏览

java - 如何从 EJB 客户端隐藏 RuntimeException 详细信息?

我有一个使用(本地)会话 bean 公开服务的 JEE5 应用程序。

当服务执行期间发生内部故障时,JBoss(5.0.1) 会抛出 RuntimeException 并将其封装在 javax.ejb.EJBTransactionRolledbackException 中。

问题是接收此 EJBTransactionRolledbackException 的客户端应用程序可以访问有关导致运行时异常的详细信息,从而暴露我的应用程序的内部架构。我不希望那样。

相反,我希望 JBoss 始终将暴露的会话 bean 抛出的 RuntimeException 封装到单个(简单的) TechnicalException 中(没有原因)。

实现这一目标的最佳方法是什么?(使用拦截器?使用 JBoss 配置?)

0 投票
0 回答
2346 浏览

web-services - JBOSS Web 服务客户端不起作用(运行时建模器错误:未找到包装器类)

我有一个简单的 hello-world EJB3 成功部署为 Web 服务。我可以用 url 检查它:http://localhost:8080/jbossws/services

以下是适用于 Glassfish 但不适用于 JBOSS 的客户端

这是我执行客户端的方式以及我得到的错误:

我需要生成一些东西吗?我是否缺少一些 jar 文件?

0 投票
3 回答
4595 浏览

jboss - 在 JBOSS 中配置 MDB

maxMessages 属性如何影响 MDB?例如:

如果 maxSessions 为 10,此值将如何影响?

0 投票
1 回答
122 浏览

persistence - 如何在 EJB3 中使用非关键复合元素?

使用 EJB3/JBoss,我如何使用表中的复合元素,例如

其中Coordinatea 定义为(为便于阅读,省略了 setter/getter):

并且所有内容都应该映射到X包含列id, x,的 Table y

0 投票
1 回答
274 浏览

java - 使用自己的注解更改查看实体 Bean 值的方式

我们有带有存储 SpecialStrings 的遗留列的表。这些 SpecialStrings 不能为 NULL,而是等于 some SPECIAL_UNICODE_NULL

因此,要通过 JAX-WS 将实体发送回客户端,我们必须实现整个 Entity 包装器而不是 Entity 来发送它,或者将转换逻辑显式添加到 Entity get 方法。

我们想做的是使用我们自己的@LegacyString注解。

然后在默认的实体侦听器中@PostLoad,我们将使用适当的转换将所有 @LegacyString 字段转换为常规字符串。

但这种解决方案的问题在于,在加载后修改实体后,实体被视为已更改,实体管理器将尝试将其更新到数据库。当然我可以使用@PreUpdate方法来恢复更改。但我不确定这是否会阻止实体进行真正的更新。

所以问题是:如何通过自己的注释更改实体 Bean 值视图?

PS 我对 ClassLoader 进行了一些研究,我将考虑通过添加加载时间的变化来进行变体。但是我找不到应用程序服务器类加载器案例的合理示例。

0 投票
6 回答
4216 浏览

hibernate - 在 ejb3 中使用数据传输对象被认为是最佳实践

虽然显然不是所有的场景都可以通过一个设计来涵盖,但现在普遍认为 ORM 类应该在表示层和业务层(本地或远程)之间来回传递,从而取代对数据传输对象的需求?据我所知,使用 ORM 类会带来不必要的急切加载、上下文管理问题和紧密耦合的问题,但也节省了大量时间并保持简单。现在是否有一种标准方法通常偏向于另一种(对于大多数情况)?

0 投票
1 回答
1248 浏览

jboss - 定时器服务 EJB 3

与 TimerService 相关,我可以定义两个 Timer 实例并将每个计时器绑定到同一个 EJB 中注释 @Timeout 的特定(不同)方法吗?

谢谢, 罗德

0 投票
2 回答
5420 浏览

jakarta-ee - EJB 调用另一个 EJB 方法

我更好奇这是否是最佳实践或应该避免。假设我有两个 EJBS,每个都使用不同类型的对象,一个小部件和一个 foo。管理小部件的 EJB 需要获取 foo 的集合来进行一些处理。此功能已在 FooManager bean 中创建。

WidgetManager 中的方法正在创建,而 FooManager 方法已经创建。

这是我的意思的一个例子。这是一个简短的例子。

我的问题是 WidgetManager bean 是否应该调用 FooManager bean 中已经创建的方法?客户端是否应该检查哪些小部件可以关闭,然后将 Id 列表发送到 WidgetManager?

我倾向于后一种情况,以便 EJB 不必担心调用彼此的方法。客户端可以使用它们并且只需要发送一个 id 列表。