<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NullToSay的踩坑日常]]></title><description><![CDATA[不要掉进同一个坑]]></description><link>https://blog.youkuaiyun.com/NullToSay</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; NullToSay]]></copyright><item><title><![CDATA[oracle ORA-00942: table or view does not exist]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/110532761</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/110532761</guid><author>NullToSay</author><pubDate>Thu, 03 Dec 2020 15:18:54 +0800</pubDate><description><![CDATA[oracle查询，出现ORA-00942: table or view does not exist，但是账号权限的确开通了。

可能是查询语句里，需要指定模式名称

1、没有指定模式





2、数据库工具指定模式





3、sql语句指定模式（集成到项目中的时候使用)








...]]></description><category></category></item><item><title><![CDATA[springboot1.5.2整合RedisTemplate集群（Redis4.0.10）]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/109988360</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/109988360</guid><author>NullToSay</author><pubDate>Mon, 23 Nov 2020 10:37:10 +0800</pubDate><description><![CDATA[一、版本

springboot1.5.2

Redis4.0.10



二、集群状况

模式：Cluster 集群

密码：有



三、依赖包


 &lt;!--整合redis集群--&gt;
        &lt;!--默认继承lettuce，切换成jedis需要排除依赖--&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
          ..]]></description><category></category></item><item><title><![CDATA[JedisCluster锁]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/109816892</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/109816892</guid><author>NullToSay</author><pubDate>Thu, 19 Nov 2020 16:45:45 +0800</pubDate><description><![CDATA[一、前置配置

需要已经集成成功JedisCluster

本人已实践的参考:https://blog.youkuaiyun.com/NullToSay/article/details/109813194



二、定义RedisLock类


import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import redis.clients.jedis.JedisClust.]]></description><category></category></item><item><title><![CDATA[springboot1.5.2整合JedisCluster集群（Redis4.0.10）]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/109813194</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/109813194</guid><author>NullToSay</author><pubDate>Thu, 19 Nov 2020 16:32:49 +0800</pubDate><description><![CDATA[一、版本

springboot1.5.2

Redis4.0.10



二、集群状况

模式：Cluster 集群

密码：有



三、依赖包


 &lt;!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-redis --&gt;
        &lt;!--redis依赖--&gt;
        &lt;!--默认继承lettuce，切换成jedis需要排除依赖..]]></description><category></category></item><item><title><![CDATA[java模拟调用get请求]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/109748661</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/109748661</guid><author>NullToSay</author><pubDate>Tue, 17 Nov 2020 18:06:58 +0800</pubDate><description><![CDATA[import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.text.NumberFormat;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.ut..]]></description><category></category></item><item><title><![CDATA[java模拟formdata文件上传]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/109057449</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/109057449</guid><author>NullToSay</author><pubDate>Thu, 15 Oct 2020 10:17:20 +0800</pubDate><description><![CDATA[文件上传到远程接口

本地文件是暂存的，上传后要删除






 /**
     * 文件上传到远程
     * 上传后本地被删除
     *
     * @param fileTempName xxxx.pdf
     * @return 上传到接口后的返回数据(文件地址)
     */
    @Override
    public String uploadFile(String fileTempName) {
        log.info("上传文件:{}", fileTem..]]></description><category></category></item><item><title><![CDATA[k8s生产服务启动卡住一直重启]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/108881762</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/108881762</guid><author>NullToSay</author><pubDate>Wed, 30 Sep 2020 10:56:59 +0800</pubDate><description><![CDATA[情况：测试节点没问题，一样的代码发到生产就会启动卡住，并且在自动监控下不断重启并且每次都卡住。

原因：生产的网络环境复杂，启动耗时很长（比如70s），但是k8s配置的启动监控时间短（比如40s），它40s的时候监测到服务还没启动成功，就会认为服务启动失败(其实还在正常启动中)，会重启服务，陷入死循环。

解决：调整这个服务的服务检测时间。
...]]></description><category></category></item><item><title><![CDATA[jetty.io.EofException: Early EOF]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/108321653</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/108321653</guid><author>NullToSay</author><pubDate>Mon, 31 Aug 2020 15:25:36 +0800</pubDate><description><![CDATA[一、问题

业务日志中有一段异常日志，但是数据库是执行成功的状态；前端获取的返回信息结构不是与开发者约定好的


ERROR [qtp1042307502-14542] c.y.t.m.s.c.GlobalErrorHandling [GlobalErrorHandling.java:66] Could not read document: Early EOF; nested exception is org.eclipse.jetty.io.EofException: Early EOF
org.spri]]></description><category></category></item><item><title><![CDATA[win10同时管理github和gitee两个平台git账号]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/108260240</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/108260240</guid><author>NullToSay</author><pubDate>Thu, 27 Aug 2020 14:41:44 +0800</pubDate><description><![CDATA[一、问题：同一台电脑，win10系统，需要同时和github和gitee两个平台进行源码的上传下载。当然，两个平台的项目不是同一个。



二、解决：使用win10的凭据管理器

配置普通凭据。



分别配置github和gitee的地址凭据



配置结果





三、操作

本人使用的是小乌龟TortoiseGit，亲测可以操作github和gitee的代码。下拉上传无需再输入用户名密码。




...]]></description><category></category></item><item><title><![CDATA[Java下载Windows共享文件]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/108225030</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/108225030</guid><author>NullToSay</author><pubDate>Tue, 25 Aug 2020 17:34:23 +0800</pubDate><description><![CDATA[需求：内网操作，从 winserver 服务器A 下载文件到 linux 服务器B，用Java实现，Java程序部署在服务器B



思路：使用jcifs框架的smb协议



操作：

1、配置jar包


&lt;!-- https://mvnrepository.com/artifact/org.samba.jcifs/jcifs --&gt;
        &lt;dependency&gt;
            &lt;groupId&gt;org.samba.jcifs&lt;/gro..]]></description><category></category></item><item><title><![CDATA[MySQL插入Incorrect string value: ‘\xF3\xA0\x84\x80‘]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/107535646</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/107535646</guid><author>NullToSay</author><pubDate>Thu, 23 Jul 2020 14:27:41 +0800</pubDate><description><![CDATA[一、情况：

数据库现有格式是utf8，插入一个特殊字符报错。









二、原因：

这是因为mysql的UTF-8只支持三个字节的存储，但是此处特殊字符'\xF3\xA0\x84\x80'占了4个字节。



三、方法：

将存储特殊字符的字段的编码修改为utf8mb4，支持存储4字节的数据。










...]]></description><category></category></item><item><title><![CDATA[springboot注解@RestController返回了xml格式数据]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/107493088</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/107493088</guid><author>NullToSay</author><pubDate>Tue, 21 Jul 2020 17:12:24 +0800</pubDate><description><![CDATA[想要返回json，在方法上指定返回类型，就可以了


produces = "application/json; charset=UTF-8"

加上前:



结果:







加上后:



结果:



想要返回xml:

pom文件需要引用:


  &lt;dependency&gt;
      &lt;groupId&gt;com.fasterxml.jackson.dataformat&lt;/groupId&gt;
      &lt;artifactId&gt;jackson-d..]]></description><category></category></item><item><title><![CDATA[These are the first 50 documents matching your search, refine your search to see others]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/107407592</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/107407592</guid><author>NullToSay</author><pubDate>Fri, 17 Jul 2020 14:33:57 +0800</pubDate><description><![CDATA[kibana设置显示日志数量

管理-&gt;高级设置-&gt;发现-&gt;行数














]]></description><category></category></item><item><title><![CDATA[jar打包以及启动拷贝配置文件]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/107382212</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/107382212</guid><author>NullToSay</author><pubDate>Thu, 16 Jul 2020 14:50:40 +0800</pubDate><description><![CDATA[一、缘由：网关项目，项目源代码有groovy文件夹（内有多个.groovy文件），此文件夹和src目录平级。要求此文件夹和jar启动目录平级，GroovyFilter才能初始化。发布使用已有环境，所以不考虑改发布脚本。



二、问题：发布流程只会打jar包，不会将外部的其他文件打进去。



三、思路：在打包时，将外部指定文件打包到jar指定位置；在启动时，初始化GroovyFilter前，将内部文件复制到外部指定目录地址。



四、第一步：在打包时，将外部指定文件打包到jar指定位置

使用ma...]]></description><category></category></item><item><title><![CDATA[maven推送jar包到远程仓库]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/107337095</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/107337095</guid><author>NullToSay</author><pubDate>Tue, 14 Jul 2020 14:21:31 +0800</pubDate><description><![CDATA[前提：(1)maven安装好，并且配置到了环境变量 (2)maven的配置文件内做过修改，指定了远程仓库、用户名、密码，要有权限推送。



mvn deploy:deploy-file -Dfile=D:\component-trace-0.0.1-SNAPSHOT.jar -DgroupId=com.test.component -DartifactId=component-trace -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar -DrepositoryId=s..]]></description><category></category></item><item><title><![CDATA[linux查看日志]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/107151434</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/107151434</guid><author>NullToSay</author><pubDate>Mon, 06 Jul 2020 10:35:47 +0800</pubDate><description><![CDATA[tail: 

      tail -100f test.log   实时显示日志

tail -100f test.log 实时监控100行日志

-n 是显示行号；相当于nl命令；例子如下:

tail-n10test.log 查询日志尾部最后10行的日志;

tail -n +10 test.log查询10行之后的所有日志;




head: 

跟tail相反，...]]></description><category></category></item><item><title><![CDATA[mysql varchar中文长度]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/107151305</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/107151305</guid><author>NullToSay</author><pubDate>Mon, 06 Jul 2020 10:20:17 +0800</pubDate><description><![CDATA[mysql4.0版本以下，varchar(50), 指的是50字节，如果存放utf8汉字时，只能存放16个（每个汉字3字节）

mysql 5.0版本以上，varchar(50), 指的是50字符，无论存放的是数字、字母还是UTF8汉字（每个汉字3字节），都可以存放50个。
...]]></description><category></category></item><item><title><![CDATA[mysql order by 中文排序乱序]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/106942272</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/106942272</guid><author>NullToSay</author><pubDate>Wed, 24 Jun 2020 13:41:52 +0800</pubDate><description><![CDATA[一、问题

mysql查询，对公司名称进行正序排序，但是结果还是乱的，照理说，阿里是A，应该在第一个。





二、原因

数据库创建时，使用utf8_general_ci，即不区分大小写的utf-8,它在排序的时候，大小写转换会出现问题



三、如何修改

我们只要指定排序字段用gbk进行编码就行了

CONVERT( **USING gbk)








...]]></description><category></category></item><item><title><![CDATA[java自定义注解]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/106541242</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/106541242</guid><author>NullToSay</author><pubDate>Thu, 04 Jun 2020 11:20:25 +0800</pubDate><description><![CDATA[一、自定义一个注解，用于实体类的属性上，可以用在参数校验等处



import java.lang.annotation.*;

/**
 * 自定义注解
 *   使用在属性上
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AttributeDesc {
    String notes() default "";//属性名称
    boolean can]]></description><category></category></item><item><title><![CDATA[使用java反射和自定义注解比较编辑时新旧对象内属性值]]></title><link>https://blog.youkuaiyun.com/NullToSay/article/details/106524296</link><guid>https://blog.youkuaiyun.com/NullToSay/article/details/106524296</guid><author>NullToSay</author><pubDate>Wed, 03 Jun 2020 15:38:18 +0800</pubDate><description><![CDATA[一、需求:

编辑时，需要判断每一个字段是否有变化并记录。

   如果有变化，需要记录变化的字段信息：包括字段中文名称、字段的英文key、字段变更前的值、字段变更后的值。

   ps:字段有可能是枚举，即数据库存储的是英文code，前端显示的是code对应中文（一般枚举这种，接口交互使用英文code，数据库存储也是英文code）。此时变更前、后的值，需要把英文code和中文名称全部记录下来。

   即最终要记录的，是:字段的英文key、字段中文名称、字段变更前的数据库值、字段变...]]></description><category></category></item></channel></rss>