new项目
BOWWOB
社畜
展开
-
2021-08-13-SimpleChannelInboundHandler小探究
基类 SimpleChannelInboundHandler<>泛型类型,暂时接触两种:①TextWebSocketFrame (进行的项目中)使用该泛型可以获取到web客户端传过来的参数②FullHttpRequest (网页聊天室)使用该泛型可以获取到所有的HttpReuqst的请求信息主要方法3种:handlerAdded()handlerRemoved()channelRead0 ()RandomAccessFile获取文件后包装成这个类,变成byte[]存储,以流原创 2021-08-13 14:30:34 · 393 阅读 · 0 评论 -
2021-08-13-netty简单网页聊天室
HttpRequestHandler .java处理所有HttpRequest请求package com.chatroom.demo;import io.netty.channel.*;import io.netty.handler.codec.http.*;import io.netty.handler.ssl.SslHandler;import io.netty.handler.stream.ChunkedNioFile;import java.io.File;import ja原创 2021-08-13 10:45:46 · 240 阅读 · 0 评论 -
2021-08-13-ChannelInboundHandlerAdapter 生命周期
ChannelInboundHandlerAdapter 生命周期public class LifeCyCleTestHandler extends ChannelInboundHandlerAdapter { @Override public void handlerAdded(ChannelHandlerContext ctx) throws Exception { System.out.println("逻辑处理器被添加:handlerAdded()");原创 2021-08-13 10:38:58 · 451 阅读 · 1 评论 -
2021-08-12-项目中用到的mongo操作
mongoTemplate通过upsert实现数据存在就更新,不存在就插入数据// 查询条件,如果数据存在更新Query query = new Query();query.addCriteria(Criteria.where("statisticsDatetime").is(e.getStatisticsDatetime()));query.addCriteria(Criteria.where("storeId").is(e.getStoreId())); // 更新的字段Update up原创 2021-08-12 19:13:43 · 142 阅读 · 0 评论 -
2021-08-11-netty05
在channel关闭后,把组线程都关闭,整个java进程才会结束。setSuccess setFailure 自定义成功或失败标志原创 2021-08-11 17:41:38 · 101 阅读 · 0 评论 -
2021-08-11-netty04- jdkfuture ,nettyfuture ,promisefuture
其它线程获取结果给主线程(演示两个线程中的信息传递)JDKFuture:callable(有返回值) , runnable(无返回值)看需求使用。callable:public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPool(2); Future<Integer> future = executorSer原创 2021-08-11 16:20:25 · 104 阅读 · 0 评论 -
2021-08-11-Netty03
Evenloop + scheduleAtFixedRate定时任务public static void main(String[] args) { EventLoopGroup group = new NioEventLoopGroup(2); //会轮询使用1,2个线程。 System.out.println(group.next()); System.out.println(group.next()); System.原创 2021-08-11 15:36:57 · 96 阅读 · 0 评论 -
2021-08-10-Springboot启动后,执行任务(加载资源)
Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。@SpringBootApplicationpublic class DemoApplication implements CommandLineRunner { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @O原创 2021-08-11 11:48:37 · 117 阅读 · 0 评论 -
2021-08-10-nio-netty-02
分散读 集中写原创 2021-08-10 16:38:19 · 93 阅读 · 0 评论 -
2021-08-09 企业微信机器人制作全过程描述
07-29收到任务消息探索企业微信机器人管理功能创建一个群聊机器人,探究其可以发送何种消息到群里,通过什么方式。python安装出问题 pycharm无法使用另一种,通过windows定时任务触发机器人发送消息(缺点:无法做出更复杂的操作)。重新安装python以及pycharm并运行成功,熟悉基本python语法python定时,周期,延时任务demo以及Webhook发送消息demo成功。07-31明确具体需求。python实现企业微信机器人对普通文本,markdown,图片,图文连原创 2021-08-09 20:21:02 · 782 阅读 · 0 评论 -
2021-08-09-自用:netstat ,ps -aux命令,nginx config 反向代理,负载均衡的配置
原创 2021-08-09 16:40:10 · 101 阅读 · 0 评论 -
2021-08-09-MongoDB连接+Spring Data Mongo简单操作
依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.mongodb</g原创 2021-08-09 11:35:56 · 143 阅读 · 0 评论 -
2021-08-09-MongoDB常用操作
图解Collection 文档 DB KEY VALUE:官网有供测试的shell,可以用来练习<传送门>>//查看所有数据库(二选一)>show dbs>show databases//查看当前数据库>db>>//使用一个数据库,若没有会自动创建>use mydb1>>use mydb2>>//删除当前所在数据库>db.dropDatabase()>>//在mydb2下创建一原创 2021-08-09 08:23:21 · 86 阅读 · 0 评论 -
2021-08-07-Jedis集合操作自用
五种常用集合:String Hash List Set ZSet原创 2021-08-07 15:12:27 · 109 阅读 · 0 评论 -
2021-08-06-Set -ZSet
Set: Jedis jedis = new Jedis("127.0.0.1", 6379); jedis.sadd("person1","hyf","lls"); jedis.sadd("person1","lms"); jedis.sadd("person1","hyf1","lls1"); jedis.sadd("person1","lms1"); //获取set的所有key Set<原创 2021-08-06 17:05:49 · 89 阅读 · 0 评论 -
2021-08-05-Jedis String List Hash
redis:Set Operation:List Operation: Jedis jedis = new Jedis("127.0.0.1",6379); jedis.select(0); jedis.set("good","en"); jedis.get("good"); //如果不是成对出现,运行时才报错 jedis.mset("AA","aa","BB","bb","CC","cc"); Sys原创 2021-08-05 21:29:11 · 93 阅读 · 0 评论 -
docker运用nginx反向代理
docker运用nginx反向代理一个原创 2021-08-04 20:39:02 · 141 阅读 · 0 评论 -
2021-08-04-企业微信机器人执行流程以及效果
分为两个Robot A:接收消息的机器人 (类似人)Robot B:发送消息的机器人(群里)定时8:30,数据库初始化status定时21:00,@全体成员 写日报 (B)定时21:30开始,5分钟为周期,群里@未写日报人员 (B)while()man1[写完日报]发送消息提示机器人(A),清除status(A)5分钟周期群里@未写日报人员(B)伪终态:(B)检测到status_count为0,提示@组长整理日报...原创 2021-08-04 08:58:16 · 404 阅读 · 1 评论 -
2021-08-04-复习linux
过滤查看端口的占用情况①netstat -tunlp | grep 5000status:inactive②firewall-cmd --statestatus:not running强制关闭端口kill -9 port查看防火墙打开情况(inactive active)centos:systemctl status firewalld开启当前暂时开启:systemctl start firewalld每次启动自动打开:systemctl enable firewalld关闭原创 2021-08-04 08:44:30 · 80 阅读 · 0 评论 -
2021-7-30-nio-netty
原创 2021-07-30 22:01:29 · 99 阅读 · 0 评论 -
2021-7-30-python实现企业微信(员工)内部机器人发送功能
系列文章目录文章目录系列文章目录前言一、发送content二、支持发送markdown文本三、发送图片四、发送图文(图文各为一个超链接)五、周期性-发送content六、周期性-支持发送markdown文本七、周期性-发送图片八、周期性-发送图文(图文各为一个超链接)九、每天定时-发送content十、每天定时-支持发送markdown文本十一、每天定时-发送图片十二、每天定时-发送图文(图文各为一个超链接)总结前言python实现企业微信(员工)内部机器人发送功能。缺少文件的上传,需要文件上传原创 2021-07-30 20:55:12 · 2919 阅读 · 3 评论 -
2021-07-29-了解企业微信机器人的分类以及作用
原创 2021-07-29 20:50:19 · 322 阅读 · 0 评论 -
2021-7-29-SpringBoot定时任务延迟调度
简单定时任务延迟定时任务销毁触发一个操作A结束 30分分钟后 执行另一个操作B,且只有最后一次B生效定时任务,定时任务的销毁,用一个标志判断是否有新操作A进入全局变量scheduledFutureTowdo A //我简单用个队列,随意用什么都行,只要满足即可 if(!queue.isEmpty()){queue.remove();scheduledFutureTow.cancel(true);}//队列加什么无所谓queue.add(new Timer()); }schedul原创 2021-07-29 14:06:17 · 536 阅读 · 0 评论 -
2021-07-28-Springboot 整合 quartz框架 定时任务
启动不需要调什么start-----------到此为止算是做完,但是如果要注入bean 去调用业务,是注入不成功的。看下面解决办法一开始这样直接注入,启动的时候会报错Schedule方法里加入一个参数 变量名称为结束。...原创 2021-07-28 13:47:28 · 86 阅读 · 0 评论 -
2021-07-28-Springboot定时任务(无框架)
1.这个坐标依赖导一下启动类加上@EnableScheduling写给类丢给Spring管理,然后写方法,加上@Scheduled注解其中有一个参数fixedRate 是间隔时间的还有一种是cron参数,表示按照日期定时执行有6位或7位占位,一般用6位,别的定时任务也有这个是用的6位占位占位的参数说明例子...原创 2021-07-28 10:47:02 · 117 阅读 · 0 评论 -
2021-07-26-task01-整个过程进行详细总结
背景:初始springcloud后遗症:linux+docker+不同的部署方式task01初始状态:docker①正进入状态且步入高潮②准备完结时③两同事都学完时task01起手复杂度分析:对于个人来说几乎无知。3.5天 1.5天纯划水,跟个啥一样[文件内容震惊,读取震惊,调用的参数震惊,读取后数据与协议包的关系理解错误,byte[]数组大小强迫症,jar包未看完并分析完,获取数据后不知道如何处理并发送到server,到server后不知道是不是该按想的那样操作,强转失败的sbBug,原创 2021-07-26 21:24:00 · 95 阅读 · 0 评论 -
2021-07-26-常用IO字节 ,字符流(不包含socket的IO流)
开始指向第一个字节的前一个位置,调一次read()//此时是读一个字节,先往后移动1位,再返回此位置的值。到倒数第一位后,再次调用read(),往后走1位,为空,为空返回-1,以此表示文件读取结束,到文件末尾后再调read()还是返回-1.FileOutputStream fileOutputStream = null; byte[] bytes = new String("lihail lls").getBytes(); try { ...原创 2021-07-26 11:55:00 · 104 阅读 · 0 评论 -
2021-7-24-与或非位运算
byte(255 ,128-127),字节,1个8位做& (与) |(或)或者 位运算 等运算。先看是正数还是负数。正数:直接搞负数:先用他的正数展开,然后取反+1=负数,在进行操作">>>"无符号右移,直接高位补零。...原创 2021-07-24 16:27:18 · 127 阅读 · 0 评论 -
2021-07-24-docker网络
假设目前的doker的纯净的。那么在linux内,ip addr分析三个地址第一个是Lo会换地址 第二个是etho 云服务器内网地址第三个是docker0 装了docker就有的地址。相当于路由器(有转发功能)。docker启动一个tomcatdocker exec -it -p id ip addr可以看到有两个ip地址lo 这个是回环地址eth0@if123 这个是docker给容器的地址。然后在linux中ip addr会看见除了原来的那三个ip地址外多了一个地址ve原创 2021-07-24 10:50:58 · 165 阅读 · 0 评论 -
2021-07-23-docker到dockercompose常见命令
yum install dockerdocker pull tomcatdocker pull nginxdocker pull mysqldocker imagesdocker psdocker run -d -p 3344:80 --name mynginx nginxdocker run -d -p 6666:8080 --name mytomcat tomcatdocker exec -it tomcat.id /bin/bashcp webapps.dist/* webapps原创 2021-07-23 22:54:41 · 109 阅读 · 1 评论 -
2021-7-23-题外话
默认的服务器名:文件名_服务名_num多个服务器。集群。A B _num 副本数量redis服务=>4个副本一般都是集群状态。服务一般不可能只有一个实例。[弹性,HA高并发]10个服务==>项目(项目的内容在同个网络下,用域名访问)mysql:3306 10个容器实例:mysql 10个IP 通过名称访问,mysql,再转到不同的IP结论:以前单个docker run 启动容器dockercompose 通过 yml配置文件,可通过compose一键启动或停止所有服务原创 2021-07-23 18:59:43 · 72 阅读 · 0 评论 -
2021-7-23-网址
使用dockercompose yml搭建个人博客启动第一个dockercompose项目原创 2021-07-23 18:48:43 · 82 阅读 · 0 评论 -
7-23-dockerfile+dockercompose完结
心无旁骛 13:57:40我看到一段解释心无旁骛 13:57:55心无旁骛 13:58:55我好像知道了心无旁骛 13:58:59你先康康林丽生 13:59:32这样说的话也就是mysql nginx 不放进去构建的咩。0.0.林丽生 13:59:41单独的镜像心无旁骛 13:59:47你看完了嘛林丽生 13:59:55看了你发的图心无旁骛 13:59:59嗯心无旁骛 14:00:07我说说我对于这段话的理解被心无旁骛 14:00:19结合我们那时候搞的心无旁骛原创 2021-07-23 17:28:22 · 95 阅读 · 0 评论 -
7-21-记录一周xshell linux docker命令和 2天部署项目过程
下Xshell,连接服务器主机。开始进入linux命令:下载dockerdocker拉取tomcat,nginx,mysql,redis的镜像docker查看镜像docker查看运行的容器docker通过端口映射后台启动nginx,tomcat,并访问主页成功。【拉下来的tomcat的/webapps中无文件,复制/webapps.dist/*的所有文件过来】docker通过端口映射并设置密码后台启动mysql并使用本地redisdesktop连接服务器主机ip。docker通过端口映射启原创 2021-07-21 15:32:59 · 204 阅读 · 0 评论 -
2021-07-17-docker常用命令例子
yum install dockerdocker pull tomcatdocker pull nginxdocker pull mysqldocker imagesdocker psdocker run -d -p 3344:80 --name mynginx nginxdocker run -d -p 6666:8080 --name mytomcat tomcatdocker exec -it tomcat.id /bin/bashcp webapps.dist/* webapps原创 2021-07-20 14:20:02 · 96 阅读 · 0 评论 -
服务发现discovery,让一个服务能获取Eureka的注册信息
注入一个DiscoveryClient原创 2021-07-15 11:15:41 · 99 阅读 · 0 评论 -
搭建Eureka集群,以及配置和服务注册进各个Eureka中
再创建一个Eureka,因为现在只有一台主机,因此使用不同的端口号来模拟多台机器,为了更清楚,那么需要修改hosts文件,把127.0.0.1 起别名集群的理念是 :相互守望,相互注册因此修改Eureka的yml或properties文件(单机修改成集群)前两行是自己的机子Eureka最后一行是另一台机子Eureka只演示一台另一台以此类推。server.port=24680eureka.instance.hostname=eurekaA.comeureka.client.servi原创 2021-07-15 10:55:26 · 448 阅读 · 0 评论 -
2021-07-14-自己搭的SpringCloud项目中的服务熔断
服务熔断1.ribbon+resttempalte+hystrix在所需方法上添加注解@HystrixCommand(fallbackMethod=“consumerServiceRibbonFallback”)参数为你的处理方法consumerServiceRibbonFallback();@RestControllerpublic class ServiceController { @Autowired RestTemplate restTemplate; @A原创 2021-07-14 15:01:59 · 762 阅读 · 0 评论 -
菜鸟日常之--------手动搭建SpringCloud
这次搭建的SpringCloud是由Eureka 、Zull、feign 、ribbon、Zull+hystricx以及zullfilter过滤器和service的搭建功能包括:所有微服务注册到注册中心(Eureka)中;创建Zuul,使用网关路由Zuul实现统一路由访问;创建两个service,通过feign和ribbon实现负载均衡的轮询策略;使用hystricx当服务宕机后提示无效。一。Eureka的创建1.创建一个module,创建一个启动类。添加如下注解:@EnableEurekaSer原创 2021-07-13 11:06:12 · 242 阅读 · 1 评论 -
7-10-菜鸡的日常Spring Cloud项目 IDEA之删除module和导入module
导入:在ProjectStructure中进行导入操作删除:1.先把module变成普通文件夹2.右键点击文件夹delete原创 2021-07-10 15:29:56 · 599 阅读 · 2 评论