
java
文章平均质量分 54
非非非常大的草履虫
这个作者很懒,什么都没留下…
展开
-
dubbo3.0支持ls、invoke指令
dubbo2.7以下可以通过telnet:20880端口执行ls、invoke指令,升级到3.X以上版本会提示不支持ls/invoke指令。这是因为dubbo3.X移除了对ls、invoke指令的支持,将这两个指令归纳到了运维指令。如果需要20880端口重新支持这两个指令,可以重新实现TelnetHandler接口,以下记录具体操作:1、实现ls指令的支持:package cn.juque.common.dubbo.telnet;import cn.hutool.core.collection原创 2022-02-22 17:02:37 · 2416 阅读 · 0 评论 -
【red-octopus】轻量级日志采集平台
git坐标:red-octopus: 红章鱼日志平台 红章鱼最初版本是基于ES(elasticsearch)作为日志的存储介质,起优势在于ES的操作更简单、更便捷。前期选用ES降低了技术栈的难度,提高了项目的成型进度,但也带来了一系列问题,高度依赖ES、扩展不够灵活,等。经过一系列衡量,作者决定采用lucene替换ES。ES本身也是基于lucene进行的高度封装,所以使用lucene原则不会降低原有的性能。相反,lucene是直接jar包依赖红章鱼,降低了对服务器资源的消耗。使...原创 2021-11-15 16:24:34 · 1691 阅读 · 0 评论 -
【lucene-plus】更新文档的实现逻辑
【lucene-plus】初始化索引【lucene-plus】索引初始化的实现逻辑【lucene-plus】保存文档的实现逻辑lucene并不支持部分Field的更新,updateDocument的实现逻辑实际是delete-add。lucene-plus基于updateDocument的实现实现了部分feild的更新,大致逻辑:query-delete-add。DocumentPlusService#updateDocument: /** * 更新文档 ...原创 2021-10-13 23:36:27 · 320 阅读 · 0 评论 -
【lucene-plus】保存文档的实现逻辑
lucene-plus尽可能的隐藏了索引细节,使之达到“配置一次,循环使用”的效果。下面介绍lucene-plus保存文档的实现逻辑。核心代码: /** * 写入文档 * * @param indexName 索引名称 * @param params 参数值 * @throws IOException IOException */ public void addDocument(String in...原创 2021-10-11 22:35:48 · 186 阅读 · 0 评论 -
【lucene-plus】索引初始化的实现逻辑
【lucene-plus】初始化索引lucene-plus在服务启动后会自动校验配置好的索引信息,索引信息采用json的形式表达,通过实现接口IndexTemplate完成索引信息的配置。为了避免索引信息的混乱,lucene-plus仅实现索引字段的增量维护,如果已有的索引字段发生变更,lucene-plus不会刷新相关的字段信息。关于完成索引信息的配置请参考上一篇博文。 服务启动后,spring会调用LuceneInitialization,触发lucene-plu...原创 2021-10-10 23:59:05 · 301 阅读 · 0 评论 -
【lucene-plus】初始化索引
lucene-plus依赖spring-boot 2.xx实现,使用spring或其他spring-boot工程的同学可根据自己的需求调整源码,源码坐标:lucene-plus: 基于lucene进行通用CRUD的封装,享受lucene丝滑般的操作。 有需求的同学可以fork工程的master分支进行调整开发,原则上不建议直接下载源码。lucene本身没有“初始化索引”的概念,所到之处皆是new,这给我一种很不爽的体验,所以创建lucene-plus的时候第一个实现的功能便是...原创 2021-10-09 23:22:58 · 532 阅读 · 0 评论 -
synchronized 锁的重入-demo
概念:当一个线程得到一个对象锁后,再次请求此对象锁可以重新得到该对象锁。1、实现类:package cn.brian.reentry;/** * @package : cn.brian.reentry * @author : juque * @date : 2018-08-27 15:44:37 * @description : 锁的重入。synchronized锁的是对象,...原创 2018-08-27 16:19:46 · 247 阅读 · 0 评论 -
java.sql.SQLException: sql injection violation, part alway false condition not allow
错误截图:百度解释是防止sql注入,百度有的说是去掉druid里面filters里面的wall可以解决问题。但本人觉得这个方案有点难以接受。经测试发现如下原因会触发该bug:截图sql:在我的代码里面,“1=1”和“1=0”前面有“AND”关键字,这种情况下会被识别成sql注入。正确写法如下:注:以上是本人测试到的一种情况,不能以偏概全!!!...原创 2018-07-23 15:59:16 · 32796 阅读 · 2 评论 -
spring boot 静态资源的管理
前些日子,团队一致通过基于spring boot构建新架构。经过两个月的加班加点,总算完成了整体构建,不得不说,spring boot还是存在很多坑。。。。(即使近两年spring boot开发很火,而且网上资料也层出不穷)。 这两天在开发文件管理模块,其中包含静态的图片允许外界直接访问(这里也主要讲图片)。我们知道,spring boot是有默认的静态资源目录的。但我们团队发...原创 2018-07-08 11:23:13 · 392 阅读 · 0 评论 -
spring boot项目部署到独立tomcat
一、环境tomcat8.5;jdk8;spring-boot 1.5二、步骤1、移除spring-boot自带的tomcat;2、在主程序内,重写configure方法;3、项目pom文件调整为war模式;三、具体操作1、移除spring-boot-starter-web里面的spring-boot-starter-tomcat:<dependency> <groupId...原创 2018-07-08 10:43:02 · 264 阅读 · 0 评论 -
idea断点debug二次无效解决方式(记录)
测试发现,确实如此。参考博客:http://bbs.youkuaiyun.com/topics/392003661转载 2017-10-15 22:36:11 · 10261 阅读 · 3 评论 -
每次发起的request获取的sessionid不一致问题
遇到类似问题的博客不少,也没几个能说出个所以然或是给出一个合理的解决方案的。找到一个博客还可以:http://blog.youkuaiyun.com/u011521890/article/details/73719198这里仅作记录,待日后验证!!原创 2017-10-07 11:47:10 · 45790 阅读 · 4 评论 -
java.lang.ClassCastException: [Ljava.lang.Object;
百度说这是类型转换出错的,比如对象A里面有属性对象B,如果强制转换成对象A就会出现这个错误。下面是代码:List list = null; String jsonStr = "AccountOpreate:["; AccountOpreate dataList[]; AccountMember memberObj; AccountOpreate opreateObj;原创 2014-01-15 10:28:53 · 968 阅读 · 0 评论 -
spring IOC容器和beans概述
对spring的使用也有很长的一段时间了,但感觉对spring还是知之甚少。今天突然有了翻译spring开发文档的想法,以后有空将不定时翻译。当然,本淫英语也是渣渣,翻译难免有歧义或是有错误的地方,还希望大家指出,小弟定使出吃奶的劲改正。翻译基于4.1.1文档的关键章节,荆轲刺秦王,与君共勉~---------------------------------------------------翻译 2015-04-18 11:19:39 · 651 阅读 · 0 评论 -
实例化一个容器
实例化一个Spring IoC容器很简单。为定位的路径提供一个 ApplicationContext 构造器,他允许容器通过外面的各种资源加载配置元数据,比如系统文件。JAVA的加载方法,等等。ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "services.xml", "d翻译 2015-04-24 19:20:48 · 692 阅读 · 0 评论 -
编写基于XML的配置元数据
这在bean跨域多个XML文件的定义里面很有用。通常,在你的架构里一个独立的XML配置文件就代表一个逻辑层或是模型。 你可以使用应用上下文的构造函数从所有的XML片段中加载 bean 定义。这些构造函数需要多个 Resource 位置,就像之前的章节写的那样。或者,使用一个或多个节点的事件从其他文件加载 bean定义。例如:resource="services.xm翻译 2015-05-06 16:59:19 · 2588 阅读 · 0 评论 -
使用容器
ApplicationContext 是一个维护不同 bean 和依赖性的注册的先进的工厂接口。使用方法:T getBean(String name, Class requiredType) ,你可以从 beans 里面获取实例。你可以通过ApplicationContext读取和使用 bean ,就想下面的例子:// create and configure bean翻译 2015-05-06 17:04:24 · 466 阅读 · 0 评论 -
解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
在项目上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre即可!------------------------仅作记录------转载 2015-11-08 13:57:49 · 566 阅读 · 0 评论 -
idea @Override is not allowed when implementing interface method
近期研究idea,在编码过程发现报错:@Override is not allowed when implementing interface method 。找到一个老外的回答,感觉挺有用的,记录下来,以供参考:1、在project/module上,右键选择菜单“Open Module Settings” ;2、选择Modules,修改“Language Level” 为 “8-Lamb转载 2016-01-05 10:11:57 · 28567 阅读 · 12 评论 -
jstl自定义函数标签---备忘录
1、新建fns.tld文件,本博客路径为:/WEB-INF/fns.tld,具体如下: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-原创 2016-06-29 11:40:19 · 621 阅读 · 0 评论 -
redis服务启动报未知错误--UnKnown error
前提:windows server 2008、redis 3.x今天给服务器部署redis环境,文件配置、服务安装都很顺利,可就在启动服务的时候提示百度老半天也没找到个说到点子上的。这里记录下解决方案:在redis.windows.conf配置文件里面有这么一行代码:#bind 127.0.0.1,我的压缩包默认是带#号的。在#未去掉的情况下启动服务会抛出上原创 2017-01-19 17:03:22 · 9697 阅读 · 0 评论 -
tomcat自定义jdk版本实践
新项目使用了jdk1.8,但目前拥有的服务器安装的jdk1.7,而且服务器上还有老项目在运行。为了顺利运行新项目也是着实犯难。参考了一些大牛的做法,下面做个记录:1、把本地jdk1.8的目录拷贝到服务器指定目录,并记录下该目录,ps:一定要精确到jdk目录!2、修改Tomcat的bin文件夹下面的catalina.bat文件: LZ只将echo Using JAVA_HOME:原创 2017-04-19 15:58:56 · 812 阅读 · 0 评论 -
org.hibernate.MappingException: Unknown entity:
这问题可真苦逼,整整花了半个小时,百度了N种情况终于找到正确的方法,不过这个错也只能归结于自己的大意!!下面打印的bug: 错误很简单,我把映射文件写错了,那个纠结啊!! 第一次写博客,不对之处望诸大神见谅原创 2013-12-06 23:30:33 · 864 阅读 · 0 评论