Skip to content

Instantly share code, notes, and snippets.

View yangl's full-sized avatar
🎯
Focusing

YANGLiiN yangl

🎯
Focusing
View GitHub Profile
@yangl
yangl / UmpLogAspect.java
Last active January 12, 2017 03:48
UmpLog切面,不用侵入代码一个一个的添加UMP监控。注意:如果把spring mvc的Controller 作为切入点,下边的xml配置必须和springmvc-servlet.xml放一起,不然不起作用!!!
package com.jd.buy.giftshop.shared.utils.aspect;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import javax.annotation.PostConstruct;
import org.aspectj.lang.ProceedingJoinPoint;
@yangl
yangl / BlackFilterAspect.java
Last active January 12, 2017 03:48
黑名单过滤器,启动一个线程定时同步远程redis黑名单数据至本地JVM内存;
package com.jd.couponservice.service.aspect;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
@yangl
yangl / LogAspect.java
Created August 16, 2013 06:31
调用api接口超时打印日志;
package com.jd.couponservice.service.aspect;
import java.util.HashMap;
import java.util.Map;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
@yangl
yangl / PageList.java
Last active January 12, 2017 03:48
分页器,来自webx。
package com.jd.couponept.couponeptadmin.common.util;
import java.io.Serializable;
import java.util.List;
/**
* Page查询结果对象
* @author YANGLiN
*/
@yangl
yangl / FileToJvm.java
Created August 16, 2013 07:28
将远程配置中心配置通过Dubbo RPC远程调用保存至本地客户端JVM,这是之前做服务治理时的部分代码;
package com.jd.market.servicemanagement.token.collect;
import java.io.File;
import java.util.Calendar;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Strings;
import com.google.common.io.Files;
@yangl
yangl / MultiTokenFilter.java
Created August 16, 2013 09:00
Dubbo多token拦截器实现, 为每个调用方配置一个token,方便统计每个调用方的调用次等数据及服务降级处理;
package com.jd.market.servicemanagement.token;
import java.lang.reflect.Method;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.dubbo.common.extension.Activate;
import com.alibaba.dubbo.rpc.*;
@yangl
yangl / springmvc-servlet.xml
Last active April 17, 2018 03:36
SpringMVC + FastJson + httl配置。springmvc在@responsebody时返回已格式化的json串,方便测试api接口时查看返回数据;·prettyPrint=true·搞定
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
@yangl
yangl / NearestLoadBalance.java
Created November 11, 2013 07:24
最近路径负载均衡,多线程任务ping各个注册中心,获取速度
package com.jd.registry.failover;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.*;
import com.jd.registry.Registry;
package com.jd.market.easypayservice.common.util.mapper;
import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
import org.objenesis.strategy.StdInstantiatorStrategy;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@yangl
yangl / NamedThreadFactory.java
Created November 30, 2013 07:33
带前缀命名的线程工厂,来自dubbo。
package com.alibaba.rocketmq.common;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
/**
* 带前缀命名的线程工厂
*
* @author YAGNLiiN<yanglinf@gmail.com>
* @since 2013-05-23