<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shenya2的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/shenya2</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; shenya2]]></copyright><item><title><![CDATA[dubbo3.0支持ls、invoke指令]]></title><link>https://blog.csdn.net/shenya2/article/details/123071917</link><guid>https://blog.csdn.net/shenya2/article/details/123071917</guid><author>shenya2</author><pubDate>Tue, 22 Feb 2022 17:02:37 +0800</pubDate><description><![CDATA[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]]></description><category></category></item><item><title><![CDATA[springboot+dbunit+h2实现单测]]></title><link>https://blog.csdn.net/shenya2/article/details/122023763</link><guid>https://blog.csdn.net/shenya2/article/details/122023763</guid><author>shenya2</author><pubDate>Sun, 19 Dec 2021 15:08:02 +0800</pubDate><description><![CDATA[在编写单测的过程中，我们应该尽可能的减少单测实例对第三方组件/服务的依赖。本章主要讲解springboot如何通过dbunit+h2实现脱离数据库独立执行单测实例。

1、pom.xml添加依赖，springboot默认已配置相关版本，只需要直接引入依赖即可


    &lt;!-- 单测依赖模块 --&gt;
    &lt;dependency&gt;
      &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
      &lt;a..]]></description><category></category></item><item><title><![CDATA[【red-octopus】轻量级日志采集平台]]></title><link>https://blog.csdn.net/shenya2/article/details/121335702</link><guid>https://blog.csdn.net/shenya2/article/details/121335702</guid><author>shenya2</author><pubDate>Mon, 15 Nov 2021 16:24:34 +0800</pubDate><description><![CDATA[git坐标：red-octopus: 红章鱼日志平台 

红章鱼最初版本是基于ES(elasticsearch)作为日志的存储介质，起优势在于ES的操作更简单、更便捷。前期选用ES降低了技术栈的难度，提高了项目的成型进度，但也带来了一系列问题，高度依赖ES、扩展不够灵活，等。经过一系列衡量，作者决定采用lucene替换ES。ES本身也是基于lucene进行的高度封装，所以使用lucene原则不会降低原有的性能。相反，lucene是直接jar包依赖红章鱼，降低了对服务器资源的消耗。使...]]></description><category></category></item><item><title><![CDATA[【lucene-plus】更新文档的实现逻辑]]></title><link>https://blog.csdn.net/shenya2/article/details/120754611</link><guid>https://blog.csdn.net/shenya2/article/details/120754611</guid><author>shenya2</author><pubDate>Wed, 13 Oct 2021 23:36:27 +0800</pubDate><description><![CDATA[【lucene-plus】初始化索引

【lucene-plus】索引初始化的实现逻辑

【lucene-plus】保存文档的实现逻辑

lucene并不支持部分Field的更新，updateDocument的实现逻辑实际是delete-add。lucene-plus基于updateDocument的实现实现了部分feild的更新，大致逻辑：query-delete-add。

DocumentPlusService#updateDocument：


 /**
     * 更新文档
  ...]]></description><category></category></item><item><title><![CDATA[【lucene-plus】保存文档的实现逻辑]]></title><link>https://blog.csdn.net/shenya2/article/details/120713262</link><guid>https://blog.csdn.net/shenya2/article/details/120713262</guid><author>shenya2</author><pubDate>Mon, 11 Oct 2021 22:35:48 +0800</pubDate><description><![CDATA[lucene-plus尽可能的隐藏了索引细节，使之达到“配置一次，循环使用”的效果。下面介绍lucene-plus保存文档的实现逻辑。

核心代码：


   /**
     * 写入文档
     *
     * @param indexName 索引名称
     * @param params        参数值
     * @throws IOException IOException
     */
    public void addDocument(String in...]]></description><category></category></item><item><title><![CDATA[【lucene-plus】索引初始化的实现逻辑]]></title><link>https://blog.csdn.net/shenya2/article/details/120694670</link><guid>https://blog.csdn.net/shenya2/article/details/120694670</guid><author>shenya2</author><pubDate>Sun, 10 Oct 2021 23:59:05 +0800</pubDate><description><![CDATA[【lucene-plus】初始化索引

