在 WSO2 微集成器中替换 CAR 时出现重复的服务名称错误

问题描述

我创建了一个代理服务并将其作为 CAR 应用程序放入路径 /home/wso2carbon/wso2mi-1.2.0/repository/deployment/server/carbonapps 中的 WSO2 Micro-Integrator 1.2.0。我可以毫无问题地查询新的代理服务,但是当我删除 CAR 应用程序并将其替换为新版本的 CAR 时,在 Micro Integrator 中出现错误

...
Caused by: org.apache.synapse.deployers.SynapseArtifactDeploymentException: ProxyService named : MyCustomProxyService already exists
    at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:482)
    at org.apache.synapse.deployers.ProxyServiceDeployer.deploySynapseArtifact(ProxyServiceDeployer.java:66)
    ... 20 more

我认为通过删除 CAR 应用程序,它会删除代理服务,但显然不是这样工作的。

如果我删除有问题的 CAR 应用程序并重新启动 WSO2 Micro-Integrator 服务,那么,当我(再次)放置新的 CAR 应用程序时,不会出现错误

有没有办法在不重启 WSO2MI 服务器的情况下清理任何已安装的代理服务(CAR 应用程序)?

解决方法

当您删除 carbon 应用程序时,所有部署的工件都应该从服务器中删除,根据您的问题描述,热部署功能似乎不起作用。但是,当我在新的和更新的 WSO2:MI-1.2.0 包中进行本地检查时,我能够部署相同的更改汽车应用程序,而无需重新启动任何服务器。因此,请从官方网站[1] 下载最新版本:7.1.0,然后重试。