12

有人可以完成将 .patch 文件应用到 WSO2 ESB v4.0.3 所需遵循的步骤吗?我尝试了以下方法:

  1. 上传.patch文件到repository/components/patchescarbon_home/lib/patches

  2. wso2server.sh start -DapplyPatches

此命令在 components/patches 目录中创建一个名为patch000的目录,并用插件填充它。

我要应用的补丁是https://issues.apache.org/jira/browse/TRANSPORTS-51

非常感谢

4

4 回答 4

10

您需要将 .patch 文件应用到代码库并从中创建 jar。然后创建一个带有补丁名称的文件夹(例如:patch001)并将jar(s)放入其中并将新创建的补丁文件夹(例如:patch001)复制到repository/components/patches。现在运行 wso2server.sh -DapplyPatches 就可以了。

当您执行 -DapplyPatches 时,它会将 repository/components/plugins 目录的原始内容备份到 repository/components/patches 目录,这就是您看到 patch000 文件夹的原因(因此可以恢复到以前的状态)。

于 2012-07-03T11:31:37.713 回答
3

从 carbon 4.2.0 开始,你不需要提供 -DapplyPatches 选项来应用补丁。当服务器启动时,它会自动检测并应用是否有新补丁。这可以从日志文件 repository/logs/patches.log 中验证

于 2014-01-23T17:52:30.207 回答
3

WSO2官方补丁,

  1. 阅读自述文件。(不是必须的步骤,如果你这样做更好)

  2. 如果您已经启动,请关闭服务器。

  3. 将 wso2carbon-version.txt 文件复制到 /bin。(不是必须的步骤,如果这样做更好)

  4. 将 patchNumber 复制到 /repository/components/patches/

  5. 使用以下命令重新启动服务器:Linux/Unix:sh wso2server.sh Windows:wso2server.bat

由您创建的补丁

Compile( mvn clean install) 并从修改后的代码库中获取 jar。例如,假设您正在为 carbon-registry extensions创建一个补丁。首先,克隆 carbon-registry 并进行修复,然后转到扩展模块。使用 maven build( mvn clean install) jar。然后创建一个带有补丁名称的文件夹(例如:patch9999)并将 jar(s)放入其中并将新创建的补丁文件夹(例如:patch9999)复制到repository/components/patches. 现在只需重新启动/启动产品,补丁就会被应用。

./wso2server.sh restart/start

但是,如果产品早于 carbon 4.2.0,您必须在启动产品时提供 -DapplyPatches 属性,如下所示。

./wso2server.sh -DapplyPatches

如果补丁成功应用,您可以在开头看到下面的一组行。

[2016-08-24 20:27:25,319]  INFO {org.wso2.carbon.server.extensions.PatchInstaller} -  Patch changes detected 
[2016-08-24 20:27:27,980]  INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Backed up plugins to patch0000
[2016-08-24 20:27:28,010]  INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Patch verification started
[2016-08-24 20:27:28,034]  INFO {org.wso2.carbon.server.util.PatchUtils.console} -  Patch verification successfully completed.
于 2014-10-28T04:53:46.390 回答
-1

正如 Sajith 所说,我们在 wso2server.sh 文件中默认添加了 -DapplyPatches 作为 JVM 参数。

于 2014-11-27T03:02:10.033 回答