WSO2 ESB企业服务总线汉化源码分享和实现原理

统一认证系统 同时被 2 个专栏收录
16 篇文章 0 订阅
22 篇文章 1 订阅

转载自 WSO2 ESB企业服务总线汉化源码分享和实现原理
WSO2 ESB是一个轻量级的易于使用的企业服务资源总线,基于Apache Software License v2.0. WSO2 ESB 允许系统管理员和SOA架构师轻松的配置消息路由, 虚拟化, 中介, 转换, 日志记录, 任务调度, 负载均衡, 失败路由, 事件中介等等. 运行时被设计为完全异步, 非阻塞 、连续的。基于 Apache Synapse 中介引擎。

    WSO2 ESB版本5.0.0是4.9.0的后继版,它在单个版本中完成了运行时的工具和分析。WSO2 ESB 5.0.0新增并加强了部分功能:通过WSO2 ESB工具提供的工具支持来创建和管理ESB工件;WebSocket支持通过WSO2 ESB WebSocket传输,WSO2 ESB WebSocket入站协议和WSO2 ESB安全WebSocket入站协议;调解调试器,允许通过WSO2 ESB工具调试中介流等等。

准备工作
WSO2 ESB 5.0.0参考文档:https://docs.wso2.com/display/ESB500/About+this+Release
下载汉化所需的java项目(本人写的源码比较简单仅供参考,此工具可以汉化),源码地址:https://github.com/yoodb/updjarutils
WSO2 ESB 5.0.0下载地址:http://wso2.com/more-downloads/esb/

如何汉化
利用Java代码实现解压和压缩jar,参考资料:http://blog.yoodb.com/yoodb/article/detail/1319
本文采用的WSO2 ESB源码编译后的wso2esb-5.0.1-SNAPSHOT.zip文件,将该压缩包解压后放到本地目录中,作为wso2esb-5.0.1的安装目录。
运行Tests.java类,具体代码如下:
package com.yoodb;

import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Tests {

private static Log log = LogFactory.getLog(Tests.class);

/**
 * 
 * @param args
 * @throws Exception
 */
public static void main(String[] args) throws Exception {
    String infoPath = "E:\\files\\";
    String logFilePath = "info.log";
    UpdJarContent.createFile(infoPath, logFilePath);
    FileOutputStream logfile = new FileOutputStream(infoPath + logFilePath);
    String proName ="Resources";
    ArrayList filelist = UpdJarContent.searchJarFiles("E:\\wso2esb-5.0.1-SNAPSHOT\\repository\\components\\plugins");
    for (File file : filelist) {
        UpdJarContent ut = new UpdJarContent();
        SignUtils ss = new SignUtils();
        String path = file.getAbsolutePath();
        ss.setJarPath(path);
        logfile.write(("------" + path + "------").getBytes());
        logfile.write("\r\n".getBytes());
        log.info("需要解压的压缩包路径-->" + path);

        String fileName = file.getName().replace(".jar", "");
        ss.setOriginalUrl(fileName);
        log.info("用于压缩包删除前缀目录的名称-->" + fileName);

        String filePath = infoPath + fileName;
        ss.setFilePath(filePath);
        log.info("解压后的文件夹目录路径-->" + filePath);

        String newFilePath = infoPath + file.getName();
        ss.setJarNewPath(newFilePath);
        log.info("新打包后的压缩包路径-->" + newFilePath);

        ut.updJarContent(ss,logfile,proName);
        logfile.write(("------" + path + "------").getBytes());
        logfile.write("\r\n".getBytes());
        //DeleteDirectory.deleteDir(new File(filePath));
        //log.info("删除临时解压文件 -->" + filePath + "<-- 成功!");
    }
    logfile.close();
}

}
其中…\repository\components\plugins目录下是所需要汉化的jar包。
jar包名称包含.ui.和ui_的包文件中Resources.properties文件是需要汉化的内容信息,可以打开简单看一下。
注意:org.wso2.carbon.ui_4.4.9.jar包是WSO2 ESB前端框架,而org.wso2.carbon.i18n_4.4.9.jar包是框架对于需要汉化的jar包。
在github中下载的java源码中E:\files\路径是存放解压后的需要汉化文件目录和汉化后压缩的jar包,至于其他的就不在过多解释,有什么不明白的可以在素文宅博客本站留言咨询,执行运行main函数开始汉化操作。
大概需要1小时左右汉化时间,汉化成功后共计一百多个jar包,将E:\files\路径下所有jar包复制到…\repository\components\plugins目录下替换原有jar包,之后运行wso2server.bat即可。

汉化部分结果图:
WSO2 ESB登录主界面
OEGD3(GV91YMNX_)RIK)M7G.png

WSO2 ESB登录后主界面
4)Q{3NGGYB(I]0~6T86LE[L.png

WSO2 ESB 支持许多应用层协议和消息协议(统称为传输), 包括 HTTP/S,E-mail, Java 消息服务 (JMS) and 虚拟文件系统 (VFS)。他还支持域特定协议 如:金融信息交换 (FIX), 高级消息队列协议 (AMQP) and Health Layer 7 (HL7)。新的传输可以被很容易的插入到服务中,该功能是利用Axis2 传输框架提供的无缝可扩展性。更多关于WSO2 ESB博文,可以在素文宅博客www.yoodb.com本站搜索,其他内容持续更新中。

有什么问题可以在素文宅博客留言咨询!!!

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值