├── DefaultLineHandler.java ├── DefaultLineHandlerContainer.java ├── LineContainer.java ├── LineHandler.java ├── LineHandlerContainer.java ├── README.md └── Utils.java /DefaultLineHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ynwynw/project/226606e4684a89ff52c750ce479b03c0cc445a74/DefaultLineHandler.java -------------------------------------------------------------------------------- /DefaultLineHandlerContainer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ynwynw/project/226606e4684a89ff52c750ce479b03c0cc445a74/DefaultLineHandlerContainer.java -------------------------------------------------------------------------------- /LineContainer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ynwynw/project/226606e4684a89ff52c750ce479b03c0cc445a74/LineContainer.java -------------------------------------------------------------------------------- /LineHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ynwynw/project/226606e4684a89ff52c750ce479b03c0cc445a74/LineHandler.java -------------------------------------------------------------------------------- /LineHandlerContainer.java: -------------------------------------------------------------------------------- 1 | package com.pt.reactor.container; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONArray; 5 | import com.alibaba.fastjson.JSONObject; 6 | import org.redisson.api.RBucket; 7 | import org.redisson.api.RedissonClient; 8 | 9 | import java.lang.reflect.Type; 10 | import java.util.List; 11 | 12 | /** 13 | * @author nate-pt 14 | * @date 2022/7/15 10:34 15 | * @Since 1.8 16 | * @Description 17 | */ 18 | public abstract class LineHandlerContainer implements LineContainer { 19 | 20 | private RedissonClient redissonClient = Utils.getClient(); 21 | 22 | 23 | 24 | @Override 25 | public List pull(String key,Class tClass) { 26 | RBucket bucket = redissonClient.getBucket(key); 27 | Object o = bucket.get(); 28 | return JSONObject.parseArray(String.valueOf(o), tClass); 29 | } 30 | 31 | @Override 32 | public void push(List list, String key) { 33 | RBucket bucket = redissonClient.getBucket(key); 34 | String string = JSONArray.toJSONString(list); 35 | bucket.set(string); 36 | } 37 | 38 | @Override 39 | public void async(T t) { 40 | new Thread(()->{exec(t);}).start(); 41 | } 42 | 43 | public abstract void exec(T t); 44 | } 45 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | git提交 设计模式 2 | -------------------------------------------------------------------------------- /Utils.java: -------------------------------------------------------------------------------- 1 | package com.pt.reactor.container; 2 | 3 | import org.redisson.Redisson; 4 | import org.redisson.api.RedissonClient; 5 | import org.redisson.codec.JsonJacksonCodec; 6 | import org.redisson.config.Config; 7 | import org.redisson.config.SingleServerConfig; 8 | 9 | /** 10 | * @author nate-pt 11 | * @date 2022/7/15 10:57 12 | * @Since 1.8 13 | * @Description 14 | */ 15 | public class Utils { 16 | 17 | public static RedissonClient getClient(){ 18 | Config config = new Config(); 19 | config.setCodec(new JsonJacksonCodec()); 20 | SingleServerConfig singleServerConfig = config.useSingleServer(); 21 | singleServerConfig.setAddress("redis://127.0.0.1:6379"); 22 | return Redisson.create(config); 23 | } 24 | } 25 | --------------------------------------------------------------------------------