- 博客(51)
- 收藏
- 关注
原创 静态工厂加策略模式(spring注解实现)
静态工厂加策略模式(spring注解实现)根据spring容器原理(map),吧bean和code对应起来,然后根据不同的code 去拿具体的bean抽象方法/** * @author: craywen * @date: 2021-02-23 17:47 * @desc: 执行 */public abstract class AbstractCommentSaveExtension { /** * * @author craywen * @
2021-02-26 10:52:07 309 2
原创 AlibabaCloud-sentinel-getway熔断篇(2)
AlibabaCloud-sentinel限流篇(2)在上一篇文章中,我们介绍了使用sentinel对接口进行限流,但是Sentinel的功能当然不局限于接口拉,这个时候@SentinelResource注解就出来了,下面就看下他的使用方法吧第一步:首先启动sentinel控制台java -Dserver.port=8889 -jar sentinel-dashboard-1.8.0.jar 第二步: 增加注解支持的配置: public static void main(String[
2020-09-07 12:36:01 1140
原创 AlibabaCloud-sentinel getway限流篇(1)
AlibabaCloud-sentinel限流篇(1)首先我们来看几个问题吧AlibabaCloud sentinel 是干嘛的?Sentinel 可以简单的分为 Sentinel 核心库和 Dashboard。核心库不依赖 Dashboard,但是结合 Dashboard 可以取得最好的效果。这篇文章主要介绍 Sentinel 核心库的使用。如果希望有一个最快最直接的了解,可以参考 新手指南 来获取一个最直观的感受。我们说的资源,可以是任何东西,服务,服务里的方法,甚至是一段代码。使用 Se
2020-09-04 15:14:14 2199
原创 使用ThreadFactoryBuilder创建线程池
使用 ThreadFactoryBuilder使用guava的ThreadFactoryBuilder来创建线程池栈不会溢出,合理化资源package com.macro.mall.test.thread;import com.google.common.util.concurrent.ThreadFactoryBuilder;import org.apache.tomcat.util.threads.ThreadPoolExecutor;import java.util.concurren
2020-09-03 10:28:58 8750
原创 rabbitMq 批量消费(pull 拉取模式 )
rabbitMq 批量消费(pull 拉取模式 )maven 依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.6</version>
2020-07-20 16:00:06 6918
原创 Spingboot 整合netty-socket.io
2: 上线后注意线上是否有cdn 注意 如果有需要开启cdn支持websocket。2: 上线后注意线上是否有cdn 注意 如果有需要开启cdn支持websocket。8:nginx 配置 协议升级 wss(443) 或ws(80)1: 注意server的版本和client版本是对应上的。1: 注意server的版本和client版本是对应上的。注意版本号,不然client版本不对的话也是连不上的。
2023-07-24 11:07:44 430
原创 微信支付和支付宝支付整合(异步回调篇)
微信支付和支付宝支付异步回调篇前言: 第一章大概说明了,微信和支付宝大概支付的流程,这个做一个补充. 一般支付都要回调时补充自定义业务参数.自定义业务参数支付宝参数类型是否必填最大长度描述示例值passback_paramsString可选512公用回传参数。 如果请求时传递了该参数,支付宝会在异步通知时将该参数原样返回。 本参数必须进行UrlEncode之后才可以发送给支付宝。merchantBizType%3d3C%26merchantBizNo%3d2
2021-07-27 11:01:02 3815 4
原创 Nginx 405 not allowed解决办法
Nginx 405 not allowed解决办法场景 : Nginx 静态html文件转发post 请求,出现405 状态码解决方式: 405 重新代理转发. upstream myservername{ ip_hash; server 127.0.0.1:9100; server 127.0.0.1:9102;} location ~ ^/api/ { proxy_pass http://myservername;
2021-07-14 15:25:29 11816
原创 微信支付和支付宝支付整合(含设计模式1)
微信支付和支付宝支付整合(含设计模式1)1.说明:设计模式:单例+策略模式+抽象 在开发中经常对接微信支付和支付宝支付,相对来说,阿里的文档比微信的接口文档清晰一点,这里用的第三方库(com.github.binarywang)整合两个支付开箱即用。 微信支付分开放平台和公众号,具体的请自行参考文裆自行配置. https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_9&index=1 支付宝文档地址 htt
2021-07-07 14:25:28 2598
原创 golang 时间操作常用api(Api)
golang 时间操作常用api(Api)转成普通的 yyyy-MM-dd 普通时间 没有像java那样的格式 要死记 总计 1234567package mainimport ( "fmt" "time")func main() { //当前时间 nowTime := time.Now(); // nowTime := time.Now().UTC() 协调时间; fmt.Printf("%v\n",nowTime) fmt.Printf("%02d.%02d.%4d\n",
2021-05-31 15:58:46 355
原创 Golang 字符串操作常用api(String )
golang string 常用apipackage mainimport ( "fmt" "time")func main() { //当前时间 nowTime := time.Now(); fmt.Printf("%v\n",nowTime) fmt.Printf("%02d.%02d.%4d\n", nowTime.Year(), nowTime.Month(), nowTime.Year()) //转成普通的 yyyy-MM-dd 普通时间 nowTimeStr :=no
2021-05-31 15:50:30 256
原创 阿里云文本审核(java敏感词效验)
文本敏感词校验背景: 用户社区评论或分享的文章或评论,需要合法合规,不能包含涉政等违规的铭感词.使用阿里云的内容审核准备工作阿里云账号,需要开通敏感词服务 注意(有accessKeyId和accessKeySecret)都不行,须开通服务文档地址: https://help.aliyun.com/document_detail/70439.html?spm=a2c4g.11186623.6.701.1cea2188bMuZUi调试地址:https://next.api.aliyun.com/
2021-05-26 15:59:37 6490 3
原创 ngrok内网穿透教程
ngrok 内网穿透教程下载ngrok.exe 程序https://www.ngrok.cc/download.html注册一个隧道地址https://www.ngrok.cc/user开通隧道:启动ngrok.exe 程序 输入隧道id注意:http代理的端口必须是 80 ,https 必须是 443(需要Nginx代理)微信效验(公众号配置,认证服务器,假如没有阿里云服务和域名用ngrok再合适不过了) @GetMapping("/wxPublic") public
2021-03-30 10:43:04 445
原创 java获取集合Collection的差集,去重并集,交集(适合数据十几万以上)
集合操作直接使用remove来比较两个集合的差集,数据量达到十几万时,效率比较慢,推荐使用一下方式.package com.lcw.adapter;import java.util.*;/** * @author: craywen * @date: 2021-02-22 16:07 * @desc: */public class set { public static void main(String args[]) { getList(); }
2021-02-22 16:19:51 2051
原创 发送订阅消息通知(记一次笔记)
发送订阅消息通知举枚类package com.cloudyoung.jun.ucenter.enums;import java.util.Optional;import java.util.stream.Stream;public enum WxMiniDataEnum { WX_MINI("mini","ssss","sssss"), ; private WxMiniDataEnum(String programName, String appId, Strin
2020-12-15 11:27:35 1056
原创 spring事务失效的原因(自己调用自己原因解决方案)
1、数据库引擎不支持事务这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用 InnoDB2、没有被 Spring 管理// @Servicepublic class OrderServiceImpl implements OrderService { @Transactional public void updateOrder(Order order) { // update order
2020-12-07 15:21:50 2600
原创 RedissonDistributedLock(redis分布式锁工具类,笔记)
redisson分布式锁, 支持全局与局部锁RedissonDistributedLockpackage com.llb.cloudyoung.tool.lock;import com.llb.cloudyoung.tool.redis.RedissonConfig;import com.llb.cloudyoung.tool.utils.DateUtil;import com.llb.cloudyoung.tool.utils.LogUtil;import org.redisson.a
2020-10-10 10:31:24 2026
原创 MYSQL主从模式搭建
mysql 主从模式搭建主从模式的优点有如下几点:主库出现问题,可以快速切换到从库提供服务。可以在从库上执行查询操作,从主库中更新。实现读写分离可以在从库中执行备份,以避免备份期间影响主库的服务。下载资源包centos7 x64mysql 5.7.20(压缩版)wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz这边整理一下几个目录:在 /usr/lo
2020-09-11 17:03:24 863
原创 sping-bean
spring-bean的创建过程创建bean的方法/** * Central method of this class: creates a bean instance, * populates the bean instance, applies post-processors, etc. * @see #doCreateBean */@Overrideprotected Object createBean(String beanName, RootBeanDefinition mbd,
2020-09-07 17:25:24 128
转载 spring-cloud介绍(zuul 版)
本文基于 Spring Cloud Netflix 。Spring Cloud Alibaba 也是非常不错的选择哦!授权转载自:https://juejin.im/post/5de2553e5188256e885f4fa3首先我给大家看一张图,如果大家对这张图有些地方不太理解的话,我希望你们看完我这篇文章会恍然大悟。什么是Spring cloud构建分布式系统不需要复杂和容易出错。Spring Cloud 为最常见的分布式系统模式提供了一种简单且易于接受的编程模型,帮助开发人员构建有弹性的.
2020-08-18 14:17:02 447
转载 final,static,this,super
final,static,this,super 关键字总结final 关键字static 关键字this 关键字super 关键字参考static 关键字详解static 关键字主要有以下四种使用场景修饰成员变量和成员方法(常用)静态代码块静态内部类静态导包补充内容静态方法与非静态方法static{}静态代码块与{}非静态代码块(构造代码块)参考final,static,this,super 关键字总结final 关键字final关键字主要..
2020-08-18 10:15:57 386
原创 oauth2 Nginx代理问题 (https->http)
oauth2 Nginx代理问题 (https->http)最近在给系统正式环境部署用户认证时,登录出现问题。在本地开发环境中一切正常,但是一放到服务器就会认证失败,查看日志后发现 OAuth2 的 redirectUri 参数不匹配经了解springboot是通过 是通过 UrlUtils.buildFullRequestUrl(request) 从 HttpServletRequest 中获取的 redirectUri :OAuth2LoginAuthenticationF
2020-08-07 10:24:24 2467
原创 fork/join 使用词云统计
使用fork/join 词云统计创建线程池 //使用 Fork/Join ForkJoinPool forkJoinPool = new ForkJoinPool(); //提交任务 Map<String, Integer> map = forkJoinPool.invoke(new ForkRecursiveTask(crawlerData)); fork 主线程extends RecursiveTask<Map<String, Intege
2020-08-03 11:14:12 225
原创 HBASE 链接工具类,以及基本table操作和实体cover工具类
HBASE 链接工具类,以及基本table操作和实体cover工具类hbaseUtilspackage com.feifan.data.utils;import com.feifan.data.model.CrawlerHbase;import org.apache.commons.lang3.StringUtils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.*;import org.
2020-07-14 14:17:56 499
原创 时间工具类(获取日期周,日期月的开始时间和结束时间)
时间工具类(获取日期周,日期月的开始时间和结束时间)需要lombok依赖package com.linkip.sentiment.util.date;import com.whos.sa.analysis.Analysis;import lombok.Data;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;
2020-07-14 14:04:25 345
原创 Mysql解决锁冲突
前运行的所有事务select * from information_schema.innodb_trx当前出现的锁select * from information_schema.innodb_locks锁等待的对应关系select * from information_schema.innodb_lock_waitsmysql -uroot -pkill threadId通过找到线程id号,进行kill...
2020-06-05 16:20:26 920
转载 linux RabbitMq 安装
安装rabbitMq 环境https://www.jianshu.com/p/2f733ec8b117下载elang 语言环境https://www.rabbitmq.com/releases/erlang/根据mq版本下载 相应的elang 语言包安装elangyum -y install 语言包.rpm配置pathvim /etc/profileexport PATH=/usr/local/rabbitmq/sbin:$PATH刷新配置source /etc/profile随后启
2020-06-05 16:12:48 153
原创 shell 脚本批量生成数据库表或数据库(适用于分库分表)
批量清空表#!/bin/sh#批量清空数据库表user=rootpassword=fhData+123456socket=/var/lib/mysql/mysql.sockmycmd=“mysql -uuser−puser -puser−ppassword -S $socket”for((i=0;i<=99;i++))doif [ KaTeX parse error: Expected 'EOF', got '#' at position 19: …lt 10 ];then#̲
2020-05-11 09:00:07 493
原创 elasticsearch6.X 创建index,mapping操作
删除index mappingcurl -XDELETE “http://10.14.96.224:9200/owner”;curl -XDELETE “10.14.96.224:9200/stealth”;curl -XDELETE “http://10.14.96.224:9200/high_intention”;创建mappingindex 车主curl -XPUT “http...
2020-03-24 12:30:01 1253
原创 IDEA libaba Cloud Toolkit 部署项目插件
Alibaba Cloud Toolkit 部署项目插件周末学习总结啦idea 下载 Alibaba Cloud Toolkit首先在插件里面下载安装 Alibaba Cloud Toolkit 插件在这里插入图片描述安装插件后,就可以使用了点击添加主机**设置连接服务器属性,测试连接上传代码获取jar包的pid,杀掉进程,后台运行jar包输出日志,以及pidps a...
2020-03-15 12:39:12 329
原创 网关服务(zuul)设置路由过滤(ZuulFilter )
周末记一次笔记ZuulFilter 的生命周期过滤器类型 filterTypeZuul 中的过滤器跟我们之前使用的 javax.servlet.Filter 不一样,javax.servlet.Filter 只有一种类型,可以通过配置 urlPatterns 来拦截对应的请求。而 Zuul 中的过滤器总共有 4 种类型,且每种类型都有对应的使用场景。1)pre可以在请求被路由之前调用...
2020-03-08 10:18:11 2490
原创 centos 7.0安装elasticsearch 6.x
周末开始学习啦下载 elasticsearch 安装包$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz## 解压ar -xvf elasticsearch-6.3.2.tar.gz 配置 elasticsearch.yml文件## 应用名cluster.nam...
2020-02-22 20:47:35 312
原创 centos7 安装 hbase单机版
首先下载hbase安装包wget http://mirror.bit.edu.cn/apache/hbase/stable/hbase-2.2.3-bin.tar.gz解压压缩包tar -zxvf hbase-2.2.3-bin.tar.gz修改/opt/hbase-2.2.3/conf/hbse-env.sh文件第一步 设置javahomeexport JAVA_HOME=/...
2020-02-16 23:43:09 1527
原创 Zookeeper安装linux单机版
下载zookeeper 安装包wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz版本 zookeeper-3.4.6解压 tar -zxvf zookeeper-3.4.6.tar.gz检查系统jdk 环境这里使用jdk版本1.8vi /etc/profi...
2020-02-16 23:26:03 145
转载 hbase shell 基本操作
进入安装目录命令行,表操作https://blog.csdn.net/u010416101/article/details/89186320https://blog.csdn.net/scutshuxue/article/details/6988348
2020-02-10 22:41:04 111
原创 Spring Boot中使用过滤器和拦截器
Spring Boot中使用过滤器和拦截器过滤器(filter)过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理流程图如下应用场景自动登录统一设置编码格式访问权限控制敏感字符过滤等创建filter继承filter 重写filter 三个方法,pac...
2020-01-16 00:44:31 363
原创 ThreadPoolExecutor源码以及核心的七个参数
ThreadPoolExecutor源码以及核心的七个参数ThreadPoolExecutor 继承 AbstractExecutorService 抽象类import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import jav...
2020-01-11 01:45:57 283
原创 java 的值传递与引用传递
值传递当一个栈帧,压入另一个栈帧中级的参数传递形参和实参当压入下一个栈帧传递的实参是copy的,就是值传递帧我是这么理解的,放视频的帧数,理解到这里的栈帧,一个栈帧相当于一个方法栈引用对象举一个简单的例子Person a = new Person ();’ a 是new Person() 的一个对象的引用,...
2020-01-10 00:00:01 82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人