java - EJB 3.0。为客户端提供接口(interface)

标签 java jakarta-ee ejb-3.0

假设我正在编写企业 session bean(v 3.0)以将其用作远程 bean。

我已经编写了远程总线接口(interface),在bean类中实现了接口(interface)的方法(bean还使用另一个java对象将数据传输到客户端,该类指定为可序列化以通过网络进行编码),现在我想提供该bean给客户。要使用 bean 功能,客户端需要该 bean 的业务接口(interface)以及用于将数据从 bean 传输到客户端的类。

为了解决这个问题,我用该 bean 制作了一个 jar 并将其提供给客户。然后,客户端必须将此 jar 库添加到客户端的项目中,然后使用 Context 类中的 lookup 方法查找 bean 实现。

但是当我制作一个 jar 时,它会将所有 bean 类放入 jar 存档中,以便客户端可以反编译 jar 的字节码并查看我的接口(interface)的真实实现。这不是很好的做法。

那么如何在不提供真正的实现的情况下向客户端提供所有必要的接口(interface)呢?

最佳答案

将客户端接口(interface)放入不同的包或项目中,并且在构建客户端 jar 时,仅包含该客户端接口(interface)的类文件。

关于java - EJB 3.0。为客户端提供接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6023138/

相关文章:

java - 如何将进程 ID 添加到 LOG4J 日志文件?

java - 当输入无效时出现循环代码问题

java - Intellij Idea kotlin 无法自动导入某些运算符函数,例如 +

jakarta-ee - 使用 CDI 注入(inject) EJB Bean

java - EJB 3.0 和 future 的方法

java - 组合 JPA、EJB 和 JSF 托管 bean 的首选设计模式是什么?

java - 使用第一个字符并删除空格的基本 Java 字符串

java - Jetty 11 不检测 Jakarta Servlets

jakarta-ee - 如何访问c :forEach with a scriptlet/expression?中的迭代变量

java - 如何在 JPA 中级联更新