# 普元中间件项目化部署手册

# 适配版本(参考)

中间件:普元中间件Version.6.5.104 (build 2116)

数据库:人大金仓V8R006

OA版本:A8-N V8.2SP1 (B231013.190307.CTP109117792)

关联支持项目:PMP-JFZC-2024-5329

项目化支持,意味着可能存在项目化适配成本,可能存在缺陷,并且后续产生的BUG可能需要额外项目化成本解决

# 安装普元中间件

普元方直接安装或普元方提供手册和支持安装,在此不赘述。

# 启动中间件服务及配置

访问/data/primeton/PAS/pas6目录,再执行 ./startServer.sh 启动。

# 普元端口说明

端口 说明
6888 PAS V6.5管理控制台默认端口
8080 PAS V6.5默认server的应用访问Http端口
8181 PAS V6.5默认server的应用访问Http SSL端口

# 登录普元控制台

访问普元管理控制台: http://ip:6888

默认帐号信息:

账户类型 账户名称 默认密码
管理员 admin PAS6@admin
操作员 operator PAS6@operator
审计员 auditor PAS6@auditor

# 新建独立实例

实例名称:seeyon ,其他配置默认

# 修改jvm参数

点击独立实例-seeyon-config-JVM设置-JVM选项

-Xmx根据实例物理内存调大,例如8G,并添加其它jvm选项

# 此参数必填,务必使用G1GC
-XX:+UseG1GC

-XX:ReservedCodeCacheSize=1G

# 此参数需要根据项目上真正选用的数据库产品做配置,这里示例配置是人大金仓驱动名com.kingbase8.Driver
-Djdbcproxydriver.driverclass=com.kingbase8.Driver
# 此参数必填,不录入会导致无法启动,或启动后一堆问号乱码
-Dcom.sun.enterprise.overrideablejavaxpackages=org.apache.taglibs.standard

# 启动实例

图形用户界面, 应用程序描述已自动生成

服务器查看参数是否生效:

ps -ef|grep java |grep pas

图表中度可信度描述已自动生成

# 部署OA应用包

前提:从致远商务公布的安装程序地址下载里找到客户版本,再找到对应的信创部署文件(如2.V8.2SP1_XinChuang.zip),将其下载下来。

# 解压部署包文件

  1. 上传信创部署包到服务器指定安装目录,并解压,例如:/data/primeton/Seeyon
unzip 2.V8.2SP1_XinChuang.zip
  1. 由于信创部署工具未兼容普元中间件,所以需要手动解压ApacheJetspeed.7z包

若环境安装了 7za 命令,直接用命令解压即可,命令:

7za x file.7z

若环境没有安装 7za命令,工具自身也支持通过命令行的方式进行解压,在工具目录下,执行命令:

java -jar lib/J7Zip.jar X 源文件 目标路径
  1. 进入解压后的部署包目录(按实际路径修改):
cd /data/primeton/Seeyon/2.V8.2SP1_XinChuang/deploytools

java -jar lib/J7Zip.jar X
/data/primeton/Seeyon/2.V8.2SP1_XinChuang/V5/ApacheJetspeed.7z
/data/primeton/Seeyon/V5/

形状中度可信度描述已自动生成

  1. 同样方式解压productiden版本标识文件,覆盖到ApacheJetspeed目录

标识文件所在路径:信创部署包中/deploytools/file/productiden

说明:A8V5-1.7z:A8企业版、A8V5-2.7z:A8集团版、A8N-1.7z:A8-N企业版、A8N-2.7z:A8-N集团版

cd /data/primeton/Seeyon/2.V8.2SP1_XinChuang/deploytools

java -jar lib/J7Zip.jar X
/data/primeton/Seeyon/2.V8.2SP1_XinChuang/deploytools/file/productiden/A8N-2.7z
/data/primeton/Seeyon/V5/

# 放置致远license文件

进入部署安装目录/data/primeton/Seeyon/V5/,创建base/conf 、base/license目录

cd /data/primeton/Seeyon/V5/

mkdir -p base/conf

mkdir -p base/license

把注册更新后的a8nv5.seeyonkey文件放置于/data/primeton/Seeyon/V5/base/license目录下

# 手动初始化数据库

# 说明