lucene-plus在服务启动后会自动校验配置好的索引信息，索引信息采用json的形式表达，通过实现接口IndexTemplate完成索引信息的配置。为了避免索引信息的混乱，lucene-plus仅实现索引字段的增量维护，如果已有的索引字段发生变更，lucene-plus不会刷新相关的字段信息。关于完成索引信息的配置请参考上一篇博文。

 服务启动后，spring会调用LuceneInitialization，触发lucene-plu...]]></description><category></category></item><item><title><![CDATA[【lucene-plus】初始化索引]]></title><link>https://blog.csdn.net/shenya2/article/details/120680142</link><guid>https://blog.csdn.net/shenya2/article/details/120680142</guid><author>shenya2</author><pubDate>Sat, 09 Oct 2021 23:22:58 +0800</pubDate><description><![CDATA[lucene-plus依赖spring-boot 2.xx实现，使用spring或其他spring-boot工程的同学可根据自己的需求调整源码，源码坐标：lucene-plus: 基于lucene进行通用CRUD的封装，享受lucene丝滑般的操作。

 有需求的同学可以fork工程的master分支进行调整开发，原则上不建议直接下载源码。lucene本身没有“初始化索引”的概念，所到之处皆是new，这给我一种很不爽的体验，所以创建lucene-plus的时候第一个实现的功能便是...]]></description><category></category></item><item><title><![CDATA[synchronized 锁的重入-demo]]></title><link>https://blog.csdn.net/shenya2/article/details/82114650</link><guid>https://blog.csdn.net/shenya2/article/details/82114650</guid><author>shenya2</author><pubDate>Mon, 27 Aug 2018 16:19:46 +0800</pubDate><description><![CDATA[概念：当一个线程得到一个对象锁后，再次请求此对象锁可以重新得到该对象锁。

1、实现类：


package cn.brian.reentry;

