自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 springboot项目中实现aop切面拦截自定义注解功能

项目中有很多时候需要在所执行的方法前或者方法后执行一些特殊的逻辑代码,这个时候首先就想到了aop切面结合自定义注解来实现我想要的功能,但是注意,这种方式并不是万能的,这个放到最后说。下面请看我的代码首先需要自定义自己的注解(这里以我的ExecAfterMethod和ExecBeforeMethod为例)package cn.people.one.core.annotation;imp...

2019-10-22 16:29:12 52

原创 java中操作远程Centos服务器的命令或者shell脚本

网上好多都是有问题的,而且10篇有8篇都是一样的,根本都执行不了复杂的命令,真是醉了,现在给大家分享一下我的操作方式,希望能真正帮助到大家。本工具类需要在项目中引用如下jar包:<dependency> <groupId>ch.ethz.ganymed</groupId> <artifactId>ganymed-ssh2&l...

2019-09-29 19:49:47 195 2

原创 springboot+mybatis解决多数据源切换事务控制不生效的问题

网上好多的springboot的事务都是瞎扯,根本不起作用,后来通过各种渠道查证,springboot的声明式事务需要重写Transaction。追溯源代码:查看源代码中DataSourceTransactionManager这个类 当我们配置了事物管理器和拦截Service中的方法后,每次执行Service中方法前会开启一个事务,并且同时会缓存一些东西:D...

2018-02-26 16:59:30 21052 18

原创 基于百度的UidGenerator改造的全局唯一id生成器

其实百度的UidGenerator生成器也是基于snowflake算法的,在原生的项目中使用的基于数据库的,我改造成了基于zookpeer的,用zookpeer的序列号实现分布式seq的生成(代替了算法中的机器码);关于uidgenerator我这里就不多说了,不了解的可以去看下资料http://blog.csdn.net/littlesmallless/article/details/696

2018-01-22 12:20:18 9208

原创 elastic-job替换掉原来的spring+quartz的定时任务调度

替换的原因: 我想用quartz实现定时任务集群的时候,遇到过很坑的问题就是所有做集群的机器都必须保证时间的一致性,要不然有很多机器的项目是起不来的;除此之外,使用quartz很容易造成数据库死锁的问题,虽然我已经降低了quartz的数据库事务级别,但还是有这种情况发生,所以用过一段时间之后,新的项目就用了elastic-job。版本: elastic-job有两个版本:一个是elas

2018-01-22 10:51:37 4873 2

转载 解決org.quartz.JobPersistenceException: Couldn't acquire next trigger: Couldn't retrieve trigger: null

