iPaaS文档库 iPaaS文档库
00 概述
01 产品安装指南
02 快速入门指南
03 Studio使用指南
04 iPaaS使用指南
05 高级配置指南
06 接口服务说明
07 升级&数据迁移指南
08 产品集成指南
09 FAQ
  • iPaaS Portal 后端代码定制规范
  • 文档说明
  • 获取源码
  • Maven settings文件配置
  • 项目导入
  • 安装依赖包
  • 数据库初始化
  • 配置修改
  • 更新license文件
  • 更新target
  • 项目启动

# iPaaS Portal 后端代码定制规范

# 文档说明

本文档主要介绍在 Windows 系统中,基于JDK 1.8.0_251、 EOS 8.3.3、AFCenter 8.3.3、MySQL 5.7.33数据库源码启动开发。

# 获取源码

在ame+/客服售后/我的源代码申请,发起申请,获取iPaaS Portal源码。

# Maven settings文件配置

导入项目前先准备好需要的maven settings文件,开发环境使用公司提供的默认settings配置文件,如下。

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
    <localRepository>D:\workspace\ESBRepository</localRepository>
    <pluginGroups>
    </pluginGroups>
    <proxies>
    </proxies>
    <servers>
    </servers>
    <mirrors>
        <mirror>
            <id>mirror</id>
            <mirrorOf>central,jcenter,!aliyun-rdc-releases,!aliyun-rdc-snapshots</mirrorOf>
            <name>mirror</name>
            <url>https://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
        <!--
    <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
      <url>http://0.0.0.0/</url>
      <blocked>true</blocked>
    </mirror>
    -->
    </mirrors>
    <profiles>
        <profile>
            <id>nexus.euler.one</id>
            <repositories>
                <repository>
                    <id>primeton-studio-repository</id>
                    <url>http://192.168.2.1:8081/nexus/content/repositories/Primeton_Product_Stage/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                        <checksumPolicy>warn</checksumPolicy>
                    </releases>
                </repository>
                <repository>
                    <id>primeton-public-repository</id>
                    <url>http://192.168.2.1:8081/nexus/content/groups/primeton_public_repositories/</url>
                    <releases>
                        <enabled>true</enabled>
                        <updatePolicy>never</updatePolicy>
                        <checksumPolicy>warn</checksumPolicy>
                    </releases>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>primeton-studio-repository</id>
                    <url>http://192.168.2.1:8081/nexus/content/repositories/Primeton_Product_Stage/</url>
                </pluginRepository>
                <pluginRepository>
                    <id>primeton-public-plugin-repository</id>
                    <url>http://192.168.2.1:8081/nexus/content/groups/primeton_public_repositories</url>
                </pluginRepository>
                <pluginRepository>
                    <id>primeton-public-maven-plugin-repository</id>
                    <url>http://192.168.2.1:8081/nexus/content/groups/primeton_public_maven_repositories/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus.euler.one</activeProfile>
    </activeProfiles>
</settings>

# 项目导入

使用IDEA 打开iPaaS Portal的源码目录,选择根pom,导入成maven工程

# 安装依赖包

执行Maven 的install操作,安装到本地Maven仓库, 以便其它Maven 项目可以引用它。

# 数据库初始化

获取的安装包(Primeton_iPaaS_9.1.0_Portal_Standalone.tar),解压后执行如下脚本:

  1. 以 Mysql 为例,创建编码格式为 UTF-8 的数据库 ipass。
  2. 在“Primeton_iPaaS_9.1.0_Portal_Standalone\db-scripts”目录下,按照数字顺序执行数据库脚本,具体顺序如下:
1. eos/Mysql/eos_all.sql
2. afcenter/Mysql/afc_all.sql
3. esb/Mysql/1-esb-afc-data.sql
4. esb/Mysql/2-schema-esb-mysql.sql
5. esb/Mysql/3-data-esb-mysql.sql
6. esb/Mysql/4-data-ipaas-connector-mysql.sql

# 配置修改

1.将数据库驱动jar包和方言jar包添加到项目依赖的lib下。

2.在 com.primeton.esb.governor.esbafcboot 模块下修改配置文件。

打开“application.properties”文件,修改数据库配置。


server.port=8080
server.connection-timeout=60000
spring.pid.file=pid
spring.profiles.active=nacos,afc,esb
spring.application.name=ESB
spring.jmx.default-domain=${spring.application.name}
spring.cloud.inetutils.preferred-networks=192.168

server.app-server.min-spare-threads=100
server.app-server.max-threads=500
server.app-server.max-connections=1000
server.app-server.accept-count=200
management.health.elasticsearch.enabled=false

spring.resources.static-locations=file:./webapp   #前端静态资源路径
management.endpoints.web.exposure.include=hystrix.stream,health,info,loggers,eos,mappings
spring.main.allow-bean-definition-overriding=true 

out.config.folder=config
eos.profiles.active=dev
eos.cache.mode=redis
eos.admin.port=${server.port}
eos.application.sys-code=EOS-DEMO-SYS
eos.application.sys-key=dc6baaed30e541d78bb91274803d9432
spring.session.store-type=none

# redis
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=123456
spring.redis.lettuce.pool.max-active=100
spring.redis.lettuce.pool.max-idle=100
spring.redis.lettuce.pool.max-wait=5000

# hibernate
spring.jpa.open-in-view=false
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.properties.hibernate.connection.handling_mode=IMMEDIATE_ACQUISITION_AND_HOLD
spring.jpa.properties.hibernate.new_generator_mappings=false
spring.jpa.properties.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect      #默认mysql数据库方言
spring.jpa.properties.database=MYSQL     #默认mysql数据库

