问题标签 [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 回答
197 浏览

java - Java Enterprise 应用程序中的类加载问题

我在 Glassfish 服务器上有带有 EJB3 和 JSF 的企业应用程序。在运行这个应用程序超过 2 周后,我意识到我的类加载有问题。我不认为这是 permgen 的问题。每次打开页面时都会加载这些类,但它们从未从内存中删除。这是我的服务器内存的快照:

快照

所以,我只需要一些关于如何调试这个问题的指示。

0 投票
4 回答
3587 浏览

java - EJB 和在数据结构(映射、列表等)中存储对象

是否可以在应用服务器正常运行期间将对象存储在数据结构中?基本上我想要一个与此数据结构接口的 EJB,但不需要完整的数据库解决方案。

作为一个例子,我制作了这个虚拟动物对象:

所以这里是EJB 远程接口:

这是会话 Bean:

所以基本上我希望任何想要操作 Animal Map 的客户端都通过这个 EJB 并让每个客户端访问相同的对象 Map。

这个例子不够好。过了一会儿,所有的动物都被删除了(我假设当 EJB 从 bean 池中被替换时)这会以某种方式作为资源注入吗?

0 投票
2 回答
575 浏览

java - EJB 定时器和可靠性

无论如何,我需要每 5 秒在 App Server (Glassfish) 中调用一个方法。计时器是否足够可靠?我有什么选择。

0 投票
11 回答
6168 浏览

java - Java App Server 中的单例......这是一个多么糟糕的想法?

我目前正在研究一些在没有考虑应用服务器的情况下开发的旧 Java 代码。它基本上是一堆带有输入接口和输出接口的“黑盒代码”。“黑匣子”类中的所有内容都是包含状态的静态数据结构,这些状态以定时间隔(每 10 秒)通过算法。黑盒是从一个 main 方法启动的。

为了让我自己轻松,我正在考虑将“黑匣子”设为单例。基本上,任何想要访问黑匣子内部逻辑的人都会得到相同的实例。这将允许我使用消息驱动 bean 作为黑盒的输入,并使用某种 JMS Publisher 作为黑盒的输出。

这是多么糟糕的想法?有小费吗?

不过,我主要担心的问题之一是“黑盒”代码中可能存在我不知道的线程。

EJB 中是否存在诸如“应用程序范围的对象”之类的东西?

注意:我使用的是 Glassfish

0 投票
1 回答
1486 浏览

java - 在应用服务器中调用远程 Bean 与本地 Bean

与使用本地 Bean 接口相比,使用远程 Bean 接口是否存在明显的性能开销?如果性能差异不大,我希望每个客户端应用程序都连接到远程 bean。

0 投票
1 回答
1830 浏览

jpa - REQUIRES_NEW 注释方法在没有事务的情况下执行?

我有一个无状态 bean 负责将实体持久化到数据库中。这个无状态 bean 由消息 bean 的 onMessage 方法调用。连线的事情是,在第一条消息上一切正常,但在下一条消息上,负责持久化的方法在事务外部调用,即使该方法使用 REQUIRES_NEW 注释。

调用 refresh 会触发以下异常:

引起:javax.persistence.TransactionRequiredException:没有事务正在进行

有任何想法吗?我对 JTA 还很陌生,所以我可能错过了一些重要的事情?

0 投票
1 回答
1557 浏览

ejb-3.0 - 使用 JBoss Seam (EJB3+JSF) 的审计日志

我需要为使用 JBoss Seam 编写的 Web 应用程序实现审计日志。EntityListeners 似乎是不错的候选者,但我不知道如何将 EntityListeners 连接到应用程序会话上下文以在审计记录中包含登录使用的主体。

我想知道是否有办法进行这种“连接”,或者是否有一种更舒适/优雅/有效的方式来为这个编程环境实现审计日志。

提前致谢。

拉法。

编辑:
非常感谢达莫的回答!我尝试注入我的身份组件,但没有成功。但是,对 Component.getInstance() 的建议调用确实提供了对 EntityListener 中用户身份的所需引用。

0 投票
7 回答
517 浏览

java - Java 代码可以判断它是否在应用服务器中吗?

我可以从 POJO 调用什么来查看代码当前是在 App Server 中还是在 App Server 之外?

像这样的东西(粗略的伪代码):

或者

或者

0 投票
2 回答
2501 浏览

java - EJB3 - 处理 RollBackExceptions

我有一个 EJB3 应用程序,它包含一些用于访问数据库的 EJB,并通过会话 Bean 作为 Web 服务公开。

现在有两件事我需要找出:

1) 有什么方法可以阻止 SQL 异常导致 Web 服务抛出 SOAP 错误?事务由容器处理,当前 sql 异常会导致引发 RollBackException,因此事务会回滚(期望的行为)并且 Web 服务会引发错误(不期望的)。

2)我希望扩展 web 服务以能够接收实体列表,并且会话 bean 能够持久化。但是,我希望每个实体都在自己的事务中执行,这样如果一个实体失败,其他实体不会受到影响(同样,Web 服务也不应该出错)。

对于 (1) 我试图捕获 RollBackException,但我认为这是在另一个线程的某个地方抛出的,因为永远不会到达 catch 块。我假设(2)我需要研究用户事务,但首先希望容器来管理它,其次不知道如何强制使用用户事务。

谢谢。

0 投票
2 回答
3787 浏览

jboss - 如何配置JBoss服务的启动顺序(JmsActivation)

当我在 JBoss 5 上部署我的应用程序时,会在启动 QueueService 之前创建 EJB。由于队列尚不可用,消息驱动 bean 的创建现在惨遭失败:

如何配置部署顺序?