java ee
pois
这个作者很懒,什么都没留下…
展开
-
同IP不同端口Session冲突问题
一个服务器上搭建了多个tomcat或者weblogic,端口不一样,同时启动访问时session丢失。如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,需要重新登录A才可以访问。经过资料查找,发现问题是因为:IP相同认为是同一个域,接收了B的set-cookie指令,把对应的cookie内容覆盖了,其中包括jsessio转载 2016-07-01 16:39:29 · 1012 阅读 · 0 评论 -
基于spring security及spring aop的权限控制
首先,获取spring security的当前用户:http://blog.csdn.net/tomcat_2014/article/details/50725723.Java代码中使用[java] view plain copyUserDetails userDetails = (UserDetails) Securit原创 2017-06-15 16:25:47 · 3547 阅读 · 0 评论 -
spring boot 事务的一些实践
起先:@Service@Transactionalclass xxxService indMsgDao.batchRead(userId); List list = indMsgDao.findByUserId(userId, pageable); Integer total = indMsgDao.countB原创 2017-05-10 21:07:38 · 253 阅读 · 0 评论 -
事务隔离级别 脏读 spring 测试
建立一个controller,写两个url,用于测试脏读(一)TestController @Autowired private TestService testService; @RequestMapping(value = "listForDirtyRead", method = RequestMethod.GET) @ResponseBody原创 2017-08-22 15:47:17 · 1144 阅读 · 0 评论 -
事务隔离级别 幻读 spring 测试
(一) @Transactional public void insertForDirtyReadAndIllusion () { jdbcTemplate.execute("insert into tao values (1,'d')"); try { Thread.sleep(00000); } ca原创 2017-08-22 16:46:46 · 640 阅读 · 0 评论 -
事务隔离级别 不可重复读 spring 测试
(一) @Transactional(isolation = Isolation.READ_COMMITTED) public Object listForIllusionRead() { List> map = jdbcTemplate.queryForList("select * from tao"); try {原创 2017-08-22 17:02:00 · 1731 阅读 · 0 评论 -
Exception自定义处理模型
伪代码:Res methodB() throws Exception { Res res = new Res(); ...... if(res.getResult == false) throws MyException("MyError:"+res.getMsg); return res;}void m原创 2017-12-14 16:00:19 · 230 阅读 · 0 评论 -
spring data jpa mysql 乐观锁 与 AtomicInteger
业务场景:某对象被访问,并累计访问次数特点:1.表中该对象初始没有纪录2.该对象首次被访问后,为其建立一条纪录3.此后每次被访问,访问次数++4.该对象在表中有且仅有一条纪录分析一下这个场景:0.为表的对象字段建立unique索引,确保同一个对象在表中仅有一条纪录1.访问次数为共享数据,且有读和写两个操作,涉及并发2.最先考虑以代码锁进行防并发,但是基于以下几个缺点放弃:(1)代码锁无法就单个特定...原创 2017-07-13 17:32:49 · 3044 阅读 · 2 评论 -
spring data jpa mysql 悲观锁
实践悲观锁。业务模型是User访问target,target的点击数量+1一般流程是 读——count+1——写如果在并发下,存在count计数失误的情况,可以以如下方法验证:为了模拟放大并发的现象,在读与写之间➕ sleep读-sleep(6000) —— count++ ——写 public PageResult detail(Integer userId, Integer id) {...原创 2017-06-27 16:56:26 · 7210 阅读 · 0 评论 -
事务的原理 学习笔记
事务的传播行为(讲得比较好)事务的传播是用来干什么的原创 2017-07-28 10:15:12 · 257 阅读 · 0 评论 -
线程池造成服务器内存泄漏
部署新包的时候,发现tomcat起不来了,一看内存,服务器内存吃光了,进而发现java有多余进程然后发现 tomcat shutdown时,并没有释放java,造成内存奔溃了参考此帖:https://zhidao.baidu.com/question/433533916441175764.html可能存在多个tomcat进程或者是由于软件在tomcat中开启了新原创 2017-05-24 17:08:35 · 6726 阅读 · 0 评论 -
rsa加密实践
https://my.oschina.net/ousinka/blog/338099该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1. jar注意:RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块进行。RSA加密对明文的长度是有限制的,如果加密数据过大会抛出如下异常:转载 2017-06-23 16:23:41 · 630 阅读 · 0 评论 -
使用jdbcTemplate查询返回自定义对象集合
1、在UserInfo.java中添加一个Map转换为UserInfo的方法[java] view plain copypublic static UserInfo toObject(Map map) { UserInfo userInfo = new UserInfo(); userInfo.setId((Integ转载 2017-05-19 17:21:35 · 7451 阅读 · 0 评论 -
Spring 定时任务之 @Scheduled cron表达式
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。按顺序依次为秒(0~59)分钟(0~59)小时(0~23)天(月)(0~31,但是你需要考虑你月的天数)月(0~11)天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)7.年份(1970-2099)其中每个元素可以是一转载 2016-07-08 11:34:41 · 12989 阅读 · 0 评论 -
Struts2与JQurey ajax配合跨域请求
其中 dataType指定为jsonp,jsonp 指定为 callback(随意),然后看struts2的配置: <action name="getCounselorDetailByHxCode" class="xxx" method="getCounselorDetailByHxCode"> callback true 其中,这一条cal原创 2016-08-31 10:29:03 · 8321 阅读 · 0 评论 -
struts2之注解权限控制
http://www.cnblogs.com/linjiqin/archive/2011/10/28/2227454.html今天结合Java的Annotation和Struts2进行注解拦截器权限控制。功能需求:添加、查找、删除三个功能,添加、查找功能需进行权限拦截判断,删除功能则不需进行权限拦截判断。操作流程如下:客户未登录或登录已超时,提示“客户还没登陆或转载 2017-01-14 09:54:41 · 249 阅读 · 0 评论 -
spring aop 切面测试
spring 配置 aop 切面类package com.changhang.urgoo.impl.utils;import org.aspectj.原创 2017-01-21 11:18:08 · 2478 阅读 · 0 评论 -
一种基于struts2 拦截器 和 log4j的轻量级crm权限及行为跟踪方式
拦截器 public String intercept(ActionInvocation invocation) throws Exception{ ActionContext actionContext = invocation.getInvocationContext(); HttpServletRequest request= (HttpServl原创 2017-01-21 17:23:03 · 472 阅读 · 0 评论 -
Spring AOP声明式事务异常回滚 若干法则
http://www.cnblogs.com/flying607/p/4652010.html转:http://hi.baidu.com/iduany/item/20f8f8ed24e1dec5bbf37df7 近日测试用例,发现这样一个现象:在业务代码中,有如下两种情况,比如:throw new RuntimeExceptio转载 2017-01-21 15:09:05 · 520 阅读 · 0 评论 -
synchronized 代码块测试用例
项目涉及到一个订单重复提交的问题,用一个token验证来解决,客户端订单页面请求一个token,此token由服务端生成,并加入缓存,客户端提交订单时将token一并传入,服务端验证token,下单时将token置为无须,以此来防止重复提交,因为每个token只有一次真正入库的机会验证token的过程有两个最主要的程序:读token,写token,这两个语句必须处在同步中业原创 2017-03-04 16:18:31 · 317 阅读 · 0 评论 -
使用@ControllerAdvice及@ExceptionHandler(value = Exception.class)全局异常处理
http://snowolf.iteye.com/blog/1636050Spring 注解学习手札(八)补遗——@ExceptionHandlerhttp://412887952-qq-com.iteye.com/blog/2291524全局异常捕捉【从零开始学Spring Boot】package com.ilex.jiutou;import c转载 2017-05-11 09:35:26 · 3528 阅读 · 0 评论 -
Java在静态代码块中读取properties文件的思考
http://lavasoft.blog.51cto.com/62575/62174/public final class TestProperties { private static String param1; private static String param2; static { Properties prop = new转载 2017-04-23 10:21:56 · 4334 阅读 · 1 评论 -
多线程处理pdf附件转换
业务中要把pdf转为pngs,作以下service public PageResult findByUrl(String url) { if(!Pdf2Img.checkPdf(url)) return PageResult.genFail("非pdf文件"); Attach attach = attachDao.findByUr原创 2017-05-07 22:46:37 · 804 阅读 · 0 评论 -
java 的三种代理模式
(一)https://mp.weixin.qq.com/s?__biz=MzI4Njc5NjM1NQ==&mid=2247485265&idx=1&sn=0ea1fe4257cb963d24829f69bb6a32da&chksm=ebd6387ddca1b16b87f12f50b24b239bed93e0e49f243ec560e2c83156ff5ceefe0a...转载 2018-04-29 23:54:12 · 246 阅读 · 0 评论