3 CrazySnail_x

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

Caused by: org.postgresql.util.PSQLException: ERROR: column xxx.xxx does not exist

最近在做压力测试,需要将生产上的两个数据库数据导到测试环境上来,因为涉及到数据库的操作都是交给DBA来做的,所以就没有管,然后当DBA跟我说一切OK之后,为了保险起见我还是决定在本地试一下,项目是正常起来了,当我打一个get请求之后。。。,出现了尴尬的一幕,报错啦:relation "xxx" does not exist说我的表不存在,纳尼?数据库连接、entity一切都没有变的呀,联想起以前也出现过类似的情况,是数据库的search_path没有修改,于是向亲爱的DBA同事反映了,效率很快的改好

2020-10-14 17:31:30

使用@KafkaListener配置两个不同的Consumer监听不同kafka集群的消息

我们的项目中很多系统交互使用的kafka,最近遇到一个问题,原来我们的kafka需要监听消费我们自己的kafka生产的消息,但是现在需要使用kafka来消费外部系统的消息,但是我们原来的使用非常简单,直接在application.yml中进行的配置,同时监听两个kafka的话,不能实现,于是就要解决这个问题啦。下面是我们之前的配置方式:yml文件中的配置:消费者配置:...

2020-10-12 16:10:26

为什么重写equals方法,还必须要重写hashcode方法

是为了提高效率,采取重写hashcode方法,先进行hashcode比较,如果不同,那么就没必要在进行equals的比较了,这样就大大减少了equals比较的次数,这对比需要比较的数量很大的效率提高是很明显的,一个很好的例子就是在集合中的使用;hash类存储结构(HashSet、HashMap等等)添加元素会有重复性校验,校验的方式就是先取hashCode判断是否相等(找到对应的位置,该位置可能存在多个元素),然后再取equals方法比较(极大缩小比较范围,高效判断),最终判定该存储结构中是...

2020-10-12 15:36:46

Java9 之后Class类newInstance过时

今天写代码的使用到了反射,因为我们使用的是JDK12,虽然可以反射出来,但是看着很难受。还好这里提供了新的方法,试了下,完全OK!调用代码如下,很简单:var targetArea = clazz.getDeclaredConstructor().newInstance();...

2020-09-24 16:59:01

jpa 原生SQL写法

当你的抽象类继承了JpaRepository类时,就会拥有一些基本的增删改查操作。但是,很多时候只有这些简单的功能是不够的的,jpa也支持原生SQL和实体类SQL进行自定义查询。简单例子:@Query(value = "select name,author,price from Book b where b.price>?1 and b.price<?2")List<Book> findByPriceRange(long price1, long price2);Li

2020-09-17 15:34:36

KafkaAvroDeserializer踩坑记

最近项目中需要对接第三方系统,数据通过kafka传递过来,需要使用到 KafkaAvroDeserializer 来反序列化消息,于是踩坑开始了。首先,我们设置反序列化工具:configs.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class);但是会发现找不到KafkaAvroDeserializer这个类,然后去pom文件中添加相关的依赖,在网上找的资料发现需要添加四个依赖:

2020-09-10 11:58:26

SpringBoot-ApplicationRunner

在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLineRunner和ApplicationRunner。他们的执行时机为容器启动完成的时候。这两个接口中有一个run方法,我们只需要实现这个方法即可。这两个接口的不同之处在于:ApplicationRunner中run方法的参数为ApplicationArguments,而CommandLineRunner接口中

2020-09-10 09:33:26

@ConfigurationProperties 注解

在编写项目代码时,我们要求更灵活的配置,更好的模块化整合。在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 注解,我们可以方便的获取这些参数值使用 @ConfigurationProperties 配置模块假设我们正在搭建一个发送邮件的模块。在本地测试,我们不想该模块真的发送邮件,所以我们需要一个参数来「开关」 disabl.

2020-09-01 16:22:26

Kafka设置是否启动消费者监听器

目前在做一个项目,需要从第三方通过消息队列拿数据,之前使用的是kinesis,现在需要改成kafka,于是在前期的时候,希望增加一个开关控制是否开启kafka的消息监听。但是在使用kafka的时候,springboot集成 kafka就是直接使用@KafkaListener注解,启用监听就可以了,但是设置监听不监听,还真不知道从哪下手。但是之前也对kafka的消费者做过个性化配置,于是顺着这条线看看可能找到解决方案,结果皇天不负有心人,ConcurrentKafkaListenerContainer

2020-09-01 11:59:15

Docker安装kafka进阶方式

你在使用docker安装kafka的时候,是不是先启动zookeeper,再启动kafka,复杂的命令自己都不知道啥意思,接下来介绍一种结合docker-compose文件的简洁方式,虽然多了docker-compose文件,但是命令比之前简洁多了:具体命令如下:docker pull wurstmeister/kafka docker pull zookeeper tag wurstmeister/kafka defaultkafa tag zookeeper defaultzookeepe

