- 博客(54)
- 收藏
- 关注
原创 activiti部署流程定义文件后无法查询到流程信息原因
初学activiti,在参考编写流程定义文件后,部署到activiti后,根据流程名称查询流程信息,始终报错:org.activiti.engine.ActivitiObjectNotFoundException: no processes deployed with key 'helloword' at org.activiti.engine.impl.persistenc...
2016-06-13 16:17:23
2610
原创 slf4j与log4j结合使用说明
在网上下载的源码很多使用的都是slf4j,运行时经常没有日志信息。 下面是slf4j的说明: SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。 Logging API实现既可以选择直接实现SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通过...
2016-06-13 16:10:27
739
原创 activiti在初始化buildProcessEngine时报错问题
初学activiti,在进行初始化config.buildProcessEngine()时报错,空指针,后经查看源码,发现是因为数据库之前建的,第一次创建数据库后,会在表act_ge_property 中记录当前数据库的版本等信息,我不小心删除了数据导致报错,重建数据库后没有问题了。 ...
2016-06-13 14:27:51
969
原创 Ehcache(09)——缓存Web页面
页面缓存目录1 SimplePageCachingFilter1.1 calculateKey1.2 可配置的初始化参数1.2.1 cacheName1.2.2 blockingTimeoutMillis2 SimpleCachingHeadersPageCachingFilter3 Sim...
2015-07-26 23:51:26
127
原创 Ehcache(08)——可阻塞的Cache——BlockingCache
可阻塞的Cache—BlockingCache 在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.sf.ehcache.concurrent.ReadWriteLo...
2015-07-26 23:51:13
115
原创 Ehcache(07)——Ehcache对并发的支持
Ehcache对并发的支持 在高并发的情况下,使用Ehcache缓存时,由于并发的读与写,我们读的数据有可能是错误的,我们写的数据也有可能意外的被覆盖。所幸的是Ehcache为我们提供了针对于缓存元素Key的Read(读)、Write(写)锁。当一个线程获取了某一Key的Read锁之后,其它线程获取针对于同一个Key的Read锁不会受到限制,但其它线程(包括获取了该Key...
2015-07-26 23:51:00
81
原创 Ehcache(06)——监听器
监听器 Ehcache中监听器有两种,监听CacheManager的CacheManagerEventListener和监听Cache的CacheEventListener。在Ehcache中,Listener是通过对应的监听器工厂来生产和发生作用的。下面我们将来介绍一下这两种类型的监听器。 1 CacheManager监听器 Eh...
2015-07-26 23:50:46
150
原创 Ehcache(05)——缓存的查询
缓存的查询目录1. 使Cache可查询1.1 基于Xml配置1.2 基于代码的配置2 指定可搜索的属性2.1 可查询属性类型2.2 属性的提取2.2.1 定义自己的AttributeExtractor2.2.2 JavaBeanAttributeExtractor2.2.3 Reflecti...
2015-07-26 23:50:07
111
原创 Spring4 Cache + Ehcache配置
Spring4 Cache + Ehcache配置 从Spring 3.1之后 引入了基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 annotation,即能够达到缓存方法的返回对象的效果来定义缓存的 key 和各种 conditi...
2015-07-22 23:39:37
320
原创 Ehcache(04)——设置缓存的大小
设置缓存的大小 目录1 CacheManager级别2 Cache级别3 大小衡量4 配置大小示例 缓存大小的限制可以设置在CacheManager上,也可以设置在单个的Cache上。我们可以设置缓存使用内存的大小,也可以设置缓存使用磁盘的大小,但是使用堆内存的大小是必须设置的,其它可设可不设,默认不设就是无限制。在设...
2015-07-22 22:49:53
99
原创 Ehcache(03)-Ehcache中储存缓存的方式
Ehcache中储存缓存的方式 目录1 堆内存(MemoryStore)1.1 指定可用内存1.2 驱除策略1.3 元素过期2 非堆内存(BigMemory)3 磁盘(DiskStore)3.1 指定可用容量3.2 元素过期 在Ehcache中对于缓存的存储主要有三种方...
2015-07-22 22:48:03
107
原创 Ehcache(02)——ehcache.xml简介
ehcache.xml简介 ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信息参数创建CacheManager时,CacheManager将首...
2015-07-22 22:47:20
76
原创 [转]Ehcache(01)简介、基本操作
Ehcache简介目录1 CacheManager1.1 构造方法构建1.2 静态方法构建2 Cache2.1 Cache的创建 Ehcache是用来管理缓存的一个工具,其缓存的数据可以是存放在内存里面的,也可以是存放在硬盘上的。其核心是CacheManager,一切Ehcache的应用都是从C...
2015-07-22 22:46:36
96
原创 Redis笔记(二)主从复制
Redis笔记(二)主从复制单台redis会遇到单点故障的问题,为了解决redis的高可用,主从复制应该是学习的第二个步骤。本文想达到的目的是,一个master带一个slave,而slave又带了一个slave,这样的好处是,当master故障后,直接把slaver1改为master,其他的配置不需要修改,服务又可以正常使用。 作为master的redis配置文件不需要修改,此处只修改...
2014-07-27 18:26:50
108
原创 Redis笔记(三)添加密码并修改默认端口后的主从同步
今天发现在Redhat as 5上编译2.6.14会报错,所以下面的演示基于2.4.18,报错信息:[root@as5 src]# uname -aLinux as5.cooly.slum 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:42:21 EST 2007 i686 i686 i386 GNU/Linux[root@as5 src]# make...
2014-07-27 18:26:24
184
原创 Redis笔记(一)纯小白版篇
Redis笔记(一)纯小白版篇redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例。此外,缺乏mc中批量get...
2014-07-27 18:26:05
100
原创 java使用redis简单说明
java使用redis简单说明Redis本质上是一个Key-Value类型的内存数据库,很像memcached,听说他的性能远高于memcached,所以想自己搞个玩下。看到底有什么好处。在windows下使用redis首先要下载一个。非官方版 http://code.google.com/p/servicestack/wiki/RedisWindowsDownload下载完的R...
2014-07-27 18:21:05
109
原创 Java线程:线程的同步-同步方法
Java线程:线程的同步-同步方法 线程的同步是保证多线程安全访问竞争资源的一种手段。线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题? 在本文之前,请参阅《Java线程:线程的同步与锁》,本文是在此基础上所写的。 对...
2014-07-16 23:04:16
98
原创 Java线程:线程的同步-同步块[荐]
Java线程:线程的同步-同步块 对于同步,除了同步方法外,还可以使用同步代码块,有时候同步代码块会带来比同步方法更好的效果。 追其同步的根本的目的,是控制竞争资源的正确的访问,因此只要在访问竞争资源的时候保证同一时刻只能一个线程访问即可,因此Java引入了同步代码快的策略,以提高性能。 在上个例子的基础上,对oper方法做了改动,由同步方法改为同步代码块模式,程序的执...
2014-07-16 23:04:03
73
原创 Java线程:并发协作-生产者消费者模型
Java线程:并发协作-生产者消费者模型 对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。 实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产,仓满则停止生产。2、消...
2014-07-16 23:03:47
79
原创 Java线程:并发协作-死锁
Java线程:并发协作-死锁 线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。 发生死锁的原因一般是两个对象的锁相互等待造成的。 在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。 /** * Java线程:并发协作-死锁 * * @autho...
2014-07-16 23:03:27
69
原创 Java线程:volatile关键字
Java线程:volatile关键字 Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。 谈及到volatile关键字,不得不提的一篇文章是:《Java 理论与实践: 正确使用 Volatile 变量》,...
2014-07-16 23:03:10
62
原创 Java线程:线程的调度-守护线程
Java线程:线程的调度-守护线程 守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程。 守护线程使用的情况较少,但并非无用,举例来说,JVM的垃圾回收、内存管理等线程都是守护线程。还有就是在做数据库应用时候,使用的数据库连接池,连接池本身也包含着很多后台线程,监控连接个数、超时时间、状态等等。 setDae...
2014-07-15 23:12:25
65
原创 Java 理论与实践: 正确使用 Volatile 变量[转自IBMdeveloperWorks 中国]
简介: Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的 Java 理论与实践 中,Brian Goetz 将介绍几种正确使用 volatile 变量的模式,并针对其适用性限制提出一些建议。 Java ...
2014-07-15 23:12:13
103
原创 Java线程:线程的调度-合并
Java线程:线程的调度-合并 线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。 join为非静态方法,定义如下:void join() 等待该线程终止。 void join(long millis) 等待该线程终止的时间最长为 millis ...
2014-07-15 23:11:57
78
原创 Java线程:线程的调度-让步
Java线程:线程的调度-让步 线程的让步含义就是使当前运行着线程让出CPU资源,但是然给谁不知道,仅仅是让出,线程状态回到可运行状态。 线程的让步使用Thread.yield()方法,yield() 为静态方法,功能是暂停当前正在执行的线程对象,并执行其他线程。 /** * Java线程:线程的调度-让步 * * @author leizhimin 2009-1...
2014-07-15 23:11:41
87
原创 集群中几种session同步解决方案的比较(转)
在集群中session安全和同步是个最大的问题,下面是收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景。1. 客户端cookie加密简单,高效。比较好的方法是自己采用cookie机制来实现一个session,在应用中使用此session实现。 问题:session中数据不能太多,最好只有个用户id。 参考实现:http://rollerw...
2014-07-15 22:22:01
77
原创 用VBA得到EXCEL表格中的行数和列数
每种方法中上面的是Excel的行数,下面的是Excel的列数。方法1: ActiveSheet.UsedRange.Rows.Count ActiveSheet.UsedRange.Columns.Count 缺点:有时可能会比实际数大一些,原因是如果你把最后几行(列)数据清除后(非整行或整列删除),用这个命令仍返回未清除前的值。就是说现在虽然是空的,但是你曾经用过也...
2013-07-23 18:59:07
1573
原创 DB2 SEQUENCE 序列相关说明
1、序列是按照一定的规则生产的数值,序列的作用非常的大,比如银行交易中的流水号,就是记录每笔交易的关键字段。 (1)创建SEQUENCE的时候,最好不要加双引号,比如:db2 ==> CREATE SEQUENCE "seq_test" ...应该改为:db2 ==> CREATE SEQUENCE seq_test ...加了双引号,表示大小写敏感,如果你使用...
2013-07-23 14:38:53
1987
原创 ant执行java类
在前几天的ant使用中,觉得还是自动化来做更轻松一些啦.每次都打开eclipse来生成文件,是很麻烦的一件事情,还是直接执行ant,更好一些,在执行的同时,还可以舒舒服服喝口茶,岂不快哉. 那么开始吧.ant 执行java其实很简单,下面几句话就可以搞定啦 <target name="run" depends="compile,build"> &l...
2013-07-12 18:04:54
325
原创 ant copy 复制文件用法
ant copy 复制文件在用Ant部署时,出现:“警告: 编码 GBK 的不可映射字符”,网上找了一下,主要是编码兼容性的问题,需要个javac指定编码,于是在build.xml中加入以下说明即可:<target name="compile" depends="prepare" description="编绎"> <javac srcdir="${src.dir...
2013-07-12 15:16:04
623
原创 VB类型转换
做为一个数据库人员,经常会写一些vb脚本,我最近就研究了一些做为经常使用的部分,类型转换,整理一些资料以供参考1. CBool函数描述返回表达式,此表达式已转换为 Boolean(布尔类型/是否类型) 子类型的 Variant(变量)。语法CBool(expression)expression 是任意有效的表达式。说明如果 expression 是零,则返回 False;否则返回 T...
2013-07-11 00:40:52
901
原创 Java线程:线程的调度-优先级
Java线程:线程的调度-优先级 与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。 线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。 在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。 /** * Java线...
2013-07-10 18:51:41
123
原创 Java线程:线程的调度-休眠
Java线程:线程的调度-休眠 Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。 这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。 线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进...
2013-07-10 18:49:21
81
原创 Java线程:线程的同步与锁
Java线程:线程的同步与锁 一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 public class Foo { private int x = 100; public int getX() ...
2013-07-10 18:47:51
87
原创 Java线程:线程的交互
Java线程:线程的交互 SCJP5学习笔记 线程交互是比较复杂的问题,SCJP要求不很基础:给定一个场景,编写代码来恰当使用等待、通知和通知所有线程。 一、线程交互的基础知识 SCJP所要求的线程交互知识点需要从java.lang.Object的类的三个方法来学习: void notify() 唤醒在此对象监视器上等待的单个线程。...
2013-07-10 18:47:26
85
原创 ant上传svn之后,自动发送邮件
昨天写了一个自动打包后,提交svn的的,后来觉得,每次提交之后,还要发一封邮件通知大家,觉得很麻烦,于是想到ant 的email发送功能这里就介绍一下吧使用email功能,需要将 activation.jar和mail.jar 放入ant\lib中然后在properties中定义好 email.host=smtp.XXX.com##Email port 默认不需要设置 ...
2013-07-10 18:44:16
264
原创 使用ant自动更新svn,编译,提交svn
最近转行到数据库上面,开始做数据库相关工作.每天需要生成数据库->实体而且要导入svn.这样重复的劳动,经常让人受不了.为了方便,研究了一下ant,发现可以使用这个工具,自动上传svn,很是方便废话不多说,开工啦1. 从网上下载svnant 包(我的是svn1.6,目前svnant最高只支持1.6了,1.7的就用别的代替吧,我还没研究过),下载地址:http://su...
2013-07-09 21:09:26
510
原创 在linux下安装DB2 命令行方式
查阅很多资料,尝试很多次安装,发现创建完实例之后,实例用户下竟然没有db2profile 这个文件,跟所有书上的都不一样,觉得很奇怪,创建实例的时候 有如下提示:linux-root:/opt/ibm/db2/V9.7/instance # ./db2icrt -s ese -p 60000 -u db2fenc1 db2inst1The host name "linux-ro...
2013-06-19 18:18:49
666
原创 vi编辑只读文档无法保存的解决办法
使用普通用户编辑nginx.conf 等配置文件:保存的时 候会提示:没有Root Permission 可以用如下方法解决:保存时加上::w !sudo tee %我这里 有一个问题。没有配置sudo权限。用sudo时提示"xxx is not in the sudoers file. This incident will be reported.其中XXX是你的用户名,也就是你的用户名没有权...
2013-06-19 16:34:53
1583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人