sách gpt4 ai đã đi

jakarta-ee - Java EE 应用程序间通信

In lại 作者:行者123 更新时间:2023-12-03 22:32:24 27 4
mua khóa gpt4 Nike

我们正在开发几个独立的应用程序/模块,我们将它们部署到 Glassfish 3.1.1 应用程序服务器上。在某些情况下,这些应用程序需要通过远程接口(interface)调用彼此的方法。打包这些远程接口(interface)的最佳实践是什么?例如。如果A需要调用B的远程接口(interface),是否将B的远程接口(interface)提取到一个单独的JAR文件中,与模块A一起打包?如果这个远程接口(interface)引用了一个实体类怎么办。你会把这个实体类和接口(interface)一起打包到这个JAR文件中吗?

如果您对此主题有任何反馈,请随时提出您认为应该如何完成的建议。

1 Câu trả lời

我在上一份工作中解决了这个问题。

这就是 EJB 的设计目的。 EJB 既有实现又有接口(interface)。该接口(interface)进入您的应用程序使用的客户端 jar:

@EJB
MyService myService;

实现被单独打包并安装在你的服务器的其他地方:

@Stateless
@Remote({MyService.class})
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class MyServiceBean implements MyService {
...
}

BạnKhông nên让应用程序在 Java EE 中直接相互调用! (但在某些情况下,您可以)将 EJB 视为极其轻量级的单一用途服务,您可以在其中提取应用之间的通用业务逻辑。

您的问题听起来像是 AppA 调用 AppB 而 AppB 调用 AppA 的循环依赖情况。从 AppA 中提取 AppA 和 AppB 正在使用的业务逻辑并将其放入 EJB 中。对 AppB 做同样的事情。现在您有 2 个应用程序和 2 个 EJB,可以从其中任何一个应用程序调用通用业务逻辑。

简单吧?让我知道如何更好地解释这一点!

关于jakarta-ee - Java EE 应用程序间通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8096783/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com