使用 .Net NuGet Apache Ignite 包时如何启用 ignite-http-rest 模块?

How do I enable ignite-http-rest module when using the .Net NuGet Apache Ignite package?

我有一个引用 Apache Ignite Nuget 包的 .Net 控制台项目。我对同一进程中的 运行 ignite-rest-http 模块很感兴趣。我正在使用 Apache Ignite 2.0。

我指的是此处所述的 Apache Ignite REST Api: https://apacheignite.readme.io/docs/rest-api

我试过 "Getting Started":

To enable HTTP connectivity, make sure that ignite-rest-http module is in classpath. With binary distribution this means copying libs\optional\ignite-rest-http to libs\ignite-rest-http.

然而,它似乎没有用。我开始我的流程并前往 http://localhost:8080,但没有任何回应。

在 .Net 进程中托管 ignite-rest-http 模块是否合适?

如果是这样,为了在 .Net 进程中托管 ignite-rest-http 模块,我还需要配置什么吗?

NuGet 包包含一组有限的核心功能所需的 JAR。不包括可选库(NuGet.org 包大小限制为 30 MB)。

使用 NuGet 启用 ignite-rest-http:

  • https://ignite.apache.org/download.cgi#binaries
  • 下载完整的二进制包
  • 在某处提取libs\optional\ignite-rest-http内容,比如c:\ignite-rest-http
  • 提供 IgniteConfiguration.JvmClasspath 属性 所有 http JAR 文件的 ; 分隔路径

    var cfg = new IgniteConfiguration
    {
        JvmClasspath = Directory.GetFiles(@"c:\ignite-rest-http")
            .Aggregate((x, y) => x + ";" + y)
    };
    
    Ignition.Start(cfg);
    
    Console.WriteLine(new WebClient().DownloadString("http://localhost:8080/ignite?cmd=version"));
    

计划将这些 JAR 作为单独的 NuGet 包包括在内:https://issues.apache.org/jira/browse/IGNITE-3275