gpt4 book ai didi

java - C++ 服务提供商如何扩展 Java 应用程序?

转载 作者:行者123 更新时间:2023-11-28 00:26:53 24 4
gpt4 key购买 nike

我正在使用服务提供商的概念创建一个可扩展的 Java 应用程序。我有一个名为 PoolTuningStrategy 的抽象类,它是一个服务,我的应用程序的用户以扩展此 PoolTuningStrategy 类的服务提供者的形式提供他们的服务,用户以 jar 文件的形式提供他们的实现,我的应用程序使用 ServiceLoader 类来动态加载服务供应商如下

int i=0;
for (PoolTuningStrategy foo : ServiceLoader.load(PoolTuningStrategy.class,urlloaders))
strategy[i++]=foo;

现在 strategy[] 包含了所有的实现集。现在我的问题是“我如何创建一个扩展我的 Java 抽象类 PoolTuningStrategy 的 C++ 类,以便我可以使用 C++ 服务提供者。”实际上,我希望 Java 和 C++ 程序员能够扩展我的应用程序。我只使用 Java 完成了它,但我不知道如何通过 C++ 实现来扩展我的 Java 应用程序。

最佳答案

您可以制作一个 Java 类,它通过 JNI 委托(delegate)给 C++ 实现。但是,C++ 类不能从 Java 类继承,Java 类也不能从 C++ 继承。您必须改为使用委托(delegate)。

关于java - C++ 服务提供商如何扩展 Java 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24617678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com