问题标签 [ejb]

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 投票
1 回答
256 浏览

web-services - 无状态 EJB 问题

我们有一个位于 Web 服务 (EJB3) 后面的无状态 EJB,该 EJB 还加载了一个 EntityManager,该 EntityManager 在它发出的调用中传递。我有一个问题。

对 web 服务的同时调用是使用相同的 EJB 还是有不同的实例?我特别问这个关于注入的 EntityManager 的使用。

谢谢

0 投票
2 回答
1508 浏览

java - 部署多个 2.1 EJB 的 OC4J 10.1.3.4 问题

我在从 OC4J 10.1.2.3 迁移到 10.1.3.1.4 时遇到问题。问题在于具有多个 EJB 的应用程序(都是 2.1,没有 EJB 3.0)。Jdeveloper 将采用默认的 ejb-jar.xml(Jdeveloper 在其独立的 OC4J 实例上运行它所需的文件)并将其打包到每个 EJB JAR 模块中,不管是什么。这导致应用服务器在部署时深入每个 EJB JAR 模块,并找到 N 次相同的 ejb-jar.xml 文件(其中 N = EJB 模块的数量)。这会导致重复的 EJB 引用,并会破坏任何 JNDI 查找,例如:“java:comp/env/ejb/EJBName”。因此,部署具有 3 个 EJB、EJB1、EJB2 和 EJB3 的应用程序会导致应用程序服务器注册 9 个 EJB 而不是 3 个。我需要一种最佳实践方式,但在 10.1.3.4 和 JDeveloper 执行的方式之间,情况相当糟糕...

旁注:如果 Web 应用程序的 JNDI 查找代码被重构为“ejb/EJBName”,它们将起作用。但是,这是不可取的。

0 投票
2 回答
750 浏览

websphere - 如何建立上下文并从 Sun JRE(不是 IBM)调用 WebSphere EJB

有没有办法从普通 JRE(如 Sun)调用通过 WebSphere(iiop://host:port/ejbName)提供的 EJB。很多人一直告诉我,这种类型的架构依赖于同质的环境。想法?

0 投票
1 回答
1164 浏览

web-services - Java EE 和 Grails:与 Web 服务的通信?哪个框架?

嗨,我正在开发一个 Grails 应用程序,它必须与现有的 Java EE 应用程序(使用 EJB2 构建)进行通信。“旧版”应用程序和新的 Grails 应用程序都将提供服务并使用它们。

出于互兼容性的原因,我正在考虑使用 WebServices 进行通信。现在我想知道我应该在双方都使用哪些框架。

由于 Java EE 应用程序现在在 JDK5 下运行,我可以使用 JAX-WS 我想在 Grails 端使用 Metro ( https://jax-ws-commons.dev.java.net/grails/ ) 是有意义的. 有没有人有这方面的经验?或者其他建议?

0 投票
2 回答
4922 浏览

queue - 如何使用 mockrunner 设置模拟队列来测试 xml 过滤器?

我正在使用http://mockrunner.sourceforge.net/中的 mockrunner 包来设置一个模拟队列,用于 JUnit 测试一个 XML 过滤器,其操作如下:

  1. 为 ftp 服务器设置可识别的属性以放置和获取 xml 输入以及跟踪作业的 jms 队列服务器。一旦接收到队列消息,就会远程等待实际解析 xml 的服务器。
  2. 使用 ftp 创建一个远程目录并使用 mqconnectionfactory 启动到队列服务器的给定地址的队列连接。
  3. 一旦在 2) 中创建了新的队列条目,过滤器将等待新的队列消息出现,表示远程服务器已完成作业。然后过滤器从 ftp 中抓取修改后的 xml 文件并将其传递给下一个过滤器。

我正在处理的 JUnit 测试只需要通过启动本地 ftp 和模拟队列服务器来模拟此环境以供过滤器连接,然后等待过滤器连接到队列并将新的 xml 输入文件放在本地目录中通过本地 ftp 服务器,等待队列消息,然后稍微修改 xml 输入,将修改后的 xml 放在新目录中,然后向队列发布另一条消息,表示作业已完成。

我在网上找到的所有教程都使用 EJB 和 JNDI 来查找队列服务器。如果可能的话,我想通过在我的本地机器上创建一个模拟队列并以最简单的方式连接到它,而不是使用 EJB 和 JNDI 来回避这条路线。

提前致谢!

0 投票
6 回答
1539 浏览

java - 什么是 Java JPA 查询“层”的好设计

在 JPA 中,实体是带有很好注释的普通 Java 对象。但是我还没有找到与它们和数据库交互的好方法。

在我当前的应用程序中,我的基本设计始终是将基于序列的 id 作为主键,因此我通常必须通过 PK 以外的其他属性查找实体。

对于每个实体,我都有一个无状态的 EJB

查询方法都是一些变化

所以:

  1. 我真的很讨厌在 EJB 中使用这些方法,因为它们似乎属于实体本身,而 EJB 本地接口让我很恼火。

  2. 我讨厌我在每个方法中都有“try、createQuery、getResultList、catch、log、return”的重复(主要是Java中没有闭包或“with语句”或类似的结果)。

是否有人建议以更好的方式与解决我的一个或两个问题的实体和数据库进行交互?

我目前正在考虑使用泛型和反射做一些基本方法,以获得一些通用查询方法来减少重复(问题 2)(我稍后会提出一个原型供审查)。

谢谢,安德斯

0 投票
1 回答
1727 浏览

java - 为什么要在远程 EJB3 会话 Bean 上使用 InitialContext

为什么在调用远程 EJB 时需要指定各种驱动程序信息?

我们不应该只需要指定 url/port 并且 EJB 容器应该解决所有其他的东西吗?

0 投票
2 回答
569 浏览

java - 在哪里(哪一层)放置实体查询方法、“持久”方法等?

我有一个带有一些 JPA/Hibernate 实体的 SEAM 应用程序。我现在想知道将我的查询和持久性方法放在哪里。

默认选择似乎将它们放在注入的会话 bean 层中

但我想我宁愿拥有实体本身的方法。优点/缺点是什么?

  1. 可测试性?
  2. 好看吗?
  3. 表现?

是否有人从实体上的方法而不是会话 bean 中获得与 EntityManager 等交互的最佳实践的链接?

最好的,安德斯

0 投票
1 回答
2804 浏览

java - 您使用 Ant / JDK 1.4.x 生成 Websphere 6 EJB 的方法是什么?

几年前,我发现的唯一工作方法是:

  1. 使用 XDoclet(ejbdoclet 任务)为每个会话 bean 生成 ibm-ejb-jar-bnd.xmi 和 ibm-ejb-jar-ext.xmi
  2. 用任务 jar 制作一个 jar(没有存根);;
  3. 使用此 jar 调用二进制 EJBDEPLOY,而没有参数中的存根。

但我觉得必须有一个更清洁的方法。哪个是你的?

0 投票
1 回答
1456 浏览

java - 带有远程和本地接口的 EJB 业务接口模式

如何将业务接口模式与具有本地和远程接口的 EJB(会话 bean)一起使用?