通过远程和本地接口访问EJB。

问题描述 投票:0回答:1

在我们的JEE应用中,我们有一个基础服务。这个服务应该有一个接口。

public interface BasisServiceA

这个服务的实现是一个 豆子.

@Remote(BasisServiceA.class)
@LocalBean
public class BasisServiceAImpl implements BasisServiceA {
...
}

这个服务将被远程调用,例如通过JMS,通过使用 遥远 接口。现在,我们想在应用程序内部使用同样的服务,通过使用 同一界面. 问题:如何从应用中使用接口访问服务?

  • 我们如何通过接口从应用程序中访问服务?

考虑因素:我们不想直接使用BasisServiceAImpl类。

  • 我们不想直接使用BasisServiceAImpl类.
  • @LocalBean不允许使用限定词,但@Local允许使用
  • 使用相同的接口作为限定,是否会让DI感到困惑?
  • 第二个接口(例如@Local(BasisServiceALocal) )是唯一的解决方案吗?
jakarta-ee dependency-injection interface ejb
1个回答
1
投票

你在试图解决一个不存在的问题。只要在你的应用中注入远程接口,让应用服务器去弄清楚你是从同一个应用上下文中调用bean,然后进行优化(即不需要序列化反序列化参数返回值)。相信我,实现应用服务器的人都不是傻子,他们花了大量的思考时间来想办法优化服务器。这个几乎是免费的。

© www.soinside.com 2019 - 2024. All rights reserved.