`
61234865
  • 浏览: 11416 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
需求前提:在容器加载的过程中,需要要同时加载某些特殊的会阻塞线程的对象,例如(自动启动msn并自动登陆)。  问题描述:由于spring的初始化过程是单线程进行的,这种特殊的对象会导致线程阻塞,spring无法进行正常初始化。   解决方案: 1.使用监听器。 2.延时加载。 3.二次加载。 方案分析: 第一种方案:此方法使用单独的线程来启动这类资源,因此不会影响到spring自身的初始化。问题在于,一般在业务需求中,我会都会需要通过 spring从DB中获取数据后再启动这类对象,例如(msn的email和密码都存于DB中)。而这里的listener ...
看完lujh99的正确理解ThreadLocal一文,使我对ThreadLocal有了一个全面的了解,具体的原理我就不再复述,下面用个小例子来说明具体项目中的使用,先上类图:   public class User { private String id; private String name; private Integer age; public String getId() { return id; } public void setId(String id) { this.id = id; } public String ge ...
构成 记录器(Loggers):用来记录日志,相当于日志记录对象,这个在配置文件中可能配置多个,用来对不同的目录进行分别记录 根记录器: log4j.rootLogger = [ level ] , appenderName, appenderName, … 在早期的Log4j版本中,org.apache.Category实现了记录器的功能,为了提高向后兼容 性,Logger扩展了Category,因此rootCategory和rootLogger是可以互换的,但最后Category将从类库中删除,因 此请使用Logger类。 level级别: 分为OFF、FATAL、 ...
java.util.ConcurrentModificationException异常网上机以找到很多资料。整体上看了一下,基本上都是说那些原理的,比较啰嗦,我只简单说明一下原理和解决方案,用来备忘 原理:由于在迭代的过程中对集体进行了增加或者删除,导致索引西匹配不上而报异常 解决方案: 1.对于HashMap,可有用ConcurrentHashMap来代替解决并发的问题 2.对于非HashMap,如ArrayList等,用Iterator来查看数据,然后用Iterator自带的remove方法来实现安全删除   代码格式如下   for (Iterator it = l.i ...
昨天在项目测试中遇到了一个比较奇怪的问题,先说一下项目结构和环境吧项目结构:类型:网络监控 部署方式:web层做展现,采集层做数据采集,分析处理层做数据分析和入库,三层独立部署,运行时通过ActiveMQ来进行通信 问题描述:由于是测试阶段,数据量不太大,有20多个采集任务在运行,本机测没发现有大的问题,在服务器上跑了一夜,第二天早上发现服务器ssh登陆不上,显示连接超时。用root登陆上去,发现采集层不再采集数 据,查看日志,最早开始报异常是MQ连不上然后就是snmp也开始连上不,最后发展到内存堆溢出。问题解决及分析步骤: 1.查看ActiveMQ日志,无任何异常,分析处理层也无异常 ...
Global site tag (gtag.js) - Google Analytics