iPaaS文档库 iPaaS文档库
00 概述
01 产品安装指南
02 快速入门指南
03 Studio使用指南
04 iPaaS使用指南
05 高级配置指南
06 接口服务说明
07 升级&数据迁移指南
08 产品集成指南
09 FAQ
  • iPaaS Portal 后端开发环境搭建指南
  • 文档说明
  • 获取源码
  • 环境准备
  • 1、安装JDK并配置环境变量
  • 2、安装IntelliJ IDEA社区版
  • 3、准备Maven相关资源
  • 源码导入、编译
  • 数据库初始化
  • 配置修改
  • 1、放数据库驱动
  • 2、配置修改
  • 更新license文件
  • 更新target
  • 项目启动

# iPaaS Portal 后端开发环境搭建指南

# 文档说明

在Windows11 64位操作系统中,基于JDK1.8.0_251、 EOS8.3.3、MySQL 5.7.33讲解源码环境搭建、编译及启动步骤,其他环境需根据实际情况调整。

# 获取源码

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

# 环境准备

# 1、安装JDK并配置环境变量

支持的JDK版本:OracleJDK 1.8.0_251、OpenJDK 1.8.0_382,请自行获取JDK介质并安装。

JDK的安装和环境变量配置按标准方式配置,配置好以后打开cmd窗口执行java -version命令,显示了 安装的JDK版本,说明JDK环境变量配置正确。

# 2、安装IntelliJ IDEA社区版

推荐使用已验证的2023.2.6版本,即Build:232.10300.40 从jetbrains的官网,下载对应版本的介质并安装,注意下载和机器的操作系统和架构匹配的介质 如:2023.2.6版本(Build:232.10300.40)

下载地址参考:https://www.jetbrains.com/idea/download/other.html

# 3、准备Maven相关资源

# 3.1、准备Maven工具

1) 使用IDEA里带的Maven3.9.2

2) 自行安装Maven,推荐版本3.8.5

# 3.2、准备settings.xml

从阿里云仓库拉取依赖,点击链接下载settings.xml:settings.xml

在IDEA中,点击右侧Maven - Maven Settings,在Settings界面 -> Build,Execution,Deployment -> Build Tools -> Maven关联settings.xml

注意修改settings.xml里localRepository的配置,配置为Maven本地仓库的路径。

# 源码导入、编译

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

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

打印出BUILD SUCCESS,说明源码编译成功。

# 数据库初始化

获取的安装包(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 模块下修改配置文件。

# 2.1、修改application.properties

打开application.properties文件,修改iPaaSPortal服务端口、redis、数据库类型及方言配置。


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

# 2.2、修改user-config.xml

打开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

# 2.3、修改application-esb.properties

打开application-esb.properties文件, 修改elasticsearch相关配置:

非搭建源码环境的必须配置,运维门户监控数据相关功能需要连接ES。

#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。

# 更新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使用说明 →