java
云游遍天下
心有山海,静而无边。
展开
-
HasorDataWay接口接入到SpringDoc或openAPI3或knife4j4.0
如上,下半年计划把项目升级为springboot3,我一直想把APIdoc给换一下,之前是使用了springfox,发现好几年前已经不维护了,所以想升级,这两天就忙这个事情,其实升级挺顺利的,通过spingfox直接升级为springdoc还行,没有多少坑,主要IDEA帮助我了很多,一键替换,简单方便,这块我就不写了,比较简单;就是这个,其实我之前想重写一些,但是想想算了,后期springdoc应该有扩展点,可能我现在没有发现在哪里,我这边通过过滤器进行处理,我拦截,我配置的dataway路径。原创 2023-03-07 16:27:38 · 545 阅读 · 0 评论 -
Cannot deploy POJO class [com.xxx.websocket.server.WebSocketServer$$EnhancerBySpringCGLIB$$118f
这个错误,相信你已经找了,是因为spring代理的问题,这里我要是说下我这边的情况,首先感谢这位博主,https://blog.csdn.net/qq_15807785/article/details/83547978 他分析是没问题,就是AOP;但是我要说的,是解决方案,aop 使用方式有很多种,例如自己写了一个输出日志的,就上面的楼主说的,调整aop相关配置,但是这仅仅是一种方式;但是spring给我们提供了很多的注解,有不少注解都是基于AOP,这一点你要知道,否则不好排查,我罗列一下spri.原创 2021-08-31 17:53:36 · 2034 阅读 · 0 评论 -
springboot升级到2.4.5后配置文件不生效
公司系统为了解决相关jar包漏洞,需要升级springboot,生产版本是2.3.9,计划升级到2.4.5;发现升级后,配置文件不生效了,,我这边用的是bootstrap。原创 2021-06-08 14:04:50 · 1437 阅读 · 0 评论 -
activiti7整合springboot-02:组应用
FormService和IdentityService在Activiti7.0中删除了;这块activiti可能考虑表单和身份验证是具体的业务方面的事情,与工作流本身就没有多大的gaunx原创 2021-06-04 10:59:56 · 1011 阅读 · 0 评论 -
mybatilsplus 自定义填充属性--MetaObjectHandler;生成entity 自动添加fill = FieldFill.INSERT_UPDATE
根据官网文档https://baomidou.com/guide/auto-fill-metainfo.html我这边没测试成功,我用了这样的方式@Slf4j@Componentpublic class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert.原创 2021-03-29 18:38:05 · 6044 阅读 · 0 评论 -
Failed to receive INITIALIZED event from zookeeper, pls. check if url zookeeper://xx
报错信息:Failed to receive INITIALIZED event from zookeeper, pls. check if url zookeeper://xxx/org.apache.dubbo.metadata.report.MetadataReport?client=&dubbo.config-center.root-path=/ is correct可以参考这个文章:https://blog.csdn.net/weixin_38308374/artic...原创 2020-11-09 18:28:52 · 8444 阅读 · 0 评论 -
初见cas服务端3:研究认证过程
首先感谢 这位博主,我参考了他的,他写的还是很详细的,https://blog.csdn.net/zhouzhiwengang/article/details/97926358我看它实现了全自定义形式;我走另外一种,实质是一样的,因为我当时这样的想的,我只需要加一个验证码就可以了,其他的还是用cas框架提供的就行了,我按照这个思路缕了下源码,请看下面的吧。我研究了下,我把研究思路贴出来。首先研究源码最起码框架的默认的必定要走的代码那里打上断点;一旦就可以跟踪代码上下看看,就知道了首先这.原创 2020-08-19 00:05:57 · 383 阅读 · 2 评论 -
IDEA 报Artifact xxx:war exploded: Error during artifact deployment. See server log
这个错误记录下,这个错误其实已经说得很明白了,看看服务日志就知道了,一般是框架启动报的错误,我这边原因是我升级了dubbo,后缺少了spring-webjar包,老版本是有这个jar包的,新版本没有,所以启动就报这个错,同时因为我用了logback,对于tomcat了的日志没有生效。 在项目resource 文件下创建logging.properties;里面新增这两行配置:org.apache.catalina.core.ContainerBase.[Catalina].level=INFO..原创 2020-08-18 09:47:22 · 10671 阅读 · 0 评论 -
初见cas服务端2:支持数据库和自定义密码加密和比对
上一篇环境搭建好了,接下来,支持数据库。1、我这边为了方便,我在cas-overlay-template 创建了java的路径,方便后面修改。2、我把容易变化的配置文件放到resources3、在我们刚刚拷贝的application.properties里现在连接数据库的配置文件。解释下,前面几个就不说了,sql,可以直接把密码查出来,就不用写fieldPassword了,,按照我上面的,如果返回多个字段,就要指定密码字段;type这个官方文档写的很明白了,4、表结构很简原创 2020-08-17 21:48:23 · 914 阅读 · 0 评论 -
初见cas服务端1:搭建环境
之前工作一直都是用客户端去调用服务端,一直没时间看看cas服务端内容,最近准研究下。从网上也是搜索了很多东西,了解了大概,准备搭建,建议搭建先试试5.3x版本会好点,我目前用的是5.3.14,一开始准备研究最新版本,但是有些工具我还不是太熟悉。第一步:到官网这是他们的源码,可以看看,我们实际上用的是这个模板cas-overlay-template,这个模板在这个地址...原创 2020-08-13 23:04:32 · 252 阅读 · 0 评论 -
谷歌google 的kaptcha 后台自定义存储验证码,抽取com.google.code.kaptcha.servlet.KaptchaServlet逻辑
背景是,公司项目之前是单节点,计划要改为集群,,集群后面不计划用session了,放到外部内存redis里了,改造项目时发现用了谷歌的图片验证码,感觉这个挺好的,。原先是使用了web.xml 直接配置的com.google.code.kaptcha.servlet.KaptchaServlet ,如果换成redis,不能这么高了,因为这个默认的走的是session,因此从网上找了一会,发现没人整理成工具类直接使用,,,我自己整理下放到网上,我这个人,网上有不会写博客的,,网上少或者没有,才写下博客,废原创 2020-08-11 10:37:26 · 891 阅读 · 0 评论 -
jackson.ObjectMapper里的一个enableDefaultTyping方法过期
jackson.ObjectMapper里的一个enableDefaultTyping方法过期了,项目每次编译时提示,同时过期可能是有漏洞或者效率太低了,总而言之最好处理下看了下网上也没有解决方案,我这边记录下解决方案。最好的解决办法就是看过期方法的源码,一般过期方法会给出新的方法来替换过期方法的说明可以看到@link 里已经给出了这个说明。我这边修改的: ...原创 2020-04-13 16:13:13 · 17647 阅读 · 0 评论 -
hadoop入门8:自定义OutputFormat,根据需求数据输出不同的路径
在有些情况下,我们需要数据分开输出,即指定输出路径,这时就需要重写outputformat。测试数据(部分):1374609798.19 1374609798.20 1374609798.20 1374609798.51 110 5 8615103869897 460029934830160 3559380454939260 2 460 0 14443 15406 10.184.49...原创 2018-10-06 23:19:36 · 1229 阅读 · 0 评论 -
hadoop入门7:自定义GroupingComparator进行分组
摘要:GroupingComparator是在reduce阶段分组来使用的,由于reduce阶段,如果key相同的一组,只取第一个key作为key,迭代所有的values。 如果reduce的key是自定义的bean,我们只需要bean里面的某个属性相同就认为这样的key是相同的,这是我们就需要之定义GroupCoparator来“欺骗”reduce了。 我们需要理清楚的还有map阶段你的几个...原创 2018-10-06 12:45:38 · 1036 阅读 · 1 评论 -
hadoop入门2:hadoop的自定义Writeable 、排序 和 reduce输出多个文件
mr原理图: mp本次用计算每个手机号对应的上行和下行、总流量的业务进行测试原始数据:1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.8i02.c.aliimg.com 24 27 2481 24681 2001363157995052 1...原创 2018-09-22 17:23:41 · 933 阅读 · 0 评论 -
hive学习2:Hive drop table卡住的问题,mysql字符集修改了latin,但是还是不行解决方案
刚开始接触hive,在删除表时卡住了,根据网上播客修改mysql字符集为latin,测试后还是不行,给下修改mysql字符串地址:修改mysql字符串地址 我这边修改后是还是无法删除,搞了大半个小时还是不行,最后,只能报着试试的心态升级mysql驱动jar试试,成功了,我之前的旧的jar版本是mysql-connector-java-5.1.6.jar 替换为mysql-con...原创 2018-10-13 23:28:15 · 1138 阅读 · 1 评论 -
hadoop入门6:hadoop查询两两之间有共同好友,及他俩的共同好友都是谁
A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:A,H,I,J该数据可以看作好友,例如:A有B,C,D,F,E,O好友;B有A,C,E,K好友,以此类推;求两两之间有共同好...原创 2018-10-05 12:44:16 · 1748 阅读 · 1 评论 -
hadoop入门5:hadoop创建单词索引demo
需求:给出几个文件,分别把每个单词总数、在哪个文件单词总数计算出来test1文件:zsy testzsy tomzsy testtest2文件:tom testzsy tomzsy cattest3文件:cat testcat tomtest cat第一步:把每个文件单词和文件名组合为key,value是单词个数package com.zsy....原创 2018-10-05 09:58:46 · 615 阅读 · 0 评论 -
flume学习1:初次接触flume
最近准备学习下flume,到apache官网下载了一个版本,例子官网也有:我用翻译器翻译了下中文有助于理解,文档地址按照官网来,就能正常安装单机版的flume了 ...原创 2018-10-29 21:22:15 · 305 阅读 · 0 评论 -
hadoop入门1:MapReduce 入门demo - wordcont
今天初次接触MapReduce,虽然目前很少有人用MR,但是我相信这块还是要学一下的,因为这块思想会影响后面的学习。第一个demo也是最经典的wordcount,wordcount基本上涵盖了80%的hadoop业务,适合入门;后面写的播客将不会进行多余的解释,模板基本上和wordcount一样,只是业务一样而已mapper:import java.io.IOException;...原创 2018-09-13 20:39:31 · 1098 阅读 · 0 评论 -
hadoop入门搭建环境
下面是比较粗略的搭建过程,详细,请下载hadoop集群搭建文档1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop01 ### 1.2修改IP 两种方式: 第一种:通过Linux图形界面进行修改(强烈推荐)...原创 2018-10-14 13:26:23 · 346 阅读 · 0 评论 -
hive学习1:hive1.2.1版本安装
Hive只在一个节点上安装即可1.上传tar包2.解压 tar -zxvf hive-1.2.1.tar.gz -C /usr/local mv hive-1.2.1 hive3.安装mysql数据库(切换到root用户)(装在哪里没有限制,只有能联通hadoop集群的节点) mysql安装仅供参考,不同版本mysql有各自的安装流程 rpm -qa | grep m...原创 2018-10-14 15:04:08 · 1815 阅读 · 0 评论 -
hadoop入门4:Map实现Join逻辑,无需要使用reducer
在hadoop入门3里,用订单和产品进行关联,用map+reducer实现join逻辑,但是这种使用,小数据下还好,但是一旦出现海量数据,会出现reduce处理任务严重不平衡,有的reduce很轻松,有的reduce很繁忙,也就是数据倾斜;因此去掉reduce这一步,直接在map完成join,需要在map完成join过程,势必需要在每个map task里获取产品信息(产品信息是小部分,可以在放...原创 2018-09-29 22:05:09 · 465 阅读 · 0 评论 -
zk集群搭建
准备:jdk自行安装,我安装的是"1.7.0_80"下载zk,zk下载地址 根据jdk下载对应的zk,我下载的是zookeeper-3.4.5下载好后上传到服务器上。我的服务器是三台,hadoop01 hadoop02 hadoop03;我先在hadoop01下装zk,装好后,在拷贝到其他服务上安装:1、解压tar -zxvf zookeeper-3.4.5.t...原创 2018-10-09 21:56:35 · 10772 阅读 · 1 评论 -
hadoop入门09:mapreduce开发总结
mapreduce在编程的时候,基本上一个固化的模式,没有太多可灵活改变的地方,除了以下几处:1、输入数据接口:InputFormat ---> FileInputFormat(文件类型数据读取的通用抽象类) DBInputFormat (数据库数据读取的通用抽象类) 默认使用的实现类是: TextInputFormat job.setInputFormat...原创 2018-10-10 21:17:55 · 231 阅读 · 0 评论 -
hive学习4:hive自定义函数
以创建转换字符串大小写为例:1、搭建java项目,把hive安装包下libjar包添加进去。2、创建转换字符串大小类,必须继承UDF类package com.zsy.hive.udf;import org.apache.commons.lang.StringUtils;import org.apache.hadoop.hive.ql.exec.UDF;/** * 转换...原创 2018-10-21 20:07:43 · 1747 阅读 · 0 评论 -
Eclipse Maven profiles 多环境配置,测试环境与开发环境、生产环境分开打包
环境有dev、pro、test,默认是dev pom文件加入:<profiles> <!-- 开发环境 --> <profile> <id>development</id> <!-- 默认激活开发配制,使用config-dev.proper...原创 2018-12-19 17:40:25 · 4301 阅读 · 0 评论 -
大类和细类实现二级联动效果
service层:/** * getCslbZdMap:(获取场所类别和细类). * @author syzhao * @param * @return List * @since JDK 1.6 */ public HashMap> getCslbZdMap() { //获取场所的所有的细类 List list = pci.ge原创 2016-03-18 14:49:13 · 670 阅读 · 0 评论 -
hadoop入门3:MR实现Join逻辑
如果看详细的代码模板,请看我的hadoop入门1里有详细的模板,也有详细的解释今天用两组数据进行join;其实数据很简单,订单表: id 日期 产品id 数量 1001 20180923 a001 21002 20180923 a002 11003 20180923 ...原创 2018-09-23 21:28:21 · 417 阅读 · 1 评论 -
HttpClient 连接池,防止建立连接而浪费时间和资源
pom文件依赖部分: <properties> <httpclient.version>4.4.1</httpclient.version> </properties> <dependency> <groupId>org.apache.httpcomp...原创 2018-07-19 15:23:30 · 7631 阅读 · 7 评论 -
对装饰器的理解
在公司已经实习两个多月了 ,今天看到前辈写IO那一块代码的时候,有点不很懂,就百度了一下,原来是用的是装饰器模式,通过查看IO源码,再结合牛人的博客,小弟现在对这个装饰器有点了解了,今天在这给记一下,理解不对的地方,希望指出!装饰器顾名思义就是装饰作用,这种模式很灵活,在不需要添加任何子类的情况下可以实现其他功能,这样就减少了定义类了,要是IO不用这种方法,感觉会增加很多类的。下面我写一下自己的刚...原创 2015-08-02 20:11:02 · 445 阅读 · 0 评论 -
elasticsearch根据条件删除数据
今天第一次接触了下elasticsearch,和数据库类似,但是删除操作让我找了好一会,还是看官方文档好点,网上说的不符合自己的需求。//获取客户端 TransportClient client = esConfig.getEsClient(); //删除条件1 QueryBuilder qb = QueryBuilders.m原创 2017-02-27 11:13:39 · 16141 阅读 · 3 评论 -
用eclipse导出webserver客户端代码
1.工具:eclipse或者是带有webservice插件的eclipse2. 首先用浏览器访问webservice的站点,接着另存为打开的页面,后缀为.wsdl。3.把保存好的文件拷入eclipse的工程中。4.eclipse:file----new---other----webservice----web service client,选择之前拷贝到eclipse中的.wsdl文件转载 2017-01-11 10:28:50 · 910 阅读 · 0 评论 -
网络爬虫 WebCollector 2.x 入门教程
请参考下面博文:http://blog.csdn.net/ajaxhu/article/details/38406687原创 2016-07-29 12:58:59 · 908 阅读 · 0 评论 -
eclipse的异常断点和条件断点
1、异常断点 今天在运行代码的时候,代码逻辑上没问题,但是就运行时会会出现异常,也不好打断点,从网上了解了一下,有一个异常断点,设置好后,就会在出现异常的时候自动挂起断点。是不是很爽。设置步骤: 1、用Debug视图打开项目 2、设置你想设置的异常3、我输入的是空指针异常4、测试,原创 2016-06-07 15:25:19 · 18152 阅读 · 0 评论 -
map遍历
public static void main(String[] args) { Map map = new HashMap(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("转载 2016-03-31 09:47:40 · 367 阅读 · 0 评论 -
静态数据的初始化(Think in java P95页代码解析)
初始化顺序: 先静态对象而后在非静态对象,知道这些还不行,还要知道所有基本类型和对象引用都会在调用构造器或者其他方法之前得到初始化,包括在定义时已经指定初始化的变量,系统仍然会初始化(例如:int i 初始化是0,boolean 初始化是false),知道这些下面的程序就容易理解了:class Bowl{ public Bowl(int i)原创 2016-02-21 20:12:10 · 413 阅读 · 1 评论 -
java垃圾回收技术
java java垃圾回收技术转载 2016-02-21 12:21:07 · 651 阅读 · 0 评论 -
XML文件格式语法及DTD 的语法
XML文件和HTML文件一样,实际上是一个文本文件。 显然大家立刻就会明白,创建XML文件最普通的工具和HTML一样,就是“记事本”了。除了 “记事本”之外,当然还有一些更加方便的工具,如 XML Notepad、XML Pro、CLIP!XML Editor等,这些工具的一大特点是:能够检查你所建立的XML文件是否符合XML规范。 不过,现在这些工具都只有英文版的,并且需要付费使用。当然,转载 2015-01-04 20:23:05 · 917 阅读 · 0 评论 -
java中自动生成编码,例如18位,20位等
/*** * * getCommonBh:(获得通用的编号:前缀(一般是单位的前N位+当前时间(自定义格式)+格式化的sequence值:00001)). * @author syzhao * @param prefix 编号的前缀 * @param timeFormt 日期格式,在需求添加日期时候使用 * @param sequen原创 2015-07-21 20:27:31 · 13810 阅读 · 1 评论