可通过配置文件添加Java语言类中间件,走通用中间件迁移流程,从而提升中间件迁移能力。
扫描规则文件可从“/opt/DevKit/devkitplugins/porting/cmd/bin/resources/sysmig_disk_scan_classifier.json”获取。
1 | vi sysmig_disk_scan_classifier.json
|
按“i”进入编辑模式,以新增如下加粗内容为例:
{
"linux_binary_classifiers": [
{
"cli_category": "MIDDLEWARE",
"category": 3,
"file_glob": "**/target/nacos-server.jar",
"version_pattern": "(?m)Implementation-Version:\\s(?P<version>[0-9]+[.0-9]*)",
"version_file": "MANIFEST.MF",
"package": "Nacos",
"supplier": "Alibaba",
"type": "BINARY",
"metadata_type": "MIDDLEWARE_WEB_ALIBABA_NACOS",
"company_type": "开源",
"relative_directory_hierarchy": "../",
"mig_process_type": 1
},
{
"cli_category": "RUNTIME_JAVA",
"category": 3,
"file_glob": "**/java",
"version_pattern": "(?m)(\\x00java\\x00|\\x00|\\x00-Djava.class.path=%s)(?P<release>[0-9]+[.0-9]*(\\x00)+)?(?P<version>\\d+(\\.\\d)+[^\\x00]+)(\\x00openjdk)?(\\x00java)?\\x00",
"version_file": "../release",
"package": "JDK",
"supplier": "JDK",
"type": "BINARY",
"metadata_type": "JAVA_RUNTIME_BINARY",
"company_type": "开源",
"relative_directory_hierarchy": "../",
"mig_process_type": 0
},
...
],
"middleware_jar_classifiers": [
{
"cli_category": "MIDDLEWARE",
"category": 3,
"file_glob": "**/weblogic.jar",
"version_pattern": "(?m)Implementation-Version: (?P<version>[0-9]+[.0-9]*)",
"version_file": "MANIFEST.MF",
"package": "WebLogic",
"supplier": "Oracle Corporation",
"type": "BINARY",
"metadata_type": "MIDDLEWARE_WEB_WEBLOGIC",
"company_type": "商业",
"relative_directory_hierarchy": "../../../../../",
"mig_process_type": 0
},
...
],
...
}
包含以下类型,参数说明表1所示:
参数 |
参数选项 |
是否必填 |
说明 |
|---|---|---|---|
cli_category |
APP_JAVA/RUNTIME_JAVA/MIDDLEWARE/DATABASE/HARDWARE/OS |
是 |
软件类别,配置为MIDDLEWARE。
|
category |
1/2/3/4 |
是 |
软件类别,配置为3。
|
use_file_regex |
true/false |
否 |
特征文件是否使用正则匹配,默认为false。
|
file_glob |
- |
是 |
特征文件,用于标识软件和匹配软件版本。 例如:**/nginx 说明:
版本匹配优先级从高到低为:file_glob、version_file。 |
version_pattern |
- |
是 |
版本。正则表达式,对特征文件进行正则匹配,若无可填空字符串。 |
version_file |
- |
否 |
版本文件名,用于匹配版本,middleware_jar_classifiers归类下必填。文件中包含该款软件的版本信息。 |
package |
- |
是 |
软件官方名称,例如:Nginx。 |
supplier |
- |
是 |
软件厂商名,例如:Nginx, Inc。 |
type |
BINARY |
是 |
软件类型,需要配置为BINARY。 |
metadata_type |
DATABASE_OTHER/MIDDLEWARE_WEB_OTHER |
是 |
软件归类。
|
company_type |
自有/开源/商业/-- |
是 |
是否开源。 |
relative_directory_hierarchy |
- |
是 |
安装目录。通过file_glob找到的特征文件的相对路径。 例如:安装目录为特征文件上层目录,则填写../。 |
mig_process_type |
0/1 |
是 |
用于标识中间件迁移流程。
|