diff --git a/modules/core/db/mysql/create_user.sql b/modules/core/db/mysql/create_user.sql index 2a279d1f..b58c02f2 100644 --- a/modules/core/db/mysql/create_user.sql +++ b/modules/core/db/mysql/create_user.sql @@ -2,6 +2,8 @@ -- 打开 my.ini 给 [mysqld] 增加如下配置: -- sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION +set global read_only=0; + create user 'jeesite'@'%' identified by 'jeesite'; create database jeesite DEFAULT CHARSET utf8 COLLATE utf8_general_ci; diff --git a/modules/core/db/oracle/create_user.sql b/modules/core/db/oracle/create_user.sql index c21a1239..a270e674 100644 --- a/modules/core/db/oracle/create_user.sql +++ b/modules/core/db/oracle/create_user.sql @@ -6,4 +6,10 @@ create user jeesite grant connect,resource,create session,select any table, create any view,create any table,create any index, drop any table,drop any view,drop any index - to jeesite; \ No newline at end of file + to jeesite; + +-- 多数据源分布式事务下,需要对目标用户进行如下授权,否则会提示错误:ResourceException: Error in recovery +grant select on sys.dba_pending_transactions to jeesite; +grant select on sys.pending_trans$ to jeesite; +grant select on sys.dba_2pc_pending to jeesite; +grant execute on sys.dbms_system to jeesite; diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/AreaDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/AreaDao.java index 9abe58da..6a100187 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/AreaDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/AreaDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.TreeDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.Area; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.Area; * @author ThinkGem * @version 2017-03-22 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface AreaDao extends TreeDao { } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyDao.java index a46c9122..8e9fc3bf 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.TreeDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.Company; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.Company; * @author ThinkGem * @version 2017-03-12 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface CompanyDao extends TreeDao { } \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyOfficeDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyOfficeDao.java index 298336ce..2f899430 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyOfficeDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/CompanyOfficeDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.CompanyOffice; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.CompanyOffice; * @author ThinkGem * @version 2017-03-23 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface CompanyOfficeDao extends CrudDao { } \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmpUserDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmpUserDao.java index f5a08013..650e47ec 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmpUserDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmpUserDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.EmpUser; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.EmpUser; * @author ThinkGem * @version 2015-4-24 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface EmpUserDao extends CrudDao { } \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeeDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeeDao.java index 60945101..762b3a94 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeeDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeeDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.Employee; @@ -11,8 +12,9 @@ import com.jeesite.modules.sys.entity.Employee; * 员工管理DAO接口 * @author ThinkGem * @version 2017-03-25 + * 通过 UserUtils.loadRefObj() 加载引用类型对象时,需要给MyBatisDao指定引用entity类型。 */ -@MyBatisDao(entity = Employee.class) +@MyBatisDao(entity=Employee.class, dataSourceName=DataSourceHolder.DEFAULT) public interface EmployeeDao extends CrudDao { } \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeePostDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeePostDao.java index 078af4ce..a95c992d 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeePostDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/EmployeePostDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.EmployeePost; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.EmployeePost; * @author ThinkGem * @version 2017-03-25 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface EmployeePostDao extends CrudDao { } \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/LogDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/LogDao.java index c95a55c8..fcf30348 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/LogDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/LogDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.Log; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.Log; * @author ThinkGem * @version 2017-03-19 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface LogDao extends CrudDao { } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/OfficeDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/OfficeDao.java index dc5bbfaf..06644144 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/OfficeDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/OfficeDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.TreeDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.Office; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.Office; * @author ThinkGem * @version 2017-03-23 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface OfficeDao extends TreeDao { } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/dao/PostDao.java b/modules/core/src/main/java/com/jeesite/modules/sys/dao/PostDao.java index 0a837a00..0a7f3a52 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/dao/PostDao.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/dao/PostDao.java @@ -4,6 +4,7 @@ package com.jeesite.modules.sys.dao; import com.jeesite.common.dao.CrudDao; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.mybatis.annotation.MyBatisDao; import com.jeesite.modules.sys.entity.Post; @@ -12,7 +13,7 @@ import com.jeesite.modules.sys.entity.Post; * @author ThinkGem * @version 2017-03-25 */ -@MyBatisDao +@MyBatisDao(dataSourceName=DataSourceHolder.DEFAULT) public interface PostDao extends CrudDao { } \ No newline at end of file diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java b/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java index 477aad97..5241d226 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java @@ -12,7 +12,6 @@ import org.springframework.core.NamedThreadLocal; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; -import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.lang.DateUtils; import com.jeesite.common.lang.TimeUtils; import com.jeesite.common.service.BaseService; @@ -56,10 +55,7 @@ public class LogInterceptor extends BaseService implements HandlerInterceptor { long endTime = System.currentTimeMillis(); // 2、结束时间 long executeTime = endTime - beginTime; // 3、获取执行时间 startTimeThreadLocal.remove(); // 用完之后销毁线程变量数据 - - // 恢复多数据源参数,使用默认数据源 - DataSourceHolder.clearDataSourceName(); - + // 保存日志 LogUtils.saveLog(UserUtils.getUser(), request, handler, ex, null, null, executeTime); diff --git a/modules/core/src/main/resources/config/jeesite-core.yml b/modules/core/src/main/resources/config/jeesite-core.yml index dd3dfdf7..5ce242f4 100644 --- a/modules/core/src/main/resources/config/jeesite-core.yml +++ b/modules/core/src/main/resources/config/jeesite-core.yml @@ -72,7 +72,7 @@ jdbc: # 最大连接数 maxActive: 20 -# # 多数数据源名称列表,调用方式:DataSourceHolder.setDataSourceName("ds2") +# # 多数据源名称列表,启用方式:@MyBatisDao(dataSourceName="ds2") # dataSourceNames: ds2 # # # 多数据源配置:ds2 diff --git a/modules/core/src/main/resources/config/logger-core.xml b/modules/core/src/main/resources/config/logger-core.xml index 35cfa3a2..4bbcd61c 100644 --- a/modules/core/src/main/resources/config/logger-core.xml +++ b/modules/core/src/main/resources/config/logger-core.xml @@ -6,6 +6,8 @@ + + diff --git a/modules/core/src/main/resources/jta.properties b/modules/core/src/main/resources/jta.properties new file mode 100644 index 00000000..4d3cbe0e --- /dev/null +++ b/modules/core/src/main/resources/jta.properties @@ -0,0 +1,4 @@ +# transactions.properties not found - looking for jta.properties in classpath... +com.atomikos.icatch.service=com.atomikos.icatch.standalone.UserTransactionServiceFactory +com.atomikos.icatch.max_actives=-1 +com.atomikos.icatch.enable_logging=false \ No newline at end of file diff --git a/modules/core/src/main/resources/mybatis/mybatis-config.xml b/modules/core/src/main/resources/mybatis/mybatis-config.xml index 60fc4722..b66bc042 100644 --- a/modules/core/src/main/resources/mybatis/mybatis-config.xml +++ b/modules/core/src/main/resources/mybatis/mybatis-config.xml @@ -46,8 +46,8 @@ + - diff --git a/modules/core/src/main/resources/views/modules/sys/sysIndex/topMenu.html b/modules/core/src/main/resources/views/modules/sys/sysIndex/topMenu.html index 3e74426e..729b56ef 100644 --- a/modules/core/src/main/resources/views/modules/sys/sysIndex/topMenu.html +++ b/modules/core/src/main/resources/views/modules/sys/sysIndex/topMenu.html @@ -17,9 +17,9 @@
  • <% include('/modules/sys/sysIndex/topMenuLang.html'){} %> <% include('/modules/sys/sysIndex/topMenuOnline.html'){} %> - <% include('/modules/sys/sysIndex/topMenuMsg.html'){} %> - <% include('/modules/sys/sysIndex/topMenuNotify.html'){} %> - <% include('/modules/sys/sysIndex/topMenuTask.html'){} %> + <% //include('/modules/sys/sysIndex/topMenuMsg.html'){} %> + <% //include('/modules/sys/sysIndex/topMenuNotify.html'){} %> + <% //include('/modules/sys/sysIndex/topMenuTask.html'){} %> <% include('/modules/sys/sysIndex/topMenuUser.html'){} %> diff --git a/web/src/main/resources/config/jeesite.yml b/web/src/main/resources/config/jeesite.yml index 3a0c534c..179af9b1 100644 --- a/web/src/main/resources/config/jeesite.yml +++ b/web/src/main/resources/config/jeesite.yml @@ -71,7 +71,7 @@ jdbc: # # 最大连接数 # maxActive: 20 # -# # 多数数据源名称列表,调用方式:DataSourceHolder.setDataSourceName("ds2") +# # 多数据源名称列表,启用方式:@MyBatisDao(dataSourceName="ds2") # dataSourceNames: ds2 # # # 多数据源配置:ds2