2.2. 停止 Apache Karaf
您可以从控制台内或使用 stop 脚本停止 Apache Karaf 实例。
2.2.1. 从本地控制台停止实例 复制链接链接已复制到粘贴板!
如果您通过运行 fuse 或 fuse 客户端 启动 Karaf 实例,您可以在 karaf > 提示符下执行以下操作之一来停止它:
-
类型
关闭 - 按 Ctrl+D
2.2.2. 停止在服务器模式下运行的实例 复制链接链接已复制到粘贴板!
您可以通过调用 InstallDir/bin 目录中的 stop (.bat) 来停止本地运行 Karaf 实例(root 容器),如下所示:
Windows
bin\stop.bat
bin\stop.bat
Linux/UNIX
./bin/stop
./bin/stop
Karaf stop 脚本调用的关闭机制与 Apache Tomcat 中实施的关闭机制类似。Karaf 服务器打开专用关闭端口(与 SSH 端口相同),以接收关闭通知。默认情况下,会随机选择关闭端口,但如果您愿意,您可以将它配置为使用特定端口。
您可以通过在 InstallDir/etc/config.properties 文件中设置以下属性来自定义关闭端口:
karaf.shutdown.port指定用作关闭端口的 TCP 端口。将此属性设置为
-1可禁用端口。默认为0 (用于随机端口)。注意如果要使用
bin/stop脚本关闭远程主机上运行的 Karaf 服务器,则需要将此属性设置为与远程主机的关闭端口相等。但请注意,此设置也会影响位于与etc/config.properties文件相同的主机上的 Karaf 服务器。karaf.shutdown.host指定关闭端口绑定到的主机名。此设置对于多主目录主机非常有用。默认为
localhost。注意如果要使用
bin/stop脚本关闭远程主机上运行的 Karaf 服务器,则需要将此属性设置为远程主机的主机名(或 IP 地址)。但请注意,此设置也会影响位于与etc/config.properties文件相同的主机上的 Karaf 服务器。karaf.shutdown.port.file-
在 Karaf 实例启动后,它会将当前关闭端口写入此属性指定的文件中。
stop脚本读取此属性指定的文件,以发现当前关闭端口的值。默认为${karaf.data}/port。 karaf.shutdown.command指定必须发送到关闭端口的 UUID 值,才能触发关闭。这提供了元素级别的安全性,只要 UUID 值保留了一个 secret。例如,
etc/config.properties文件可以被读取保护,以防止常规用户读取这个值。当 Apache Karaf 首次启动时,会自动生成随机 UUID 值,并将此设置写入
etc/config.properties文件的末尾。或者,如果已经设置了karaf.shutdown.command,则 Karaf 服务器将使用预先存在的 UUID 值(如果需要,您可以自定义 UUID 设置)。注意如果要使用
bin/stop脚本关闭在远程主机上运行的 Karaf 服务器,则需要将此属性设置为等于远程主机karaf.shutdown.command的值。但请注意,此设置也会影响位于与etc/config.properties文件相同的主机上的 Karaf 服务器。
2.2.3. 停止远程实例 复制链接链接已复制到粘贴板!
您可以停止在远程主机上运行的容器实例,如 第 16.3 节 “停止远程容器” 所述。