/**
 * @package : cn.brian.reentry
 * @author : juque
 * @date : 2018-08-27 15:44:37
 * @description : 锁的重入。synchronized锁的是对象，...]]></description><category></category></item><item><title><![CDATA[Linux基于yum安装mysql8]]></title><link>https://blog.csdn.net/shenya2/article/details/81322036</link><guid>https://blog.csdn.net/shenya2/article/details/81322036</guid><author>shenya2</author><pubDate>Sat, 04 Aug 2018 12:58:17 +0800</pubDate><description><![CDATA[一、环境：

      Centos 7；mysql-8

二、准备：

     定位mysql官方安装教程：https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html#yum-repo-installing-mysql

三、步骤：

     1、下载rpm：

           下载地址：https...]]></description><category></category></item><item><title><![CDATA[centos-7安装jdk实录]]></title><link>https://blog.csdn.net/shenya2/article/details/81264422</link><guid>https://blog.csdn.net/shenya2/article/details/81264422</guid><author>shenya2</author><pubDate>Sat, 28 Jul 2018 20:46:20 +0800</pubDate><description><![CDATA[一、官网下载jdk1.8(后缀为.gz)，并且拷贝到U盘；

二、复制U盘的安装包到磁盘：

       执行指令如下：cp /mnt/usb_disk/jdk-8u181-linux-x64.tar.gz /usr/local/javatool/tools/

三、进入到指定目录，解压jdk到该目录；

        执行指令如下：tar  zxvf  jdk-8u181-linux-x64...]]></description><category></category></item><item><title><![CDATA[centos-7 挂载U盘简录]]></title><link>https://blog.csdn.net/shenya2/article/details/81261877</link><guid>https://blog.csdn.net/shenya2/article/details/81261877</guid><author>shenya2</author><pubDate>Sat, 28 Jul 2018 15:59:24 +0800</pubDate><description><![CDATA[一、以root用户登录；
	二、查看磁盘指令：fdisk -l
找到U盘所属项，比如（/dev/sdb: 8178M）,下面的Device boot则是其内容区域(不如：/devsdb4)

三、在mnt目录下面建立/usb_disk文件夹，指令如下：mkdir /mnt/usb_disk
	四、载入U盘，执行如下指令：mount  /dev/sdb4  /mnt/usb_disk
	五、成功后，...]]></description><category></category></item><item><title><![CDATA[java.sql.SQLException: sql injection violation, part alway false condition not allow]]></title><link>https://blog.csdn.net/shenya2/article/details/81169082</link><guid>https://blog.csdn.net/shenya2/article/details/81169082</guid><author>shenya2</author><pubDate>Mon, 23 Jul 2018 15:59:16 +0800</pubDate><description><![CDATA[错误截图：



百度解释是防止sql注入，百度有的说是去掉druid里面filters里面的wall可以解决问题。但本人觉得这个方案有点难以接受。经测试发现如下原因会触发该bug：

截图sql：



在我的代码里面，“1=1”和“1=0”前面有“AND”关键字，这种情况下会被识别成sql注入。正确写法如下：



注：以上是本人测试到的一种情况，不能以偏概全！！！...]]></description><category></category></item><item><title><![CDATA[vue工程，scss文件依赖失败解决方案]]></title><link>https://blog.csdn.net/shenya2/article/details/81058588</link><guid>https://blog.csdn.net/shenya2/article/details/81058588</guid><author>shenya2</author><pubDate>Sun, 15 Jul 2018 23:47:42 +0800</pubDate><description><![CDATA[错误如下图：原因：scss-loader 是vue-cli不自带的，需要自己手动去安装。操作：在项目根目录下执行如下指令：        npm install --save-dev node-sass        npm install --save node-sass        npm install --save-dev sass-loader执行完成后，重新npm install...]]></description><category></category></item><item><title><![CDATA[spring boot 静态资源的管理]]></title><link>https://blog.csdn.net/shenya2/article/details/80957457</link><guid>https://blog.csdn.net/shenya2/article/details/80957457</guid><author>shenya2</author><pubDate>Sun, 08 Jul 2018 11:23:13 +0800</pubDate><description><![CDATA[      前些日子，团队一致通过基于spring boot构建新架构。经过两个月的加班加点，总算完成了整体构建，不得不说，spring boot还是存在很多坑。。。。（即使近两年spring boot开发很火，而且网上资料也层出不穷）。     这两天在开发文件管理模块，其中包含静态的图片允许外界直接访问(这里也主要讲图片)。我们知道，spring boot是有默认的静态资源目录的。但我们团队发...]]></description><category></category></item><item><title><![CDATA[spring boot项目部署到独立tomcat]]></title><link>https://blog.csdn.net/shenya2/article/details/80957219</link><guid>https://blog.csdn.net/shenya2/article/details/80957219</guid><author>shenya2</author><pubDate>Sun, 08 Jul 2018 10:43:02 +0800</pubDate><description><![CDATA[一、环境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：&amp;lt;dependency&amp;gt;
    &amp;lt;groupId...]]></description><category></category></item><item><title><![CDATA[Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js' 解决方案(最新版Node.js)]]></title><link>https://blog.csdn.net/shenya2/article/details/80510922</link><guid>https://blog.csdn.net/shenya2/article/details/80510922</guid><author>shenya2</author><pubDate>Wed, 30 May 2018 15:44:44 +0800</pubDate><description><![CDATA[今天尝试安装npm，到如下步骤时抛出以下错误：Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'。（截图来源网络大牛博客，博客底部的url）查了下网上的相关博客，也没有找到一个有效的解决的方案。于是换个思路想了下，从指令上看，明显是要读取npm文件夹下的cli.js文件，也就是说这个文件不存在该文...]]></description><category></category></item><item><title><![CDATA[单一tomcat部署多个应用(备忘录)]]></title><link>https://blog.csdn.net/shenya2/article/details/79065506</link><guid>https://blog.csdn.net/shenya2/article/details/79065506</guid><author>shenya2</author><pubDate>Mon, 15 Jan 2018 16:20:24 +0800</pubDate><description><![CDATA[一、环境：


tomcat8；jdk1.8；windows

二、操作步骤：


修改server.xml：(E:\apach-tomcat\apache-tomcat-8.5.24\conf\server.xml)
              文件内有一个Host节点，在节点内加入如下内容：

            
            
           ]]></description><category></category></item><item><title><![CDATA[mysql查询in排序(备忘)]]></title><link>https://blog.csdn.net/shenya2/article/details/78344111</link><guid>https://blog.csdn.net/shenya2/article/details/78344111</guid><author>shenya2</author><pubDate>Wed, 25 Oct 2017 17:34:40 +0800</pubDate><description><![CDATA[废话不多说，直接上代码，这里也只做一个备忘。
SELECT * FROM TABLE a WHERE a.ORG_ID='111111' AND 
BINARY a.NO IN ('Z210',
'Z209',
'z278',
'z333',
'787',
'z288') ORDER BY FIELD(a.NO,'Z210',
'Z209',
'z278',
'z333',
]]></description><category></category></item><item><title><![CDATA[idea断点debug二次无效解决方式（记录）]]></title><link>https://blog.csdn.net/shenya2/article/details/78245019</link><guid>https://blog.csdn.net/shenya2/article/details/78245019</guid><author>shenya2</author><pubDate>Sun, 15 Oct 2017 22:36:11 +0800</pubDate><description><![CDATA[测试发现，确实如此。


参考博客：http://bbs.csdn.net/topics/392003661]]></description><category></category></item><item><title><![CDATA[每次发起的request获取的sessionid不一致问题]]></title><link>https://blog.csdn.net/shenya2/article/details/78168802</link><guid>https://blog.csdn.net/shenya2/article/details/78168802</guid><author>shenya2</author><pubDate>Sat, 07 Oct 2017 11:47:10 +0800</pubDate><description><![CDATA[遇到类似问题的博客不少，也没几个能说出个所以然或是给出一个合理的解决方案的。
找到一个博客还可以：http://blog.csdn.net/u011521890/article/details/73719198


这里仅作记录，待日后验证！！]]></description><category></category></item></channel></rss>