- 博客(178)
- 资源 (20)
- 收藏
- 关注
原创 Spring 及 Spring Boot 进程优雅停止方式
原文: Spring 及 Spring Boot 进程优雅停止方式1. 背景一个http 的请求处理是需要时间的,同时一个应用的关闭也是需要时间。那么,我们该如何来关闭一个正在运行中的Spring 或者Sping Boot 项目呢?关闭应用时,我们需要思考如下问题:内存中仍存在没有处理完的数据,比如等待同步的List对于Java 的任务处理ExecutorService 中仍然有任务在等...
2019-09-26 14:12:08 4646
原创 Ubuntu 中采用 update-alternatives 配置软件多版本
原文地址《Ubuntu 中采用 update-alternatives 配置软件多版本》我的博客 http://tramp.cincout.cn/摘要在 Debian 系统,比如 Ubuntu 中,经常会出现一个软件安装多个版本或类别的需求,而在使用时可以方便的切换。update-alternatives 就是用来在 Debian 系统中维护系统命令连接符的工具。 通过一定的设置,可以实现系统自动
2017-09-28 00:12:38 441
原创 Spring Boot 动态配置日志级别
摘要Spring Boot 在日志的配置上为我们做了众多的自动化工作,详细参见《寻根究底 Logging - Spring Boot 日志概述》。 从版本 1.5.1 之后就提供了基于 spring-boot-starter-actuator 的端点 /loggers。通过该端点可以实现查看系统的 package-path 的日志级别,以及针对特定的 package-path 配置运行中的应用的日
2017-09-01 13:50:35 6041
原创 Spring @EnableScheduling 注解解析
概述Spring 的@EnableScheduling 为我们提供了快速的基于多种规则的任务调度功能。在《Spring 4.x Task 和 Schedule 概述》一文中对Spring 实现的异步任务和定时计划作了概要性的介绍,本文将对其实现原理进行解析。核心原理@EnableScheduling要使用Spring 的注解@Scheduled 来快速开启任务调度功能,只需要添加如下配置:@Conf
2017-08-24 23:12:15 17384
原创 Spring Boot 实现 HTTPS
摘要本文主要介绍如何为Spring Boot web 项目开启 HTTPS 访问的支持。在此基础上介绍了如何在 Spring Boot 项目中自定义ServletContainer 配置多个connector。将 HTTP 的访问重定向到 HTTPS。 除此之外,还介绍了如何配置 tomcat 的访问日志,以及替换默认的应用服务器的方法。查看更多>>
2017-08-24 23:09:48 373
原创 Spring Security 概述与快速启动
Spring Security 为基于Java-EE 的企业级应用提供了综合的安全管理功能。当前有很多方案来解决服务器级别的安全访问机制,但是当部署环境一改变,就有需要花费大量的时间来解决应用的安全问题。Spring Security很好地提供了WAR&EAR 级别的应用安全问题。 应用的安全主要包含两个核心概念authentication 和authorization,即认证和授权。通过认证识别
2017-08-11 19:13:12 346
原创 Spring Boot Profile 与Maven Profile 集成实践
在现代的项目开发中多人协作、多环境部署已经是必不可少的软件开发方式,笔者目前正在开发的一个基于Spring Boot 项目环境就有四套之多,包括(本地、测试、演练、生产)。尤其是现代的大型项目开发,构建复杂、参与人数众多等因素,使得高效的构建工具必不可少。而Maven 正是这样的一款优秀的Java工程构建工具。 本文主要介绍Maven Profile 与Spring Boot Profile 集成
2017-08-11 19:11:00 1986
原创 Spring Boot 与Redis 集成实现消息发布/订阅模式
消息的发布与订阅模式是分布式系统中系统间调用进行解耦的重要手段。通过消息中间件实现的系统间异步通信能够有效地提高系统的访问速度。Redis 作为最流行的Key—value数据库之一,除了实现了丰富的内存数据结构之外,也实现了Pub/Sub模式。 Spring Data提供的Spring Data Redis项目,对Redis的访问进行了有效的封装,本文将采用它来实现Redis 的Pub/Sub 模
2017-08-11 19:09:05 777
原创 Spring Boot 与 Spring Security 持续集成
Spring Security 为基于Java EE 平台的企业级应用提供了综合性安全服务。Spring Security 核心要解决的是认证(Authentication)和授权(Authorization)两个问题。 依托于Java EE 平台的基础技术(Filter)以及 Spring 强大的IoC 和 Aop 既能够实现对基于HTTP URL 的资源进行保护也能通过声明式的方式实现业务对象
2017-08-11 19:06:21 351
原创 寻根究底 Mybatis - Mybatis 概述与快速启动
title: 寻根究底 Mybatis - Mybatis 概述与快速启动 date: 2017-06-22 20:25:26 tags: - orm - mybatis category: - ormsummary: Mybatis 概述与快速启动 thumbnail: /css/images/thumb/mybatis.pngtoc: trueMybat
2017-06-24 22:27:13 428
原创 java.lang.IllegalArgumentException: Unable to initialize due to invalid secret k
[size=large]因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件。 [/size][code="java"]java.lang.IllegalArgumentException: Unable to initialize due to invalid secret key...
2017-01-04 13:07:44 909
原创 设计模式寻根究底 - 单例模式(Singleton)
原创-转载请注明:https://zhangzhaoyu.github.io/2016/10/08/introduction-of-singleton-design-pattern/概述单例模式是一个既简单又复杂的模式。简单在它想实现的目标十分容易理解,而又复杂在要写出线程安全的单例模式不是那么容易。单例模式的核心定义是:确保某个类只有一个实例,并提供一个访问该实例的全局访问点(Ensure a c
2016-10-08 22:26:07 385
原创 Spring 4.x Task 和 Schedule 概述
转载请注明 https://zhangzhaoyu.github.io/2016/09/30/spring-task-and-schedule-deep-research/摘要在很多业务场景中,系统都需要用到任务调度系统。例如定期地清理Redis 缓存,周期性地检索某一条件并更新系统的资源等。在现代的应用系统中,快速地响应用户的请求,是用户体验最主要的因素之一。因此在Web 系统中异步地执行任务,也
2016-09-30 22:52:31 11490 2
Spring 4.x Task 和 Schedule 概述
[url]https://zhangzhaoyu.github.io/2016/09/30/spring-task-and-schedule-deep-research/[/url]
2016-09-30 22:27:14 166
原创 ServletContainerInitializer 初始化器
[size=large][b]概述[/b][/size][size=medium]为了实现不通过web.xml 启动JavaEE项目,容器提供了javax.servlet.ServletContainerInitializer。第三方的应用需要基于[b]SPI[/b]机制,来实现javax.servlet.ServletContainerInitializer 接口。也就是需要在对应的jar包...
2016-08-24 14:29:59 267
原创 Java SPI机制
[size=large][b]1. 概述[/b][/size]SPI为Service Provider Interface的缩写。为扩展框架的开发者使用。在Java的世界,有java.sql.Driver,commons-logging等使用。[size=large][b]2. 约定[/b][/size][list][*] 在META/services目录中创建以接口权限定名为...
2016-07-11 15:23:33 122
原创 Java 日志详解
[size=large]Java 日志详解[/size]1. Java 日志体系主要分为Facade 和具体的日志实现。当前主流的Facade主要由[list][*] apache-comnons-logging[*] slf4j[*] log4j2[/list]2. 主流的日志实现由以下几种[list][*] java.util.logging[*...
2016-07-11 14:09:56 163
原创 Intellij IDEA无法识别Maven 工程
[size=medium][b]Intellij IDEA 无法识别Maven 项目[/b][/size][size=small][b]出现的问题[/b][/size][size=small]当修改系统的hosts文件后,IDEA会出现无法识别Maven项目,并无法加载Maven项目骨架的问题。[/size][size=small][b]解决办法[/b][/size]...
2016-05-18 11:25:40 343
原创 获取ClassLoader加载目标类的路径
[b]ClassLoader加载的目标类的路径。[/b][code="java"]public class SrcAdd { public static URL getClassLocation(final Class cls) throws MalformedURLException { if (cls == null) { ...
2016-04-01 12:16:33 332
原创 Java Validator 泛型化实现
[size=medium]1. Java 的static 方法无法访问泛型类的类型参数,所以如果static 方法需要使用泛型能力,就必须使其称为泛型方法。[/size][code="java"]public class DomainObjectValidator { private static final Logger LOGGER = LoggerFactory.g...
2015-12-07 14:58:39 604
原创 Java 实现Tuple
[size=medium]在一次方法调用就能返回多个对象,实现return 的这个功能,采用泛型实现Tuple[/size][code="java"]public class Tuple { public final A first; public final B second; public Tuple(A first, B second) ...
2015-12-07 14:08:00 324
原创 Linux 查看进程启动详细时间及记录进程启动PID
[size=medium]1. Linux 查看进程开始执行的详细时间[/size][code="bash"]ps -p PID -o lstart[/code][size=medium]2. 记录进程启动ID[/size][code="bash"]# !/bin/shSUNNY_LOG=/home/anicloud/projects/sunny...
2015-08-21 15:51:01 964
原创 Spring Bean命名规范
[img]http://dl2.iteye.com/upload/attachment/0110/7489/9fb8a1f2-7fb5-362d-ad9f-5950be75cdde.png[/img][img]http://dl2.iteye.com/upload/attachment/0110/7539/638a2e31-247e-395b-9210-eef0809b5b95.png...
2015-08-06 16:05:23 161
原创 Spring Bean 生命周期
[code="java"]public class BeanLifeCycle { public static void main(String[] args) { Resource resource = new ClassPathResource("application-context/spring/beans.xml"); BeanFacto...
2015-08-04 12:03:32 94
原创 Java 中队列和递归
[code="java"]public class DataConversion { public static void main(String[] args) { Stack stack = new Stack(); int num = 24241; while (num > 0) { stack.p...
2015-07-25 11:08:00 232
原创 Maven 非Web 项目log4j 配置
[size=large]Maven 非Web 项目log4j.properties 文件的位置[/size][img]http://dl2.iteye.com/upload/attachment/0109/6478/17f6d2b6-ca43-343f-afa5-c63399d0e0e0.png[/img]
2015-06-21 14:51:54 412
原创 Spring MVC 本地化解析
[size=large]Spring MVC 本地化解析[/size][size=medium]1. 本地化概述[/size][size=small]一般来说,Spring MVC 根据Http Headers 报文的Accept-Language 参数发送到服务器端,服务器根据该参数判断用户客户端的本地化类型。 [/size][size=small]Spring MVC 通过Sess...
2015-06-12 13:39:29 174
原创 Python 字符串反转
[size=large]Python 字符串反转[/size][size=medium]1. Python 字符转切片实现[/size][code="python"]name = trampprint name[::-1][/code][size=medium]2. Python 递归实现[/size][code="python"]def reverse(aSt...
2015-05-20 00:40:17 215
原创 Spring4 RestTemplate :no suitable httpmessageconverter found for response type
[code="xml"] [/code][code="java"]public class ClientDeviceControllerTests { p...
2015-04-09 15:28:46 452
原创 Java 多线程异常捕捉
[code="java"]package org.anicloud.concurrency;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.ThreadFactory;/** * Created ...
2015-04-09 10:57:53 130
原创 Java Comparable 和 Comparator 比较
Java Comparable 和 Comparator 比较1. 代码实现package org.anicloud.colletion;import java.util.Arrays;import java.util.Comparator;/** * Created by zhaoyu on 15-4-1. */class User implemen...
2015-04-01 01:10:57 106
原创 Maven 运行jar
[code="xml"] 4.0.0 org.springframework gs-maven jar 0.1.0 joda-time joda-time 2.2 ...
2015-03-26 16:34:20 117
原创 git 提交本地repository 到github
echo "# worker-bee" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin git@github.com:anicloud/worker-bee.gitgit push -u origin mastergit remote add o...
2015-03-22 15:01:56 122
原创 angularjs 密码一致性校验
[size=large][b]angularjs 校验密码字段一致性[/b][/size][code="js"]directives.directive('pwCheck', function () { return { require: 'ngModel', link: function (scope, elem, attrs, ctrl...
2015-01-24 16:37:37 155
原创 playframework OneToMany @JoinTable 不支持
[b]play framework(v2.3.7) 集成Eean,不支持@OneToMany 生成中间表。 这是Ebean 实现JPA 标准的一个BUG。参见:[url]https://github.com/ebean-orm/avaje-ebeanorm/issues/123[/url][/b][code="java"]package models;import pl...
2015-01-08 01:59:32 197
原创 Java 回调
[code="java"]public interface CallBack { public void solve(String result);}[/code][code="java"]public class Wang implements CallBack { public String result; private Li...
2015-01-07 16:38:34 129
原创 Tomcat 7.X 配置https
http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html http://lixor.iteye.com/blog/1532655 http://www.oschina.net/question/12_23148
2014-11-10 11:47:35 122
原创 Eclipse中Cannot find any provider supporting DES解决之道
Eclipse中Cannot find any provider supporting DES解决之道[url]http://blog.csdn.net/darwinchina/article/details/12037999[/url]
2014-10-21 14:29:02 532
原创 Redis 配置文件
# By default Redis does not run as a daemon. Use 'yes' if you need it.# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.#Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程da...
2014-09-02 12:08:09 118
DDALine,Bresenhamline,MidPointCircle
2011-12-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人