org.quartz.JobPersistenceException: Couldn't acquire next trigger: Couldn't retrieve trigger: null [Seenested exception: org.quartz.JobPersistenceException: Couldn't retrieve trigger: null [Se

2017-09-05 09:44:16 7662

原创 Spring+quartz实现定时任务集群

1.准备环境(以maven为例,如果不是请自行下载需要的jar包) org.quartz-scheduler quartz 2.3.0 mysql mysql-connector-java 5.1.4

2017-09-01 20:32:52 357

原创 消息队列监听器无法注入bean的问题解决

在使用ActiveMq或者其他消息队列的过程中,第一步对ActiveMq进行初始化的过程是放在ContextListener的初始化的时候的;然而当mq接收到消息的时候触发getMqMsg方法的时候报错null,调试发现MqManageService根本没有获取到,我的想法是获取的方式不对,@Autowired这种方式获取bean不成功,但是bean肯定是已经存在于spring容器中的,如

2017-09-01 20:13:08 3966 8

原创 spring+redis缓存服务器读取不到数据

根据key查出来的数据一直为null,很费解,因为我自己在集成之前写的测试的例子是可以访问的。所以经过分析,原来是value值没有序列化只需要加上下面的配置就可以了<beans:bean id="redisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFact

2017-09-01 19:59:08 4651

原创 centos6下安装rabbitmq

RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用,具体特性还在验证中,待检验。由于项目需要,安装并配置了RabbitMQ。1.安装依赖环境:yum

2017-09-01 19:47:32 345

原创 KeyGenerator加解密在windows和linux的同步

采用KeyGenerator在windows加解密和在linux上有区别的,之前做项目的时候在windows上测试时正常的,但是放到linux上面就不正常了。Wndows上(password就是后台传过来的密码): KeyGenerator kgen = KeyGenerator.getInstance("AES"); kgen.init(128, new SecureRand

2017-07-21 11:55:51 1706

原创 在centos6.*下安装PostgreSQL

原来项目中使用的是mysql作为后台数据库,由于数据量越来越大发现mysql的查询效果越来越慢,于是找了很多资料,然后经过我的测试发现postgreSQL在数据量到达千万级以上的时候查询比较稳定,于是确定用postgreSQL来替代掉原来的mysql,这里面就有个问题了,原来的mysql数据怎么办?这个我在下一篇文章再讲。1.安装postgreSQLyum install http://y

2017-04-21 13:07:21 316

原创 Ajax传递数组的问题

我的jsp页面中利用了Struts2的标签,而且又是多选,如果直接用form表单提交就会自动封装成一个数据传递到后台,但是如果是ajax提交就不行,后台获取到的数组值为null。                                                                                 multiple="true" size="5"

2017-04-18 11:15:47 677

原创 freemarker的常用标签

freemarker list (长度,遍历,下标,嵌套,排序)1. freemarker获取list的size : JavaArrayList list = new ArrayList(); Freemaker${list?size}  2. list的遍历:            

2016-12-23 09:37:59 366

原创 $.ajaxMutiUpload提交表单中data传参的序列化问题

页面中参数太多,但是用$("#moduleform").serialize()序列化之后不是json格式的,这时需要将参数重新排列成json格式传输://序列化参数 var params = serializeObject($("#moduleform").form()); $.ajaxMutiUpload({ type:

2016-12-09 18:25:43 464 1

转载 Centos6.5下搭建nfs文件服务器

链接

2016-11-03 18:40:55 629

原创 mongodb3.2以上版本的学习心得(附与3.0之前的区别)

1.mongodb的安装(忽略):官网很多版本自己去选择要安装的版本安装,这里就不做详细的描述了,我安装的是mongodb-win32-x86_64-2008plus-ssl-3.2.9-signed.msi2.设置存放数据的文件目录:例如在D盘创建一个mongo_data文件夹3.启动:打开cmd命令行,输入并指明数据的存储路径:mongod --dbpath=D:\

2016-09-26 18:43:42 8106 2

转载 MongoDb的“not master and slaveok=false”错误及解决方法

MongoDb的“not master and slaveok=false”错误及解决方法在SECONDARY查询出发现如下错误:SECONDARY> show collections;Sat Aug  4 15:29:00 uncaught exception: error: { "$err" : "not master and slaveok=false", "code"

2016-09-26 12:33:49 975

原创 java.lang.IllegalArgument,Parse error in application web.xml file at jndi:/localhost/WEB-INF/web.xm

使用eclipse启动Tomcat时错误:java.lang.IllegalArgumentException: Can't convert argument: nullParse error in application web.xml file at jndi:/localhost/WEB-INF/web.xml出现问题的原因是:是由于在Eclipse下重构Java

2016-09-20 10:51:31 5924

原创 利用freemarker生成包含合并单元格的表格的word文档

1.项目中有需求要生成那种合并单元格而且行数不确定的情况,之前有用过freemarker生成固定格式的word文档,网上找了很多资料,经过两天的研究,现在提供一个东西可以供大家参考。需求图:

2016-08-31 21:17:12 6264 2

原创 EasyUI可编辑datagrid用combobox实现多级联动

我在项目中设计课程表的时候需要用到老师和分类之间的多级联动。首先是一张效果图:下面是实现的代码: $(function(){ var editing ; //判断用户是否处于编辑状态 var flag ; //判断新增和修改方法 $('#set_schedule').datagrid({ idField:'id' , fit

2016-08-27 13:14:46 5590

原创 VMware12中使用centOS6.5连接网络问题

1.首先确认Vmware的两个服务打开(VMware DHCP Service和VMware NAT Service),如下:2.设置网络适配器为NAT模式3.打开本机上的两个VMware的适配器

2016-08-12 16:58:29 395

原创 Linux下tomcat设置最大连接数

处理:修改tomcat的最大线程数。在server.xml里的connect标签里加参数,具体的参数名称请参考http://tomcat.apache.org/tomcat-6.0-doc/config/http.html , 加了maxThreads(默认200) 和 acceptCount(默认100)两个参数,分别设置最大连接数。1、环境说明Linux下tomca

2016-07-25 18:14:49 3937

原创 tomcat内存溢出

错误:Exception in thread "http-bio-8080-exec-2" java.lang.OutOfMemoryError: PermGen spaceException in thread "http-bio-8080-exec-3" java.lang.OutOfMemoryError: PermGen spaceException in thread "http

2016-07-25 18:13:16 773

原创 Mysql参数优化

1:MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看mysql> show variables like 'max_connections';2:查看当前访问Mysql的线程mysql> show processlist;3:设置最大连接数mysql>set global max_connections = 5000;最大可设置16384,

2016-07-25 18:12:26 205

原创 创建本地yum库

在很多情况下我们需要在没有网络的环境下安装和部署,但是yum命令只能在网络环境中用,这就需要我们在本地创建yum库。1.需要现在有网络的情况下下载好所需要的所有的库文件yum install xxx --downloadonly --downloaddir=/xxx -y2.安装createrepo,我下载的是createrepo-0.9.9-24.el6.noarch.rpm,这

2016-07-25 18:11:11 726

原创 LVS+Keepalived实现负载均衡

1.检测系统环境(下载相应版本的安装包):[root@rhel ~]# uname -aLinux rhel 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux我下载的是:keepalived-1.2.22.tar.gz2.安装编译环境:[root@rhel

2016-07-25 18:02:14 341

原创 Linux下部署项目三(安装Tomcat)

1. 安装JDK先用java命令查看系统是否安装了默认的openJDK,如果已安装,建议用yum remove java卸载之。下载jdk:wget –c http://download.oracle.com/otn-pub/java/jdk/7u5-b05/jdk-7u5-linux-i586.rpm安装:rpm –ivh jdk-7u5-linux-i586.rpm配置

2016-07-25 17:56:39 312

原创 Linux下部署项目二(安装Mysql)

RPM方式安装MySQL5.6 a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称)1 [root@localhost ~]# rpm -qa | grep -i mysql2 mysql-libs-5.1.66-2.el6_3.x86_643 [root@localhost ~]# yum -y remove mysql-libs*b. 下载

2016-07-25 17:51:09 225

原创 linux下部署项目一(安装JDK)

这里以centOS6.5为例1.首先下载对应CentOS版本的jdk:这里我下载的是 jdk-7u75-linux-x64.tar.gz,下载地址是:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html2.下载该jdk到本地,并上传到你的CentOS 6.5系统的opt

2016-07-25 17:44:28 1917

转载 PL/SQL连接Oracle64位的方法

一、下载Oracle客户端下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,点击连接进入会出现以下页面。选择第一个Instant Client for Microsoft Windows (32-bit) 进行下载就可以了,请不要下载64bit的,我

2016-07-25 17:22:20 235

转载 配置Tomcat使用https协议(配置SSL协议)

内容概览:如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议  1.生成安全证书  2.配置tomcat-------------------------------------------------------------------------------------------------------------------------

2016-07-01 09:45:17 811

转载 ORA-01033的解决办法

Oracle错误:ORA-01033错误编码:ORA-01033: ORACLE initialization or shutdown inprogress故障描述:因为移动了数据库文件([NAME].DMP)/日志文件等文件,导致数据库连接出现ORA-01033错误。故障分析:网上有一种常见的说法是该类故障通常是由于移动文件而影响了数据库日志文件出现损坏而导致

2016-03-14 17:38:10 454

转载 ORA-00600: [kcratr1_lastbwr]错误的处理

问题分析:现这种错误的原因是因为系统强制关闭(或者是突然断电)造成的。解决办法:执行如下的命令就行  1>shutdown         2>startup mount         3>recover database         4>alter database open问题分析:见http://www.ixdba.net/article/f9/277.

2016-03-14 17:36:24 529

原创 hibernate使用sqlQuery查询mysql数据库时别名问题

错误如下(类似的可以参考):2016-02-24 10:25:18,001 org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:233) "#" SQL Error: 0, SQLState: S00222016-02-24 10:25:18,001 org.hibernate.u

2016-02-24 11:39:50 2003

原创 SSH启动错误

java.lang.UnsupportedClassVersionError: Bad version number in .class file造成这种过错是ni的支撑Tomcat运行的JDK版本与支撑application运行的JDK版本不一致导致的.把它们的JDK版本改成一致步骤如下:1.Window --> Preferences -->Java --> compiler中的c

2016-02-18 15:17:12 324

转载 dwr实现聊天室功能

用dwr的comet(推)来实现简单的无刷新多人聊天室,comet是长连接的一种。通常我们要实现无刷新,一般会使用到Ajax。Ajax 应用程序可以使用两种基本的方法解决这一问题:一种方法是浏览器每隔若干秒时间向服务器发出轮询以进行更新,另一种方法是服务器始终打开与浏览器的连接并在数据可用时发送给浏览器。第一种方法一般利用setTimeout或是setInterval定时请求,并返回最新数据,这无

2016-01-15 10:22:43 694

原创 dwr上传文件

1.Java中的代码 public String upload(InputStream is,String filename) throws IOException { //WebContext可以获取HttpServlet的对象 WebContext wc = WebContextFactory.get(); HttpServletRequest req = wc.getHttp

2016-01-14 16:42:26 339

原创 dwr的util的使用

使用dwr.util可以非常方便的添加select的option和获取id的值,添加table的row等处理1.首先需要在页面引入util.js文件/dwr/util.js">2.以一个完整的页面实现上述两个功能<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-

2016-01-14 16:20:40 281

原创 dwr的异常处理

默认的返回消息是Error如果希望自定义处理错误消息,可以使用元数据的方式调用<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>Insert title here/dwr/engine.js">/dwr/util.js">/dwr/inter

2016-01-14 16:14:13 1015

提示
确定要删除当前文章?
取消 删除