我有一个在Felix框架上运行的OSGi项目,有多个服务。我需要从命令行(而不是从OSGi shell)访问其中一个服务。这是可能的,如果可以的话,我该怎么做?
答案 0 :(得分:0)
创建一个从命令行运行的Java程序?如果不使用Java(或其他JVM语言),则无法访问服务注册表。
或者,您当然可以将API公开为RESTful Web服务,并从JVM外部通过该API访问您的服务。
答案 1 :(得分:0)
OSGi服务仅在本地OSGi框架内可用。所以你需要使用一些远程处理来从另一个进程到达它们。基于felix构建的Apache Karaf支持使用ssh访问正在运行的服务器的命令客户端。这样,您就可以从OS命令行执行OSGi shell的命令。这可能对你的情况有所帮助。