From d54ab69ee56fbeb7d658db94827e3ae6a9be74dc Mon Sep 17 00:00:00 2001 From: alwaysfrin <39822157+alwaysfrin@users.noreply.github.com> Date: Tue, 21 May 2019 17:05:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E5=8A=A1=E5=92=8Credis=E7=9A=84bug?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ITestTransService.java | 3 +++ .../controller/DemoRedisMqController.java | 22 +++++++++++++++++++--- .../controller/DemoTransactionController.java | 13 +++++++++++++ .../controller/base/WhiteController.java | 1 + .../serviceimpl/busi/SysUserService.java | 3 +++ .../serviceimpl/busi/TestTransService.java | 16 +++++++++++++++- 6 files changed, 54 insertions(+), 4 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java index 3d652cc..27cb7be 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ITestTransService.java @@ -22,6 +22,9 @@ public interface ITestTransService { @ApiOperation(value = "自定义dao混用") void testTran(); + @ApiOperation(value = "测试缓存事务") + void testRedisTrans(String name, String val); + /******************** 读写分离部分测试 **********************/ @ApiOperation(value = "读写分离测试读") diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java index 63c2b33..b9ba874 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoRedisMqController.java @@ -8,8 +8,10 @@ import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.platform.common.util.QueueConstWords; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.model.test.TestConstructModel; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysRole; +import cn.estsh.i3plus.pojo.platform.bean.TestTransUser; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -35,6 +37,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Set; @@ -109,10 +112,10 @@ public class DemoRedisMqController extends CoreBaseController{ @GetMapping(value="/get-cache") @ApiOperation(value="缓存",notes="获取数据") - public ResultBean getCache(){ - System.out.println("2===== " + redisCore.getObject("wms")); + public ResultBean getCache(String name){ + System.out.println("===== " + redisCore.getObject(name)); - return new ResultBean(true); + return new ResultBean(true,redisCore.getObject(name)); } @GetMapping(value="/exception-demo") @@ -353,4 +356,17 @@ public class DemoRedisMqController extends CoreBaseController{ return new ResultBean(true,"操作成功"); } + + @GetMapping(value="/redis-object") + @ApiOperation(value="测试对象",notes="对象是否需要构造方法") + public ResultBean testRedisObject(){ + //放入缓存 + TestConstructModel model = new TestConstructModel(); + model.setId(1); + model.setUser(new TestTransUser()); + model.setUserList(new ArrayList<>()); + redisCore.putObject("model",model,100); + + return new ResultBean(true,"已放入缓存"); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java index 3098ba1..153a974 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoTransactionController.java @@ -41,6 +41,19 @@ public class DemoTransactionController extends CoreBaseController { @Autowired private ITestService testService; + + /** + * 属性更新 + * @return 处理结果 + */ + @PostMapping("/trans-test-redis") + @ApiOperation(value = "事务测试缓存") + public ResultBean testRedisTrans(String name,String val) { + transService.testRedisTrans(name,val); + + return ResultBean.success("事务测试缓存"); + } + /** * dao混合调用 * diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 3983853..dd4510d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -114,6 +114,7 @@ public class WhiteController extends CoreBaseController { @RequestParam(required = false) String ipAddr){ LOGGER.info("用户登陆 loginName:{} loginPwd:{} languageCode:{}",loginName,loginPwd,languageCode); ResultBean result = null; + this.startMultiService(); try { ValidatorBean.checkNotNull(loginName,"用户名不能为空"); ValidatorBean.checkNotNull(loginPwd,"密码不能为空"); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java index 74694fc..3b353da 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysUserService.java @@ -34,6 +34,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import java.util.*; @@ -99,6 +101,7 @@ public class SysUserService implements ISysUserService { @Override @ApiOperation(value = "用户登录", notes = "用户登录功能实现") + @Transactional(propagation = Propagation.REQUIRED) public SessionUser queryUserLogin(String loginName, String password, String languageCode) throws AuthenticationException { LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", loginName, password, languageCode); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java index ba62cc6..cbf450a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java @@ -8,6 +8,7 @@ import cn.estsh.i3plus.pojo.platform.repository.SysDepartmentRepository; import cn.estsh.i3plus.pojo.platform.repository.SysUserInfoRepository; import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; import cn.estsh.i3plus.pojo.platform.repository.TestTransUserRepository; +import cn.estsh.impp.framework.boot.util.ImppRedis; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.repository.Lock; import org.springframework.stereotype.Service; @@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import javax.persistence.LockModeType; import java.util.List; import java.util.Random; @@ -30,6 +32,12 @@ import java.util.Random; @Service public class TestTransService implements ITestTransService { + /** + * 缓存 + */ + @Resource(name="redisCore") + private ImppRedis redisCore; + @Autowired private SysDepartmentRepository sysDepartmentRDao; @@ -144,9 +152,15 @@ public class TestTransService implements ITestTransService { } + public void testRedisTrans(String name, String val){ + System.out.println("==========" + redisCore.getObject(name)); + + redisCore.putObject(name,val); + System.out.println("======已缓存======"); + } + @Override public List listRead() { - List ul = testTransUserRepository.list(); testTransUserRepository.flush(); System.out.println("查询333数量:" + ul);