由于信创部署工具未支持,故需要连接数据库手动执行初始化sql文件(人大金仓数据库部署及用户创建请参考A8-N V8.2SP1信创环境部署手册:人大金仓安装配置)

参考手册地址:https://open.seeyoncloud.com/v5doc/34/973/981/985.html#_6-1-安装数据库 (opens new window)

# 获取初始化sql文件

进入解压后的信创部署包对应版本对应数据库目录,如A8N-2集团版

人大金仓数据库:

cd /data/primeton/Seeyon/2.V8.2SP1_XinChuang/deploytools/file/sql/init/A8N-2/KingBase/

# 执行初始化sql

下载A8N-2_ALL_IN_ONE_KINGBASE.SQL到本地,连接人大金仓数据库,拷贝sql文件中内容到数据库查询窗口全选执行。

图形用户界面, 文本描述已自动生成

# 打上普元中间件补丁并调整xml

补丁包可联系内部人员在关联支持项目单中获取:PMP-JFZC-2024-5329

# 补丁class文件打入jar包

1、将提供的普元中间件patch补丁包中下列目录中的类打入pas6\pas\modules目录的去掉-patch的同名jar包中(container-common.jar\ dol.jar\ jpa-container.jar):

container-common-patch、dol-patch、jpa-container-patch

把服务器以上三个jar下载到本地,用winrar打开jar文件,把对应patch目录文件拖进去,点击确定关闭即可

2、 将1-serverdector-patch中的类参考第一步打入到ApacheJetspeed\webapps\seeyon\WEB-INF\lib\seeyon-util.jar中。

3、 如果有则删除ApacheJetspeed\webapps\seeyon\WEB-INF\classes\com\seeyon\ctp\util\ServerDetector.class冲突的类(一般此目录存在该文件都是客开,可以联系客开检查并合并1-serverdector-patch中的代码)

# jar文件打入OA及中间件目录

  1. 将hazelcast-3.11.7.jar复制到部署目录ApacheJetspeed\webapps\seeyon\WEB-INF\lib目录中

  2. 将pas4zyoa-patch.jar复制到中间件安装目录pas6\pas\lib\endorsed目录中(该目录需要新建)

# xml文件调整

  1. 拷贝patch包中appserver-web.xml放到ApacheJetspeed\webapps\seeyon\WEB-INF下

  2. 删除ApacheJetspeed\webapps\ROOT\META-INF\context.xml

# jar包调整

  1. 把ApacheJetspeed\webapps\seeyon\WEB-INF\lib目录以下的jar文件复制到pas6\pas\lib目录下面:

seeyon-ctp-dbpool.jar、seeyon-ctp-giant-panda.jar、seeyon-ctp-jdbcproxydriver.jar、druid.jar、guava.jar

  1. 把ApacheJetspeed\webapps\seeyon\WEB-INF\lib目录下的serializer.jar、xalan.jar拷贝到/pas6/pas/lib/endorsed下

  2. 把部署包中2.V8.2SP1_XinChuang/deploytools/lib/kingbase8-8.6.0.jar复制到pas6\pas\lib下

  3. 删除ApacheJetspeed\webapps\seeyon\WEB-INF\lib下面的下面的jar:

seeyon-ctp-giant-panda.jar、seeyon-ctp-jdbcproxydriver.jar

# 数据源配置

# 新建连接池

进入管理控制台-资源-JDBC-JDBC连接池-新建

池名称:seeyon

资源类型:java.sql.Driver

数据库驱动程序供应商:输入SEEYON 【因为要使用驱动代理,所以此处自定义】

图形用户界面, 应用程序描述已自动生成

下一步,数据库驱动类名统一使用:

com.seeyon.ctp.monitor.perf.jdbcmonitor.proxyobj.JMProxyDriver

图形用户界面, 文本, 应用程序描述已自动生成

池设置最小连20,最大连接500,事务隔离级别选择:read-committed

图形用户界面, 应用程序描述已自动生成

其他属性配置数据库url及用户名密码:

url(按实际ip、端口、数据库名称修改标红处):

jdbc:kingbase8://10.2.5.40:54321/v82sp1_pas?clientEncoding=UTF-8

正确输入用户名密码,并点击右下角-完成。

背景图案描述已自动生成

# 新建JDBC资源

管理控制台-资源-JDBC-JDBC资源-新建

JNDI名称(固定不可更改并注意大小写):jdbc/ctpDataSource

