WSO2 EI部署更新的工件

时间:2018-12-20 10:06:36

标签: wso2 wso2esb synapse

我对WSO2 EI部署有疑问。在这种情况下,我为项目创建了4个API。

首次部署。我生成了1个CApp文件,其中包含4个API和其他工件,例如端点,资源和Java项目

CappFile.1.0.0.car
-- FirstApi
-- SecondApi
-- ThirdApi
-- FourthApi

运行良好,一切正常。例如在接下来的几周。第二个Api需要在流程中进行一些增强。在Capp pom.xml中,我仅选择部署SecondApi

CappFile.1.0.0.car
-- SecondApi

这次我部署CappFile.1.0.0.car时,它将覆盖/删除系统中的FirstApi,ThirdApi和FourthApi。

尽管我需要更改.car文件的名称/版本。我的第二种方法是

CappFile.1.0.1.car
-- SecondApi

这次部署时,控制台提示我一个错误Duplicate resource definition by the name: SecondApi

你们如何处理这种情况?还是我每次需要执行部署时都需要将所有内容都包含在.car文件中,即使其他API没有任何更改?

更新

有一个选项可以将单个工件打包到可部署的归档文件中。 Link。我设法将SecondApi打包到了可部署的归档文件中,即SecondApi.xml。

但是我需要在哪里上传XML文件?他们从未在文档中提及任何内容。

请帮助!

1 个答案:

答案 0 :(得分:2)

当您重新部署CAR文件时,EI将有效地删除旧的CAR文件内容,并将其替换为新的CAR文件内容。如果您的CAR文件包含4个API,而您又更新了一个但又不想删除其他API,则新文件将必须再次包含所有4个API。

其次,它根据名称替换CAR文件及其内容。因此,如果您创建其他CAR文件,它将不会替换第一个。然后,当它想要部署“ SecondAPI”时,它已经存在,将不会被替换。

如果要单独部署API,则应为每个API及其对应的文件(序列,注册表项等)创建一个CAR文件。

如果一组API之间存在依赖关系,并且您决定它们应该属于同一CAR文件,则在通过CAR文件更新其中一个API时,它们将始终被重新部署。

如果您选择其他方法来更新使用CAR文件部署的API,则在服务器重新启动后,它将恢复为原始状态(来自CAR文件)。

没有直接的方法来部署单独打包的工件。