2020-08-28 18:00:23

深入理解Kafka acks与消息可靠性

1.背景在我们面试的时候,一旦简历上写了Kafka,几乎必然会被问到一个问题:说说acks参数对消息持久化的影响?这个acks参数在kafka的使用中,是非常核心以及关键的一个参数,决定了很多东西。所以无论是为了面试还是实际项目使用,大家都值得看一下这篇文章对Kafka的acks参数的分析,以及背后的原理。2.kafka高可用架构如果要想理解这个acks参数的含义,首先就得搞明白kafka的高可用架构原理。2.1如何保证宕机的时候数据不丢失比如下面的图里就是表明了对于每一个Topic

2020-08-26 20:28:40

条件注解 ConditionalOnBean、ConditionalOnMissingBean、ConditionalOnClass、ConditionalOnMissingClass

SpringBoot中的自动配置类有很多ConditionalOnClass注解,@ConditionalOnClass在注解值中所有的类都存在时(通过尝试使用类加载器加载指定的类的方式判断)才会匹配,那么它们都是有哪些作用呢?@ConditionalOnBean // 当给定的在bean存在时,则实例化当前Bean@ConditionalOnMissingBean // 当给定的在bean不存在时,则实例化当前Bean@ConditionalOnClass //.

2020-08-24 18:32:14

springboot报ScannerException:character ‘@‘ that cannot start any token. (Do not use @ for indentation

1、springboot @@,报ScannerExceptionCaused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next tokenfound character '@' that cannot start any token. (Do not use @ for indentation) in 'reader', line 28, column 20: defaul

2020-08-24 16:06:49

Spring Boot中application.yml与bootstrap.yml的区别

大家都知道,SpringBoot默认支持properties(.properties)和YAML(.yml .yaml )两种格式的配置文件。1.加载顺序1、若application.yml 和bootStrap.yml 在同一目录下 :bootstrap.yml先加载 application.yml后加载。2、bootstrap.yml 用于应用程序上下文的引导阶段。bootstrap.yml 由父Spring ApplicationContext加载。3、父ApplicationCont

2020-08-24 16:01:49

kafka producer 发送消息报错:This server is not the leader for that topic-partition.

我们的业务中使用到了kafka来实现一些功能,但是最近发现经常出现消息丢失的情况,我们用的org.springframework.kafka,配置如下:spring: kafka: producer: bootstrap-servers: xxx:9092 key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.

2020-08-21 17:10:30

Java中如何实现List的自定义排序

最近项目中遇到一个问题,需要对List进行自定义顺序排序,打个比方,现在我有一个SortStudent类,需要对它的年龄降序排序,再对他的省份进行自定义的排序,要求按照:"安徽", "北京", "上海", "深圳", "广州"的顺序排列,如何实现呢?直接上代码,很简单,关键地方有注释,应该是一目了然的。public class CustomSort { private static final List<String> regulationOrder = Arrays.asList

2020-08-20 11:55:38

maven dependence 的optional 和 exclusions 标签详解

1.简介Optional:可选依赖(Optional Dependencies) Exclusions:依赖排除(Dependency Exclusions)2.Optional举个例子,现在我有两个项目,ProjectA 和 ProjectB,ProjectA依赖于ProjectB,但是却是用到了ProjectB的很少一部分功能,此时就可以在A中配置对B的可选依赖。举例来说,一个类似hibernate的项目,它支持对mysql、oracle等各种数据库的支持,但是在引用这个项目时,我们可能只用

2020-08-18 22:17:17

top命令详解

Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。(译注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。)1. Top 命令输出:首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出:前几行水

2020-08-17 22:08:53

解决:Kafka 报错 java.io.IOException: Can‘t resolve address: iZuf65paliafsmaw29vb8jZ:9092

今天在自己的服务器上装了一个Kafka,在自己电脑上使用springboot集成kafka,发送消息的时候,报了下面的错误:[customer] 2020-08-13 16:23:32.984 WARN [kafka-producer-network-thread | producer-1] [NetworkClient ] [Producer clientId=producer-1] Error connecting to node iZuf65paliafsmaw

2020-08-13 16:48:59

UncategorizedMongoDbException: Exception authenticating MongoCredential解决办法

今天通过springboot连接MongoDB的时候,出现了以下的报错:从报错来看,是因为认证没有通过,检查了配置,是没有问题的,那么会不会是账号本身的问题呢?于是到MongoDB的客户端看了下,原来我的账号建在了别的db下面,我连接的db下并没有我需要的账号,所以解决办法就是,在用到的db下面建立对应的账号就行了:然后再去springboot项目里面使用果然没有问题了。...

2020-08-11 16:59:34

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。