JAVA
文章平均质量分 86
黑精灵
这个作者很懒,什么都没留下…
展开
-
修改tomcat默认内存tomcat
<br />1、使用startup.bat启动tomcat<br />修改/bin/catalina.bat文件的内容,即在里面增加一行代码: set JAVA_OPTS=-Xms512m -Xmx512m //表示初始化最小可用内存和最大可用内存都是512MB(修改相应值即可)如在catalina.bat的<br /> rem ----- Execute The Requested Command ---------------------------------------<br原创 2010-12-31 15:38:00 · 1878 阅读 · 0 评论 -
activiti工程环境搭建和流程图创建
当一个业务需要的多个参与者来参与执行的时候,如果我们要自己编程的话,我们需要对业务非常的熟悉,并且在编程的时候要做一系列复杂的判断,如果出现第一种情况,我们要怎么办,如果出现第二种情况,我们又该怎么办,这是一个工作量非常大的事情,因为各个关系耦合性相对较高,所以我们又很难保证我们的系统一定会成功,然而大神们为了解决我们这个问题,专门开发了一个用于解决多用于之间操作的框架,工作流(WorkFlow)原创 2017-08-02 14:01:06 · 639 阅读 · 0 评论 -
SpringMVC与Activiti网页流程设计器整合
1.官方例子研究Activiti给出的官方例子activiti-explorer中有一个网页版的流程设计器,看起来很不错的样子。考虑到以后的工作中,可能会涉及到用户自己设计流程,这样的话,会要用到网页版的流程设计器,因此,想办法吧这个官网的网页设计器从activiti-explorer工程中分离出来,与SpringMvc集成在一起,这样以后就可以在自己的项目中直接设计流程,然后发布运行了,原创 2017-08-02 14:02:56 · 523 阅读 · 0 评论 -
activiti源码解读之心得整编
TaskService.completeTask()的执行内幕是啥?activiti采取了command模式,completeTask会被包装成一个CompleteTaskCmd,一个Cmd执行的时候需要一些外围处理,如:log日志。activiti定义了一个拦截器链,链上的每个拦截器都有个next,会一直next执行下去。以CompleteTaskCmd为例,拦截器链为:logg原创 2017-08-09 16:29:41 · 382 阅读 · 0 评论 -
扩展Activiti工作流任务和属性
用过activiti的朋友都知道,activiti做工作流用起来非常方便,可以很容易的基于activiti开发出一个基础的OA流程,可以有多种任务,事件,网关提供给大家选择,想了解详细的,可以点击下方链接多了解,网上资料也特别多,这里不再赘述。下面给出几个快速入门的链接:咖啡兔的demo,英文版activti使用手册,中文版用户手册但是最近做了一个项目要求是:通原创 2017-08-09 16:30:11 · 7154 阅读 · 1 评论 -
activiti流程运行过程代码走读
1. 目的本文将对流程在activiti中是怎么运行的,任务是怎样推动的进行讲解。 主要包括以下内容:PVM中怎么表示流程、任务、连接线,它和activiti的Model怎样转换的。 启动流程实例,怎么从开始节点流转到下一个节点。怎样监听流程事件。 2. 主要的jar包和java类pvm的实现在包org.activiti.engine.impl.pv原创 2017-08-03 14:47:08 · 2247 阅读 · 0 评论 -
Activiti学习之 多实例实现会签功能
一个任务需要多个角色进行审批或者表决,根据这些审批结果来决定流程的走向。实现以上任务,activiti已经提供了支持,可以使用BPMN规范的多实例活动来实现。1.Activiti多实例:多实例节点是在业务流程中定义重复环节的一个方法。 从开发角度讲,多实例和循环是一样的: 它可以根据给定的集合,为每个元素执行一个环节甚至一个完整的子流程, 既可以顺序依次执行也可原创 2017-10-25 15:10:45 · 3849 阅读 · 0 评论 -
CAS单点登录源码解析之【服务器端】
前期准备:1.cas-server-3.5.2-release.zip2.应用系统webapp1(http://127.0.0.1:8090/webapp1/main.do)3.应用系统webapp2(http://127.0.0.1:8091/webapp2/main.do)4.CAS单点登录服务器端(http://127.0.0.1:8081/cas-serve原创 2018-01-24 16:02:02 · 562 阅读 · 0 评论 -
CAS单点登录源码解析之【客户端】
前期准备:1.cas-client-core-3.2.1.jar2.cas-client-3.2.1-release.zip3.应用系统webapp(http://127.0.0.1:8090/webapp/main.do)4.CAS单点登录服务器端(http://127.0.0.1:8081/cas-server/) 本次讨论包括CAS单点登录客原创 2018-01-24 16:03:02 · 1688 阅读 · 0 评论 -
shiro + cas 4.04 单点退出 注销
假如你已经整合了shiro +cas的情况下。由于注销cas成功后,是cas注销成功页面,无法跳转到客户端登陆页面。发生这种情况如何处理: 客户端:配置如图 注意,redirectUrl 中 ${cas.server}/logout 是cas 服务端注销地址,负责清除认证中心全局会话TGT,同时清掉cookie中TGT的id:TGC 注:TGT和TGC的关系:用户和认证中心之原创 2018-01-24 16:22:35 · 989 阅读 · 0 评论 -
jquery 根据 [name$][name*][name^][name$] 查询
$("div[id]") 选择所有含有id属性的div元素 $("input[name='hxy']") 选择所有的name属性等于'keleyicom'的input元素 $("input[name!='hxy']") 选择所有的name属性不等于'hxy'的input元素 $("input[name^='hxy']") 选择所有的name属性以'hxy'开头的input元素原创 2018-01-24 16:24:55 · 4171 阅读 · 0 评论 -
MySQL-5.6.25免安装版--安装与配置方法
1. 下载MySQL数据库 到Oracle官方网站 下载 [MySQL Community Server 5.6.25](http://dev.mysql.com/downloads/mysql)122. 解压MySQL压缩包进行MySQL数据库安装将以下载的MySQL压缩包解压到自定义目录下,我的解压目录是:"D:\MySQL\mysql-5.6.25-win64"将解压目原创 2018-02-02 16:15:12 · 434 阅读 · 0 评论 -
23种设计模式介绍以及在Java中的实现
博主精心准备了大量的示例代码。文章尽量提供与编程相关的例子,而不是像多数其他介绍的文章一样,提供一些感觉挺滑稽的例子(那样的例子可能看完觉得写得很好,然而还是不会用...)。 本文耗费了作者大量时间,还请亲们给个赞O(∩_∩)O~ 也可以通过CTRL+F并输入要了解的模式并跳到对应位置。 文章中的示例源码在github上:https://github.com/anxpp/Java...原创 2018-03-21 15:26:28 · 210 阅读 · 0 评论 -
zookeeper安装和使用 windows环境
简介ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。ZooKeeper包含一个简单的原语...原创 2018-04-09 14:39:41 · 125 阅读 · 0 评论 -
Dubbo入门---搭建一个最简单的Demo框架
Dubbo背景和简介Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。 缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护 垂直应用框架(MVC) 垂直应用架构解决了单一应用架构所面临的扩容问题,流量能够分散到各个子系统当中,且系统的...原创 2018-04-09 14:40:27 · 168 阅读 · 0 评论 -
通过Spring Session实现新一代的Session管理
长期以来,session管理就是企业级Java中的一部分,以致于我们潜意识就认为它是已经解决的问题,在最近的记忆中,我们没有看到这个领域有很大的革新。但是,现代的趋势是微服务以及可水平扩展的原生云应用(cloud native application),它们会挑战过去20多年来我们设计和构建session管理器时的前提假设,并且暴露了现代化session管理器的不足。本文将会阐述最近发布的...原创 2018-08-03 16:43:48 · 154 阅读 · 0 评论 -
改造CAS单点登录 --- 自定义登陆页面(服务端)
服务端通过自定义spring-flow流程实现登录和退出功能。一、修改cas-server-core1.在类AuthenticationViaFormAction中重载submit和validatorCode方法 public final String submit(final RequestContext context, final MessageContext messageC...原创 2018-08-03 16:44:43 · 1639 阅读 · 0 评论 -
Spring Session解决分布式Session问题的实现原理
下边就学习一下Spring Session的实现原理。注:以下步骤是基于XML的方式实现 Spring Session的代码讲解!先从web.xml文件说起我们知道Tomcat再启动的时候首先会去加载web.xml 文件,Tomcat启动的时候web.xml被加载的顺序:context-param -> listener -> filter -> servlet。...原创 2018-08-03 16:45:52 · 1857 阅读 · 0 评论 -
Activiti工作流框架学习(二)——使用Activiti提供的API完成流程操作
可以在项目中加入log4j,将logj4.properties文件拷入到src目录下,这样框架执行的sql就可以输出到到控制台,log4j提供的日志级别有以下几种:Fatal error warn info debug trace一、部署流程定义1,在工程项目下创建源码文件夹process2,在该文件下下面新创建一个工作流流程定义文件test1.bpmn(原创 2017-08-02 13:59:23 · 344 阅读 · 0 评论 -
Activiti工作流框架学习(一)——环境的搭建和数据表的了解
一、什么是工作流 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。 工作流管理系统(Workflow Management System,WfMS)是一个软件系统,它完成工作量的定义原创 2017-08-02 13:58:21 · 261 阅读 · 0 评论 -
使用Java Service Wrapper设置tomcat作为linux服务并且开机自动启动
<br />前几天总结了使用JSVC来设置tomcat作为linux服务并且开机自动启动,但是如果要更专业一点来控制tomcat的启动,使用Java Service Wrapper应该不失为一个好的选择,下面来总结一下Java Service Wrapper在Linux中对于tomcat启动的设置: <br />1、 安装JDK、Tomcat,此处略过。比如tomcat安装在/opt/tomcat目录中。 <br />2 、使用命令wget 下载Java Service Wrapper(目前版本wrappe原创 2010-12-31 15:43:00 · 585 阅读 · 0 评论 -
Java编程的那些事儿--网络编程之UDP编程
<br />网络通讯的方式除了TCP方式以外,还有一种实现的方式就是UDP方式。UDP(User Datagram Protocol),中文意思是用户数据报协议,方式类似于发短信息,是一种物美价廉的通讯方式,使用该种方式无需建立专用的虚拟连接,由于无需建立专用的连接,所以对于服务器的压力要比TCP小很多,所以也是一种常见的网络编程方式。但是使用该种方式最大的不足是传输不可靠,当然也不是说经常丢失,就像大家发短信息一样,理论上存在收不到的可能,这种可能性可能是1%,反正比较小,但是由于这种可能的存在,所以平时原创 2010-12-31 15:45:00 · 275 阅读 · 0 评论 -
JDBC通过DatabaseMetaData对象了解数据库信息
<br />JSP通过JDBC对数据库管理系统进行连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息。根据这些信息,JDBC可以访问一个实现事先并不了解的数据库。获取这些信息的方法都是在DatabaseMetaData类的对象上实现的,而DataBaseMetaData对象是在Connection对象上获得的。<br /> <br /> 来看看下面这个例子: <原创 2010-12-31 15:46:00 · 378 阅读 · 0 评论 -
用JAVA实现网络数据包嗅探
网络嗅探可是说是网络开发的一个基础,SNIFFER、IDS都是在这个基础上开发的,一个提供了网络分析,一个提供了入侵检测。实现一个网络嗅探程序到底有多难呢?可以很复杂,也可以很简单。在WINDOWS平台下,大多依靠的是WINPCAP,如果你觉得还复杂,那就再封装。JAVA就把它封装成了JPCAP,就是在WINPCAP的DLL基础上又提供了几个包(JAR),你只要引入你的包,创建包中的对象,引用人家原创 2012-08-24 09:13:54 · 1443 阅读 · 0 评论 -
Java系统程序员修炼之道
从2002开始接触Java学会HelloWorld这么经典的程序到如今不知不觉已经十年啦,十年中亲耳听到过不少大牛的演讲,见到过项目中的神人在键盘上运指如飞的编程速度,当时就被震撼了。当编程越来越成体力活,我们还能有自己的思想,还能修炼为Java系统级别的程序员嘛?学习与修炼以下知识与技能,帮你早日达成愿望。 一:Java语言学习对线程(thread),串行化,反射原创 2012-09-11 09:40:26 · 1210 阅读 · 0 评论 -
JVM内存泄漏检测与处理
JVM内存泄漏检测与处理(JVM Memory Leak detection and handling) JVM垃圾回收机制的原则和方法JVM垃圾回收中一个基本原则是对象没有被引用或则引用其它对象,换句话说当一个对象在heap中是隔离(isolation)状态的时候,垃圾回收器就会自动回收分配给这个对象的堆内存空间。区分活动对象的两个基本方法是引用计数器(reference c原创 2012-09-11 09:48:59 · 385 阅读 · 0 评论 -
Tomcat内存设置详解
Java内存溢出详解 一、常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用JVM提供的-Xmn -原创 2015-07-01 11:11:22 · 347 阅读 · 0 评论 -
Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)的解决办法
Tomcat启动时报如下错误: java.lang.OutOfMemoryError: PermGen space 解决办法: 配置相关内存大小。其中按照启动tomcat的不同方式,分如下三种情况 a):如果是eclipse的tomcat插件启动tomcat,在“window”菜单-“Preferences”-“Tomcat”-“JVM Sett原创 2015-07-01 10:45:20 · 379 阅读 · 0 评论 -
MyEclipse8.5/8.0 终极优化 .
现在许多新插件都要eclipse3.5以上,所以工具升级到了8.5,但是实在是太庞大了,在网上搜了搜,觉得这篇不错,就转来了。 还在为自己的配置低而抛弃MyEclipse8.5/8.0..还在为那低下的速度而苦恼吧??那么.来试试优化的效果吧> 然我我们来开始优化吧:1、老是弹出Quick update error、关闭myeclipse的Quick Update自动更新功转载 2015-06-12 10:33:19 · 405 阅读 · 0 评论 -
eclipse中使用git
有的eclipse已经自带了GIt了,就不用安装了。如果,想重新安装,可以先卸载GIT,卸载不同eclipse卸载不一样:1.在Eclipse中依次点击菜单"Help"->"About Eclipse"。弹出图1所示对话框,点击"Installation Details"按钮,弹出图2所示对话框。选中要卸载的插件(按住Ctrl可多选),点击"Uninstall..."按钮。原创 2015-07-10 15:28:17 · 425 阅读 · 0 评论 -
教你Windows平台安装配置Hadoop2.5.2(不借助cygwin)
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]一 安装hadoop252二配置hadoop环境变量三修改hadoop配置文件四替换文件五运行环境接下来上传测试操作HDFS附录hadoop自带的web控制台GUI刚入门Hadoop,开发环境的搭建估计能把一部分人逼走。我也差点疯了。 估计能看到这篇文章的小伙伴们原创 2017-04-05 15:29:19 · 2122 阅读 · 3 评论 -
HADOOP+ZOOKEEPER+HBASE+HIVE
1.配置yum源Xftp 10.72.39.160 /etc/yum.repo.d/RHEL.repo目的机器上:cd /etc/yum.repos.d/mkdir bakmv CentOS-*.repo bakyum clean allyum makecacheyum list 2.编译64位库yum install gcc-c++-yyum i原创 2017-04-14 13:48:27 · 1251 阅读 · 0 评论 -
activiti数据库表结构剖析
1、结构设计1.1、 逻辑结构设计Activiti使用到的表都是ACT_开头的。ACT_RE_*:’RE’表示repository(存储),RepositoryService接口所操作的表。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。ACT_RU_*:‘RU’表示runtime,运行时表-RuntimeService原创 2017-05-05 10:14:32 · 371 阅读 · 0 评论 -
Activiti UserTask节点扩展 实现自定义节点属性
因为在项目中需要自定义UserTask属性。而且还需要能够在后台得到这个属性值。所以本人查阅了一些资料。咨询了临远大神。才实现。在这里把要修改的文件列出。引擎版本Activiti5.14activiti-bpmn-converter包 Semantic.xsd BpmnXMLConstants //设置属性常量值 UserTaskXMLConv原创 2017-08-09 10:04:15 · 3782 阅读 · 1 评论 -
工作流Activiti5流程变量 任务变量 setVariables 和 setVariablesLocal区别
因为网上的资料比较少。结合源码把相关API写下来。设置流程级别变量:runtimeService.startProcessInstanceById( template.getTemplateId(), variables);runtimeService.setVariables(executionId, variables);原创 2017-08-09 10:06:44 · 1478 阅读 · 0 评论 -
Activiti源码分析
Activiti是业界很流行的java工作流引擎,关于Activiti与JBPM5的关系和如何选择不是本文要讨论的话题,相关内容可以baidu一下。Activiti从架构角度看是比较优秀的,是很面向对象的,是我所阅读过的代码结构很棒的开源软件,个人认为比Spring,Hibernate的要好。Activiti的基础编程框架 Activiti基于Spring,原创 2017-08-02 12:23:12 · 281 阅读 · 0 评论 -
工作流框架Activiti常用功能初探
Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。BPMN是由BPMI(The Business Process Management Initiative)开发了一套标准叫业务流程建模符号(BPMN - Business Proc原创 2017-08-02 13:57:20 · 353 阅读 · 0 评论 -
CAS单点登录源码解析之【服务器端】
前期准备:1.cas-server-3.5.2-release.zip2.应用系统webapp1(http://127.0.0.1:8090/webapp1/main.do)3.应用系统webapp2(http://127.0.0.1:8091/webapp2/main.do)4.CAS单点登录服务器端(http://127.0.0.1:8081/cas-server/)...原创 2019-02-26 16:20:37 · 1435 阅读 · 0 评论