问题标签 [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 投票
9 回答
5890 浏览

java - 使用 JBoss 和 Spring 在 Java Web 应用程序之间共享业务对象实例的最佳方式是什么?

我们目前有一个 Web 应用程序加载一个 Spring 应用程序上下文,它实例化一堆业务对象、DAO 对象和 Hibernate。我们希望与另一个 Web 应用程序共享此堆栈,以避免具有相同对象的多个实例。

我们研究了几种方法;使用 JMX 或 JNDI 或使用 EJB3 公开对象。

不同的方法都有自己的问题,我们正在寻找一种轻量级的方法。

关于如何解决这个问题的任何建议?

编辑:我收到了要求我详细说明的评论,所以这里是:

我们要解决的主要问题是我们只想拥有一个 Hibernate 实例。这是由于在运行多个使用相同数据源的客户端应用程序时,Hibernate 的二级缓存失效的问题。此外,业务/DAO/Hibernate 堆栈越来越大,因此不复制它更有意义。

首先,我们试图研究如何单独将业务层暴露给其他 Web 应用程序,Spring 以少量 XML 的价格提供了 JMX 包装。但是,我们无法将 JMX 实体绑定到 JNDI 树,因此我们无法从 Web 应用程序中查找对象。

然后我们尝试将业务层直接绑定到 JNDI。尽管 Spring 没有为此提供任何方法,但使用 JNDITemplate 绑定它们也很简单。但这导致了几个新问题: 1) 安全管理器拒绝访问 RMI 类加载器,因此一旦我们尝试调用 JNDI 资源上的方法,客户端就会失败。2) 一旦安全问题得到解决,JBoss 抛出 IllegalArgumentException: object is not an instance of declaring class。稍微阅读一下就会发现我们需要 JNDI 资源的存根实现,但这似乎很麻烦(也许 Spring 可以帮助我们?)

我们还没有过多地研究 EJB,但是在前两次尝试之后,我想知道我们想要实现的目标是否完全可能。

总结一下我们想要实现的目标:一个 JBoss 实例,几个 Web 应用程序利用 DAO 层和 Hibernate 之上的一组业务对象。

最好的祝福,

尼尔斯

0 投票
1 回答
875 浏览

java - 在 EJB 上加载列表

我有一个带有验证对象(返回真或假)的方法的远程 EJB。我希望能够将一个 ArrayList 对象传递给它,并让 EJB 用验证期间遇到的错误加载它,同时仍然接收真/假结果。

我怎样才能做到这一点?到目前为止,我可以将列表发送给它,它在服务器端受到影响,但原始列表在客户端没有被修改。

0 投票
2 回答
12911 浏览

java - MDB 注释的可配置值

我正在尝试使用这种方法在我们的 EJB3 应用程序中接收邮件。简而言之,这意味着创建一个带有以下注释的 MDB:

我有这个工作,但情况不太理想:主机名、用户名和密码是硬编码的。在编译之前没有使用 ant 和 build.properties 替换这些值,我不知道如何将它们外部化。

使用 MBean 是理想的,但我不知道如何将值从 MBean 获取到 MDB 配置。

我该怎么做?

0 投票
1 回答
1368 浏览

ejb-3.0 - How to use WS-Security with EJB3?

For one of our projects, I should be able to call a webservice that uses WS-Security, i.e. the SOAP request should be signed with an X.509 certificate. I've been doing some tests to call the webservice through the use of the WebServiceRef annotation and I'm able to call the webservice without WS-Security.

So my question is: how can I activate and/or configure WS-Security when using the WebServiceRef annotation ?

Regards, Stefan Lecho.

0 投票
5 回答
696 浏览

java - 将任意数据与 ejb 调用上下文相关联

我有一堆无状态的 ejb 3.0 bean 在链中相互调用。考虑一下,BeanA.do(message) -> BeanB.do() -> BeanC.do() -> BeanD.do()。现在我想从 BeanD.do() 访问消息数据。明显的解决方案是将消息作为参数传递给所有 do() 调用(实际上这就是它现在的工作方式),但我想要一些更好的解决方案。

是否有某种调用上下文?我可以将任意数据与之关联吗?

我想做的,只是将 BeanA.do(message) 中的消息放入与 bean 函数调用关联的一些本地存储中,然后在 BeanD.do() 中检索它。

有任何想法吗?

0 投票
2 回答
2921 浏览

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

例如,如果我将计时器设置为每天午夜到期,如果一个“失火”(例如,由于服务器关闭而不会触发回调)会发生什么?我在文档中找不到。

有没有办法让这个计时器在服务器重启后立即触发回调?

PS:我知道 Quartz,我正在评估 EJB 计时器作为替代方案。

0 投票
3 回答
2037 浏览

web-applications - 使用 EJB 3.0、JPA、JBoss 上的动态 Web 项目的 Java EE 应用程序的项目架构/组织

我有一个包含不同动态 Web 项目的 webapp,每个项目通常都包含一个 EJB 项目。我们希望让它们保持交互,例如通过 JNDI 使用彼此的 EJB 中的 bean 和类,共享同一个数据库或使用它们自己的数据库。但我们也希望能够在不同的服务器上保留不同的项目。

就架构和组织而言,此类项目的正确重点是什么?

我们应该如何使用 EAR?一只耳朵来统治他们并在黑暗中束缚他们?(对不起,必须做那个 LOTR 参考),或者每个服务器/Web 项目的 EAR,等等?

0 投票
6 回答
24987 浏览

jboss - JBoss:来自 InterceptorRegistry 的警告 EJBTHREE-1246 是什么意思?

我目前正在 JBoss AS 5.0.0.GA 上开发基于 EJB 3.0 的应用程序,最近服务器日志中出现以下警告:

只要将 EJB(无状态会话 bean)注入我的 JSF Web 应用程序的支持 bean,就会生成警告。虽然豆子确实可以正常工作,但我仍然想知道该警告来自哪里以及我可以做些什么来避免它。

我已经搜索了一下,但没有找到一个好的答案(有人说,bean开发者不必担心,但它是一个警告,所以我希望有一个更好的解决方案):

那么有没有人解释导致警告的原因(对于 bean 开发人员,而不是应用程序服务器开发人员)以及如何避免它?

更新:我刚刚将 JBoss 升级到 5.0.1.GA(下载发行说明)但不幸的是警告仍然出现。

0 投票
2 回答
8699 浏览

java - 无需部署组件即可对 EJB3 组件进行单元测试的最佳方法是什么

我想要一个 JUnit(或其他)系统,可以在模拟环境中测试企业 bean,以便在本地注入所有资源/bean 等。企业 bean 不必完成此操作。应支持各种注入。

  • 我想为此提供一个 maven 插件,以便可以从 maven 构建运行测试。
  • 在单元测试期间不需要事务,这需要一个完整的容器。

你知道这样的maven插件或者测试框架吗?有经验吗?

0 投票
1 回答
748 浏览

hibernate - 如何从 EJB3/JPA 中的集合中急切地获取单个“默认”实体

我有一个带有多个电话号码的 Person 实体。

现在我想为急切获取的 Person 实现一个“获取默认电话号码”方法。此默认电话号码是 phoneNumbers 集中的电话号码之一。有没有办法做到这一点?

我试图实现这一点的原因是在一个页面上列出了这个默认电话号码,该页面列出了数据库中的“所有”人员。

作为一名 JPA 初学者,我最初使用以下方法进行了尝试:

但这当然会导致列表页面非常缓慢。

那么有没有办法定义一个瞬态属性,该属性根据某些查询从实体集合中获取单个实体?我使用 Hibernate 作为我的持久性提供程序。