池名称:选择上一步创建的池名称

可用目标:选择创建的独立实例名

图形用户界面, 应用程序, Teams描述已自动生成

# 部署应用

# 部署ROOT

管理控制台-应用程序-部署

图形用户界面, 文本, 应用程序, 电子邮件描述已自动生成

位置:选择-可以访问服务器本地的打包文件或目录,并输入ROOT目录实际路径

类型:选择web应用程序

上下文根:/

应用程序名称:ROOT

状态:勾选

部署顺序:100

其他默认不勾选

可用目标:选择实例seeyon

# 部署static

位置:选择-可以访问服务器本地的打包文件或目录,并输入static目录实际路径

类型:选择web应用程序

上下文根:/static

应用程序名称:static

状态:勾选

部署顺序:101

其他默认不勾选

可用目标:选择实例seeyon

图形用户界面, 文本, 应用程序, 电子邮件描述已自动生成

# 部署sportal

位置:选择-可以访问服务器本地的打包文件或目录,并输入sportal目录实际路径

类型:选择web应用程序

上下文根:/sportal

应用程序名称:sportal

状态:勾选

部署顺序:102

其他默认不勾选

可用目标:选择实例seeyon

# 部署seeyon

位置:选择-可以访问服务器本地的打包文件或目录,并输入seeyon目录实际路径

类型:选择web应用程序

上下文根:/seeyon

应用程序名称:seeyon

状态:不勾选 【此处取消勾选,seeyon应用目录较大,在部署后控制台单独启用】

部署顺序:103

其他默认不勾选

可用目标:选择实例seeyon

点击完成开始部署,中间件日志/data/primeton/PAS/pas6/pas/domains/domain1/logs/server.log可以看到成功部署信息。

图片包含 日历描述已自动生成

部署完成后在应用列表点击seeyon应用-目标-更多操作-启用

图形用户界面, 文本, 应用程序, 电子邮件, Teams描述已自动生成

图形用户界面, 应用程序描述已自动生成

seeyon应用目录较大,启用时间较长,可进入中间件/data/primeton/PAS/pas6/pas/nodes/localhost-domain1/seeyon/logs目录使用tail -f server.log命令查看进度

图形用户界面, 应用程序, Teams描述已自动生成

# 常见问题

# 问题一:部署应用时报错:错误:应用数超过许可证限制:3,请合法使用普元产品,普元公司保留所有权利!

问题原因:直接解压启动使用普元中间件,没有放置普元中间件授权,默认只有3个应用授权

图形用户界面, 文本, 应用程序, 电子邮件描述已自动生成

解决方法:管理控制台-右上角-点击License,上传新的license授权即可

图形用户界面, 应用程序, Word, Teams描述已自动生成

文本中度可信度描述已自动生成

# 问题二:启动日志中报错,Caused by: java.lang.ClassNotFoundException: org/apache/xalan/processor/TransformerFactoryImpl

问题原因:中间件目录缺少或未加载到xalan.jar

解决方法:拷贝ApacheJetspeed\webapps\seeyon\WEB-INF\lib\xalan.jar到中间件pas6/pas/lib/endorsed/目录下重启实例

# 问题三:seeyon资源初始化完成后报错:java.lang.NoClassDefFoundError: org/apache/xml/serializer/OutputPropertiesFactory

文本描述已自动生成

问题原因:中间件目录缺少或未加载到serializer.jar

解决方法:拷贝ApacheJetspeed\webapps\seeyon\WEB-INF\lib\serializer.jar到中间件pas6/pas/lib/endorsed/目录下重启实例

# 问题四:启动日志中发现报错:java.lang.NoClassDefFoundError: sun/security/ssl/HelloExtension

文本描述已自动生成

问题原因:Grizzly与jdk版本兼容性问题

解决方法:找到PAS/pas6/pas/modules/endorsed/grizzly-npn-bootstrap.jar,用winrar打开删除sun目录,重启实例

# 问题五 启动报sqlite编译异常

cd /opt/Seeyon/G6N/ApacheJetspeed/webapps/seeyon/WEB-INF/lib rm -f sqlite-jdbc.jar 将8.2信创部署手册中提供的sqlite3.7.2版本上传至当前目录

创建人:zhengkejie
修改人:het、zhengkejie、zhangshuang