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