spring.mvc.dateFormat=yyyy-MM-dd HH:mm:ss
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.serialization.write-dates-as-timestamps=false

#swagger
swagger.enable=false

# feign
feign.client.config.default.connectTimeout=2000
feign.client.config.default.readTimeout=1000

#AFC\u90E8\u7F72\u65B9\u5F0F sdk || starter
console.deploy.type=starter

#mock\u7AEF\u53E3
afc.console.mock.port=1080
参数 说明
server.port iPaaSPortal服务的端口,默认8080。
eos.cache.mode 缓存方式,默认redis。
spring.redis.host eos.cache.mode=redis时,需要配置redis的IP地址。
spring.redis.port eos.cache.mode=redis时,需要配置redis端口。
spring.redis.password eos.cache.mode=redis时,需要配置redis密码。
spring.jpa.properties.hibernate.dialect 数据库方言类,默认mysql数据库方言,其它数据库参考:1.1 安装须知 的 数据库配置 章节的 方言配置。
spring.jpa.properties.database 参考下方表格。

database类型对应关系

数据库名称 spring.jpa.properties.database
sqlserver sqlserver
mysql mysql
uxdb uxdb
postgresql postgresql
oscar oscar
oracle oracle
opengauss opengauss
KingbaseES KingbaseES
highgo highgo
GBase8s GBase8s
GBase8a GBase
DM DM
  1. 打开application-esb.properties, 修改elasticsearch相关配置:
#esb restTemplate
esb.business=true
esb.database.init=false
esb.database.enforceInit=false
esb.rest.client.socket.timeout=20000
esb.rest.client.connect.timeout=10000
esb.rest.client.connectionRequest.timeout=10000
esb.rest.client.evictIdleConnections=60
esb.rest.client.ConnectionTimeToLive=60
 
elasticsearch.enabled=true
elasticsearch.ioThreadCount=50
elasticsearch.connectTimeout=60000
elasticsearch.maxTotal=10000
elasticsearch.maxPerRoute=1000
elasticsearch.numberOfShards=1
elasticsearch.numberOfReplicas=0
elasticsearch.refreshInterval=10s
elasticsearch.username=elastic
elasticsearch.password=primeton000000
elasticsearch.certificate=C:\\Users\\s\\Desktop\\es\\http_ca.crt
elasticsearch.hosts[0].ip=127.0.0.1
elasticsearch.hosts[0].port=9200
elasticsearch.hosts[0].protocol=https
参数 说明
elasticsearch.enabled 是否启用ElasticSearch,默认为true。
elasticsearch.username ElasticSearch 的访问用户名,默认为elastic。
elasticsearch.password ElasticSearch 的访问密码,密码为安装elasticsearch时设置的密码
elasticsearch.certificate ElasticSearch的证书,该证书为elasticsearch-8.1.2\config\certs下的http_ca.crt文件,文件位置需配置绝对路径
elasticsearch.hosts[0].ip 配置成安装ElasticSearch的机器IP地址。
elasticsearch.hosts[0].port ElasticSearch 的启动端口号。默认为9200。
elasticsearch.hosts[0].protocol ElasticSearch 的http协议,默认https。
  1. 打开user-config.xml文件,修改数据库及配置。
<group name="default">
            <configValue key="Database-Type">MySql</configValue>
            <configValue key="Jdbc-Type"/>
            <configValue key="C3p0-DriverClass">com.mysql.jdbc.Driver</configValue>
            <configValue key="C3p0-Url">jdbc:mysql://127.0.0.1:3306/ipass?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;useSSL=false</configValue>
            <configValue key="C3p0-UserName">root</configValue>
            <configValue key="C3p0-Password">root</configValue>
            <configValue key="C3p0-PoolSize">10</configValue>
            <configValue key="C3p0-MaxPoolSize">50</configValue>
            <configValue key="C3p0-MinPoolSize">10</configValue>
            <!-- //seconds, 0 means connections never expire -->
            <configValue key="C3p0-MaxIdleTime">600</configValue>
            <!-- //idle connections never tested -->
            <configValue key="C3p0-IdleConnectionTestPeriod">900</configValue>
            <configValue key="C3p0-MaxStatements">0</configValue>
            <configValue key="C3p0-NumHelperThreads">1</configValue>

            <configValue key="Transaction-Isolation">ISOLATION_DEFAULT</configValue>
            <configValue key="Test-Connect-Sql">SELECT count(*) from EOS_UNIQUE_TABLE</configValue>
            <configValue key="Retry-Connect-Count">-1</configValue>
        </group>
参数 说明
Database-Type 参考本章节的 database类型对应关系 小节
DriverClass 数据库类型,根据实际环境修改。其它数据库参考:1.1 安装须知 的 数据库配置 章节的 驱动类名称。
Url 访问数据库的JDBC URL,根据实际环境修改。其它数据库参考:1.1 安装须知 的 数据库配置 章节的 连接URL。
UserName 数据库用户名,根据实际环境修改。例如:root
Password 数据库用户密码,根据实际环境修改。例如:111111

# 更新license文件

将项目中的license文件primetonlicense.xml替换为有效license,文件路径为:com.primeton.esb.governor.esbafcboot\src\META-INF_srv\primetonlicense.xml。

# 更新target

运行com.primeton.esb.governor.esbafcboot 模块下Maven clean、compile或install,更新target,确保修改的配置和license生效。

# 项目启动

1.运行com.primeton.esb.governor.esbafcboot 模块下的Application,启动iPaaS Portal。

2.启动后,查看日志,如下图则启动成功。

← 8.1 iPaaS集成DWS 8.3 iPaaS SDK使用说明 →