Проблема
Команда удаления модуля SpringXD удаляет модуль из SpringXD DIRT (команда списка модулей не показывает модуль удаления), но не удаляет загруженный файл .jar в каталоге /xd/custom-modules/job. Причина в том, что файл .jar используется java-процессом даже после удаления развернутого модуля из SpringXD DIRT. Если я перезапущу администратора и контейнер, я смогу удалить файл.
использование команды загрузки модуля с параметром --force приводит к следующей ошибке:
java.lang.IllegalArgumentException: не удалось установить загруженный модуль «job:ang-im-job» в файл местоположения [C:\install_dir\xd\custom-modules\job\batch-job.jar], поскольку этот файл уже существует
Я использую SpringXD 1.2 и Windows 7. Это как-то связано с ОС?
Ниже приведены сценарии, я собираюсь их параметризовать и интегрировать с инструментом автоматического развертывания, чтобы те же сценарии можно было использовать для развертывания модулей в SpringXD DIRT.
upload_module.bat
установить ASSEMBLY_PATH=C:\path_to_assembly\batch-job-01.00.00.00-SNAPSHOT.jar
установить MODULE_NAME = пакетное задание
установить MODULE_TYPE = задание
компакт-диск %XD_INSTALL_DIR%\shell\bin\
Загрузка модуля xd-shell --force --file %ASSEMBLY_PATH% --name %MODULE_NAME% --type %MODULE_TYPE%
deploy_job.bat
установить MODULE_NAME = пакетное задание
установить DEPLOY_JOB_NAME = пакетное задание
компакт-диск %XD_INSTALL_DIR%\shell\bin\
xd-shell job create --name %DEPLOY_JOB_NAME% --definition "%MODULE_NAME%" --deploy
destroy_job.bat
установить DEPLOY_JOB_NAME = пакетное задание
компакт-диск %XD_INSTALL_DIR%\shell\bin\
Задание xd-shell уничтожить --name %DEPLOY_JOB_NAME%
delete_module.bat
установить MODULE_NAME = пакетное задание
компакт-диск %XD_INSTALL_DIR%\shell\bin\
Удаление модуля xd-shell --name job:%MODULE_NAME%