springXD模块删除命令不删除上传的.jar文件

SpringXD module delete command does not delete the uploaded .jar file

问题

SpringXD 的模块删除命令正在从 SpringXD DIRT 中删除模块(模块列表命令不显示删除模块),但不会删除 /xd/custom-modules/job 目录中上传的 .jar 文件。原因是即使在部署的模块从 SpringXD DIRT 中删除后,.jar 文件仍被 java 进程使用。如果我重新启动管理员和容器,我可以删除文件。

使用带有 --force 选项的模块上传命令会导致以下错误:

java.lang.IllegalArgumentException: Could not install Uploaded module 'job:ang-im-job' at location file [C:\install_dir\xd\custom-modules\job\batch-job.jar] as that file already exists

我正在使用 SpringXD 1.2 和 Windows 7. 这与 OS 有关吗?

以下是脚本,我将对它们进行参数化并与自动化部署工具集成,以便可以使用相同的脚本在 SpringXD DIRT 中部署模块。

upload_module.bat

set ASSEMBLY_PATH=C:\path_to_assembly\batch-job-01.00.00.00-SNAPSHOT.jar

set MODULE_NAME=batch-job

set MODULE_TYPE=job

cd %XD_INSTALL_DIR%\shell\bin\

xd-shell module upload --force --file %ASSEMBLY_PATH% --name %MODULE_NAME% --type %MODULE_TYPE%

deploy_job.bat

set MODULE_NAME=batch-job

set DEPLOY_JOB_NAME=batch-job

cd %XD_INSTALL_DIR%\shell\bin\

xd-shell job create --name %DEPLOY_JOB_NAME% --definition "%MODULE_NAME%" --deploy

destroy_job.bat

set DEPLOY_JOB_NAME=batch-job

cd %XD_INSTALL_DIR%\shell\bin\

xd-shell job destroy --name %DEPLOY_JOB_NAME%

delete_module.bat

set MODULE_NAME=batch-job

cd %XD_INSTALL_DIR%\shell\bin\

xd-shell module delete --name job:%MODULE_NAME%

OS 有问题。在 Windows 上,模块删除命令在从 SpringXD DIRT 环境中删除后不会删除 .jar 文件。 Linux.

上没有此类问题

在我的例子中,虽然 XD shell 说了下面的错误,但我没有在 admin-ui

中看到该模块
xd:>module delete --name job:reverseJob

Command failed org.springframework.xd.rest.client.impl.SpringXDException: Could
not delete module 'job:reverseJob'