遇到的问题
1.用户重新上传头像的图片太大了,出错?
在配置文件里设置 spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=100MB
2.遇到的bug大多是变量名或方法名写错了,在mapper里面遇到的问题最多,常见的问题是entity类里面的参数进行了改变,然而在前端异步请求发送数据的时候由于传过来的数据名字和entity类名不一导致数据无法写入,成为一个无语的bug
3.阻塞队列:ArrayBlockingQueue LinkedBlockingQueue PriorityBlockingQueue SynchronousQueue DelayQueue
-
ArrayBlockingQueue:有数组结构构成的有界阻塞队列。
-
LinkedBlockingQueue:由链表结构组成的有界(但大小默认值为integer.MAX_VALUE。其值大约为21亿多阻塞队列)。
-
PriorityBlockingQueue:支持优先级排序的无界阻塞队列。
-
DelayQueue:使用优先级队列实现的延迟无界阻塞队列。
-
SynchronizeQueue:不存储元素的阻塞队列,也即但个元素的队列。
-
LinkedTransferQueue:由链表结构组成的无界最队列。
-
LinkedBlockingDeque:由链表结构组成的双向阻塞队列。
4.出错点2023.8.3 23:13 服务器发生异常:null
没有判断user以及modelandview是否为空,因为用户没登录肯定看不了啊
类似其他的还有
5.为什么要设置netty?
因为redis和es底层都是用netty实现的,然后redis在之前已经启动过了netty4Runtime中的availableProcessor,这样会导致es启动会再次启动新的availableProcessor,因此报错。
6.TemplateInputException: Error resolving template [{"code":0}]
因为忘记在方法上添加@responsebody标记导致识别不出来这个json格式的字符串
7.为什么我的活跃用户查出来的数据一直是32呢,很奇怪
在calculateDAU方法中没有把所有的getDAUKey方法给替换掉,也就是复制的时候没注意全部改方法名
8.maven编译问题
试了很多网上的方法,结果是下载的java详细版本不对,要下载
yum install -y java-1.8.0-openjdk-devel.x86_64
9.在数据库后台更改用户权限后,即使重启、重新登录也无法获得管理员权限
由于使用了缓存策略,将user信息进行了缓存,因此之前的旧用户信息还存在缓存中,我的解决方法是在logout方法中增加一个清理cache的操作,这样只要是用户故意登出的话就重新从数据库读一下数据
10.记录zookeeper和kafka启动命令
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
nohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
当kafka挂掉的时候清理一下log文件