Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WSO2 EI部署更新工件_Wso2_Wso2esb_Synapse - Fatal编程技术网

WSO2 EI部署更新工件

WSO2 EI部署更新工件,wso2,wso2esb,synapse,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中,我只选择部署第二个API CappFile.1.0.0.car -

我有一个关于WSO2 EI部署的问题。下面是一个场景,我为我的项目创建了4个API

这是第一次部署。我生成了1个CApp文件,其中包括4个API和其他工件,如端点、资源和java项目

CappFile.1.0.0.car
-- FirstApi
-- SecondApi
-- ThirdApi
-- FourthApi
它运行得很好,一切正常。比如在接下来的几周里。第二个API需要在流程中稍加增强。在Capp pom.xml中,我只选择部署第二个API

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

我想我需要更改.car文件的名称/版本控制。我的第二个方法是

CappFile.1.0.1.car
-- SecondApi
当我这次部署时,控制台提示我一个错误,
通过名称复制了资源定义:SecondApi

你们怎么处理这种情况?或者每次我需要执行部署时,即使其他API没有任何更改,我也需要在.car文件中包含所有内容吗

更新

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

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


请帮忙

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

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

如果您想单独部署API,您应该为每个API及其相应的文件(序列、注册表项等)创建一个CAR文件

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

如果选择不同的方式更新使用CAR文件部署的API,则在服务器重新启动时,它将恢复为原始状态(从CAR文件)


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

谢谢你的解释,奥菲修斯先生。如果是这样的话,我应该有4个不同的汽车文件为4个不同的API是吗?每次我需要修复或更新文件时,我都需要重新部署整个过程,对吗?这可能是最简单的解决方案,在这种情况下,当您对API进行更新时,您只需部署其中一个文件。