- 博客(30)
- 资源 (29)
- 收藏
- 关注
原创 Springboot 自定义注解 支持占位符$
背景今天要给kafka消费者 记录日志, 采用的是自定义注解 + Spring AOP ,由于要记录groupId,而groupId是从配置中心读取的,所以需要自定义注解支持$的占位符语法。解决方案在 切面类 Aspect 中注入全局的Environment 对象,Environment 可以拿到所有的配置,然后调用Environment 对象的resolvePlaceholders 方法即可。示例代码@Component@Aspect@Slf4j(topic = "ELK_KFK_LOG_M
2021-08-31 17:17:41 1556
原创 dubbo 本地调试的三种方法
背景在开发Dubbo服务时,可能是多个人同时开发,但是都公用一个Zookeeper注册中心,这时就会出现同一个服务会有多个提供者(如果每个开发者都运行了提供者服务),这时如果某个开发者通过消费者服务在调用提供者服务时,可能调到别的同事机器上了,此时无法进行调试。为了解决这个问题,dubbo 可以有三种方法来解决。方法一修改服务提供者和服务消费者的版本号,比如修改服务提供者需要本地调试的某个API的版本号@Service(interfaceClass = CcbBankServiceApi.class
2020-10-28 10:03:37 5544 1
原创 mysql 导出CSV ,TEXT文本 换行问题解决方案
背景产品提了个数据需求,让我帮忙导批数据,我一顿操作猛如虎,三下五除二把邮件发过去了。过了一会儿产品说数据中长文本都换行了,她没法做分析。让我想办法把多行搞成一行,我打开文件一看,还真换行了,这是为什么呢?我强行答应产品,我可以解决,其实心里慌的一批。解决方案在换行的字段上面加上REPLACE(REPLACE(PROVINCENAME, CHAR(10),’ ‘), CHAR(13),’ ‘...
2020-04-21 10:10:37 4300
原创 BootStrap dialog 居中的解决方案
背景接手了一个古董项目,项目不是前后分离,所以页面需要自己做,由于有个需求是需要弹一个dialog,所以参照项目中之前的代码,之前的代码是用的BootStrap3 ,我照猫画虎的做完,发现dialog倒是能弹出来,但是弹的位置很不让人满意,由于本人不怎么懂前端代码,然后网上一通搜,试了很多,没有一个能够解决我的问题。最后实在没有办法,只能拿出我祖传三百年的大杀器,谷歌搜索。我输入相关英文,第一...
2019-12-10 19:23:46 843
原创 springboot2.x默认使用的代理是cglib代理
背景因为项目优化,打算写个日志的切面类,于是起了个springboot 工程,在这里面测试。结果在springboot 里面测试正常,能正确打印日志,但是把代码复制到实际项目中,在进入切面打印日志的时候总是报错,报空指针错误。经调试发现每次都是在获取注解上的属性时报错。当时百思不得解。后来灵光一闪,想到可能是项目中获取到的是接口方法,而springboot是实现类的method ,所以可以拿到注...
2019-08-19 20:24:33 16414 1
原创 Eclipse 下远程调试 tomcat
远程环境 系统 Web容器 项目类型 Linux tomcat Web项目配置步骤修改tomcat bin 目录下的catalina.sh 文件,在文件的头部添加如下的配置CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8081,server=y,suspen...
2018-08-21 17:29:49 749
原创 如何删除GitHub或者GitLab 上的文件夹
需求分析假设小明有一天不小心把本地仓库的一个文件夹A推送到了远程GIT服务器(例如:github,gitlab,gitee)上,此时想删除远程仓库的文件夹A,但是本地又不想删除。小明于是去问小红,怎么办?小红不假思索的说,github,gitlab 不是可以删除吗?你直接在远程服务器上操作呀。小明告诉小红,你有所不知,远程操作只能操作单个文件,无法删除文件夹,你可不会傻到一个一个文件去删除。小...
2018-05-24 22:43:20 34348
原创 Http 重定向到Https,post请求被强制转换为get请求的解决方案
背景由于公司的项目需要部署到tomcat 中,且要对外提供https的访问,所以我按照网上的教程,自己制作自签名证书,导入到tomcat 中,这个详细的步骤网上有大把的教程,这里不再赘述。证书配置好后,能够访问,由于需要将以http访问的请求重定向到https,所以我又在tomcat 中的web.xml中配置了如下信息: <login-config> <!-...
2018-04-27 22:10:38 26216 3
原创 Nginx RTMP record 不能录制或者保存视频的原因分析
背景描述今天用nginx, nginx-rtmp-module搭建了一台RTMP流式服务器,能正常的推流,正常的播放RTMP流,能实现直播功能,但是我想把推过来的视频流保存起来,于是查了下,发现是可以实现的,需要在nginx配置文件中配置一下,我按照网上的配置了,但是死活录制不了视频,我的nginx.cnf 配置如下:rtmp { server { listen...
2018-04-15 22:16:27 13509 3
原创 MySQL数据库[ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace XXX
问题背景昨天老师告诉我,客户的网站打开不了,让我帮忙解决下,我上服务器看了下负载,发现数据库的服务器cpu都百分100%,大多数是mysqld 这个进程。于是,我打算把数据库服务停掉重新启动,发现竟然停止不了,也启动不了,启动就报错。错误信息如下: 2018-04-12 12:00:11 15563 [ERROR] InnoDB: Attempted to open a previou...
2018-04-15 13:59:50 5903
原创 史上最简单易懂的二叉树遍历(先序,中序,后序)
背景描述二叉树遍历相信大家在学习数据结构的时候都学习过,有递归方法和非递归方法,递归方法简单,容易理解,不在本次的讨论范围内。因此本篇文章主要是讨论非递归的方法,也就是迭代法。这种方法网上有很多解题方法,先序,后序,中序还都不一样,很难理解。即便当时理解了,过段时间再让你写,你也是懵逼的。下面我将介绍一种方法,这种方法可以说利器,只要掌握了它的思想,你会发现先序,中序,后序,只是调整一行代码的...
2018-03-24 21:33:13 7047
原创 Win10 下Git 闪退 和bash: /dev/null: No such device or address fatal: open /dev/null or dup failed 解决方案
问题描述Win10 64位专业版安装git 2.x之后出现 Git闪退,安装1.x出现bash: /dev/null: No such device or address fatal: open /dev/null or dup failed: No such file or directory 错误。背景描述由于换了新电脑(OS是Win10 64专业版),需要重新安装Git,于是...
2018-03-24 19:00:47 9917 4
原创 Spark 读取Hbase 映射到Hive中的外部表报java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.lazy.LazySim
错误信息java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.initSerdeParams(Lorg/apache/hadoop/conf/Configuration;Ljava/util/Properties;Ljava/lang/String;)Lorg/apache/hadoo
2018-01-10 20:50:55 9723 1
原创 org.elasticsearch.transport.TransportSerializationException: Failed to deserialize response解决方案
错误信息org.elasticsearch.transport.RemoteTransportException: [Failed to deserialize response of type [org.elasticsearch.action.admin.cluster.state.ClusterStateResponse]]Caused by: org.elasticsearch.tr
2018-01-10 00:11:08 3409 2
原创 解决hive 与hbase 集成报空指针的问题at org.apache.hadoop.net.DNS.reverseDns(DNS.java:92)
问题背景hive 与 hbase 集成的时候,无论是hive 中读取hbase 表的数据还是hive中创建hbase表,首先创建表都能成功,但是查询Hive 表中的数据就会报Java空指针错误,报错情况如下图所示。 定位问题光上面的错误信息你很难去判断是哪里出错了,从而无法定位问题,解决错误。幸运的是我们配置了hive 的日志目录,所以我们可以去查看hive的详细日志,于是我进到hive的日志目录
2017-12-10 14:35:19 1382
原创 单例模式的各种写法总结
1. 单例模式的概念 单例模式,是设计模式中最简单的一种。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。1.1 单例模式中的几个要素私有构造方法(不能被实例化,阻止对象的生成) 指向自己实例的私有静态引用( 在其内部产生该类的实例化对象,并将其封装成private static类型) 定义一个静态的公有的方法返回该类的实例
2017-07-08 17:45:01 765 1
原创 Spring 注解中,普通类获取@Service标记的方法 或者bean对象
使用Spring框架,我们不需要创建类的对象,都有Spring 容器创建,并通过注解来注入。注入的原理就是在程序启动的时候,Spring根据xml中配置的路径来扫描类,如果发现类的上方有类似@Service,@Controller,此时就会定位到当前类,然后来给当前类中标有注解的属性进行注入,从而我们可以使用该属性,调用方法。那么普通类怎么使用@Service标记的方法呢?1.如果你想用@autow
2017-05-03 14:31:38 34635 7
原创 java.net.ConnectException: Connection refused: connect 解决办法记录
错误背景今天在学习Java NIO 编程时,遇到这个错误,以为是端口被用,遂换了个端口,依然报这个错。于是我将127.0.0.1换成localhost,依然报错。于是我去查看window/system32/drivers/etc/Hosts文件,配置是对的呀,顿时懵逼。于是去问度娘,各种方法都尝试了,什么Tcp/ip打开呀,什么ping 127.0.0.1呀,绕了一大圈都不管用。心累,后来找资料的时
2017-04-04 13:23:39 17817 1
原创 centos6.X下安装ipython
#### 背景描述 ipython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。由于我的linux系统已经安装了python3,所以我采用源码安装的方式安装ipython.#### 安装步骤1.下载源码包下载地址,最新的是5.3的2.解压tar -zxvf ipy
2017-03-26 17:39:35 893
原创 centos6.X 下安装python3.5
背景描述我的机子上的linux系统是centos6.7,默认安装的是python2.6.6,但是我的需求是python2和python3都要,故此我需要再安装一个python3安装步骤1 . 安装依赖yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel2 . 下载源码
2017-03-26 15:34:33 1017
原创 Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案
Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案背景描述今天在运用Python pillow模块处理图片时遇到一个错误SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3:
2017-03-21 09:06:52 197409 34
原创 Python中切片的理解
Python中的切片非常灵活,一行代码就可以实现多行循环完成的动作。现结合语法和实例进行讲解分析L=list(range(10))#L中的元素是0-9用法:L[n1:n2:n3]n1代表开始元素下标n2代表结束元素下标n3代表切片间隔以及切片方向,默认值是1L中每个元素都有正负两种下标,例如L[0]和L[-10]指的同一个元素都是0案例一 :L[::1]的值结果:[0,1,2,3,4,5
2017-02-21 17:05:09 10835
原创 Windows 平台运行spark-shell 报"java.lang.NullPointerException, not found: value sqlContext" error 解决办法
错误背景描述在spark 官网下载 spark的安装版:spark-1.6.3-bin-hadoop2.6.tgz,然后解压,配好环境变量,在window下CMD下运行spark-shell,启动spark失败(本地模式)。然后搜索了一下,发现中文基本找不到什么参考资料,不过在stackoverflow上找到了解决办法,遂记录下,供国内的同学参考下 错误信息ava.lang.NullPointer
2017-01-01 21:12:38 15724 4
原创 Intellij IDEA 安装Scala 报 ‘plugin scala is incompatible‘ 解决方案
错误阐述: 今天在IDEA上手动安装scala插件,我在settings—>plugins 搜索scala ,右边显示的版本是1.5,于是我以为是1.5的版本,遂去官网下载对应的版本插件,然后放到idea 安转目录下的plugins 里面,然后选择从磁盘安装,报plugin scala is incompatible错误,很明显这是版本不匹配,可是我在IDEA上查看的就是这个版本呀,顿时懵逼ing
2016-12-31 12:03:49 16076 3
原创 subline Text3 安装 PackControl 报错解决方案
subline Text3 安装 PackControl 报错解决方案错误描述Package Control:There are no packages available for installation解决过程描述本人是从第三网站下的安装包,网上的一般解决方案都试过,没有解决我的问题,后来在简书上看到一篇文章,与其他的网上的解决方法不一样,顿时以为发现新大陆,心致勃勃的跑去试了一下,结果依然不行
2016-12-27 19:00:30 3353
原创 zookeeper 客户端启动报错
启动zookeeper 客户端的时候,莫名的报 2016-10-11 05:31:17,786 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.Z
2016-10-11 13:23:02 5213
原创 文件上传支持File类型和Text类型的解决方案
在Web开发中,经常会遇到文件上传和文本类型的表单的提交。但后台总是只能获取一种,不能同时获取文件流和文本数据,经过研究现提供俩种解决方法。方法一:使用smartupload组件,开发smartupload组件的公司官网貌似不在了。需要注意的是从网上下载的smartupload jar包没有处理中文乱码问题,需要自己修改源代码,重新编译。我附件里会附上我重新编译的Jar包供大家下载。HTM
2016-09-26 17:02:31 3233
原创 jd-eclipse 的安装和使用(最新版的)
JD-Core 是一个免费的库,从一个或多个“.class”文件中 重构Java源代码。JD-Core可以用来恢复丢失的源代码,并深究Java运行时类库。支持Java 5的功能:如注释,泛型或键入“枚举” 。JD-GUI 和 JD-Eclipse都包括JD-Core。JD-GUI 是一个独立的显示“.class” 文件Java源代码的图形用户界面工具。您可以使用JD-GUI浏览和重建源代码的即
2014-10-20 23:07:49 24337 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人