本博客为O2OA系列教程、O2OA使用手册,教程目录和各章节天梯将在连载完后更新。
使用O2OA二次开发搭建企业办公平台(一)平台部署篇:平台下载和部署
使用O2OA二次开发搭建企业办公平台(二)平台部署篇:端口冲突和服务器端口配置
使用O2OA二次开发搭建企业办公平台(三)平台部署篇:使用外部数据库
使用O2OA二次开发搭建企业办公平台(四)平台部署篇:用户密码设置
使用O2OA二次开发搭建企业办公平台(五)平台部署篇:连接O2云使用APP
使用O2OA二次开发搭建企业办公平台(六)平台部署篇:定制自己的APP
使用O2OA二次开发搭建企业办公平台(七)平台部署篇:服务器备份和数据导入导出
使用O2OA二次开发搭建企业办公平台(八)组织管理篇:创建组织和个人信息
使用O2OA二次开发搭建企业办公平台(九)组织管理篇:组织职务的创建和使用
使用O2OA二次开发搭建企业办公平台(十)组织管理篇:组织管理者设定
使用O2OA二次开发搭建企业办公平台(十一)组织管理篇:关于系统角色管理
使用O2OA二次开发搭建企业办公平台(十二)流程开发篇:报销审批流程需求和应用创建
使用O2OA二次开发搭建企业办公平台(十三)流程开发篇:报销审批流程表单开发
使用O2OA二次开发搭建企业办公平台(十四)流程开发篇:使用数据字典进行报销类型配置
使用O2OA二次开发搭建企业办公平台(十五)流程开发篇:创建报销审批流程
使用O2OA二次开发搭建企业办公平台(十六)信息开发篇:信息栏目和分类的创建及权限的设置
使用O2OA二次开发搭建企业办公平台(十七)信息开发篇:信息发布的审批功能
使用O2OA二次开发搭建企业办公平台(十八)流程打印表单设置
本章题纲:
1、 数据库准备工作 - Mysql数据库安装
2、 O2OA配置修改:关闭内置数据库,开启和配置外部数据库信息
( 我们建议您在正式投入使用时,选择性能更高,更加安全稳定的商用级数据库,如Mysql8,Oracle12C,SQLServer 2012等等 )
一、数据库准备工作 - Mysql数据库安装
下载和安装数据库的知识并不在本博客讲述的范围,请大家百度相关的技术文章完成Mysql数据库的安装。建议版本在Mysql5.7+。
Mysql各版本下载请参见:https://blog.csdn.net/kerafan/article/details/78001849
Mysql安装步骤请参见:http://www.cnblogs.com/sshoub/p/4321640.html
Mysql修改数据库连接数:https://blog.csdn.net/zhya910702/article/details/48372433 (建议最大连接数设置为1000)
二、O2OA配置修改
1、关闭内置数据库
配置文件路径:o2server/config/node_127.0.0.1.json
如果没有该文件,请从目录o2server/config/sample/ (或者o2server/configSample目录) 中复制node_127.0.0.1.json文件到o2server/config目录下。
{ "enable": true, "port":null, "sslEnable":false, "logLevel":"info", "isPrimaryCenter": true, "nodeAgentEnable": true, "application": { "enable": true, "port": null, "sslEnable": false, "proxyHost": "", "proxyPort": null, "forceRedeploy": true, "scanInterval":5, "includes":[], "excludes":[] }, "web": { "enable": true, "port": null, "sslEnable": false, "proxyHost": "", "proxyPort": null, "forceRedeploy": true }, "storage": { "enable": true, "port": null, "sslEnable": false, "name" : "" }, "data": { #内置数据库相关配置,可以修改端口以及是否启用 "enable": true, #修改enable的值为false "tcpPort": null, "webPort": null, "includes": [], "excludes": [] }, "dumpData":{ "cron" : "0 0 21 * * ?", "size" : 14 }, "dumpStorage":{ "cron" : "0 0 21 * * ?", "size" : 14 } } |
2、开启和配置外部数据库信息
配置文件路径:o2server/config/externalDataSources.json
如果没有该文件,请从目录o2server/config/sample/ (或者o2server/configSample目录) 中复制externalDataSources.json文件到o2server/config目录下。
文件的信息如下图:
[ ] |
将其中的url、username、password以及enable信息修改为上述Mysql的相关信息,如:
[ |
URL参数说明如下:
useUnicode: 是否使用Unicode字符集,如果参数characterEncoding设置为gb2312或gbk,本参数值必须设置为true false 1.1g
characterEncoding: 当useUnicode设置为true时,指定字符编码。比如可设置为gb2312或gbk false 1.1g
autoReconnect: 当数据库连接异常中断时,是否自动重新连接? false 1.1
autoReconnectForPools: 是否使用针对数据库连接池的重连策略 false 3.1.3
failOverReadOnly: 自动重连成功后,连接是否设置为只读? true 3.0.12
maxReconnects: autoReconnect设置为true时,重试连接的次数 3 1.1
initialTimeout: autoReconnect设置为true时,两次重连之间的时间间隔,单位:秒 2 1.1
connectTimeout: 和数据库服务器建立socket连接时的超时,单位:毫秒。 0表示永不超时,适用于JDK 1.4及更高版本 0 3.0.1
socketTimeout: socket操作(读写)超时,单位:毫秒。 0表示永不超时 0 3.0.1
注意:
数据库连接URL中的数据 X01 是需要预选创建的,O2Server会自动创建数据表,但不会自动创建数据库。
设置完成后,重启o2server即可。
java.lang.Exception: get entityManager for class com.x.organization.core.entity.Role error.
at com.x.base.core.container.factory.EntityManagerContainerFactory.createEntityManager(EntityManagerContainerFactory.java:109)
at com.x.base.core.container.EntityManagerContainerBasic.get(EntityManagerContainerBasic.java:36)
at com.x.program.center.Context.checkDefaultRole(Context.java:242)
at com.x.program.center.Context.concrete(Context.java:174)
at com.x.program.center.ApplicationServletContextListener.contextInitialized(ApplicationServletContextListener.java:13)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:930)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:889)
at com.x.base.core.container.factory.SlicePropertiesBuilder.driverClassNameOfUrl(SlicePropertiesBuilder.java:85)
at com.x.base.core.project.config.ExternalDataSource.getDriverClassName(ExternalDataSource.java:85)
at com.x.server.console.ResourceFactory.external_druid_c3p0(ResourceFactory.java:98)
at com.x.server.console.ResourceFactory.external(ResourceFactory.java:88)
at com.x.server.console.ResourceFactory.bind(ResourceFactory.java:66)
at com.x.server.console.Main.init(Main.java:114)
at com.x.server.console.Main.main(Main.java:119)
"username" :"root",
"password" :"fdauto2020",
但是连接的时候还是报错了, Access denied for user 'root'@'localhost'
<指定的站点不存在:b82d7669-85d6-4c10-8151-c4d1f18ba6ef. > 这是为什么呢。
password 为xadmin的登入密码