记一周工作总结2

学习目标:

  • 预约和排队思考
  • kafka 日志
  • android 版本升级
  • docker 打包xxljob

学习内容:

1、预约和排队实践
终于从繁琐的代码里面,抽离出来时间,来写这篇blog,而且都没有太多时间去思考和想做一些东西。繁琐代码,是哪些呢?字段代码说明缺失在表里面,有点确实不正常,而我对旧代码里面中对mybatis_plus的写法很不是很点太理解,对参数里面有…的用法,里面参数很多,就不如直接传递实体之类的,一个方法多功能。最让我头疼的是,有些updata 之后就不成功。即使报错了也没有提示。是用的不对感觉。还不如mybatis中xml写的自由点吧。

改了一遍有一遍的方法不如重新进行自己实现去。从一个接口用到好几个表里面数据,并且还有修改,如果不执行完,会执行seate锁死的问题。

坏代码

@GlobalTransactional(timeoutMills = 300000, rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)

不知道这样写是否对,感觉别扭。
有些代码运行了,不起作用是最头疼的问题。以前别人开我的代码,很是头疼,现在总算落到自己头上了。

才发现为啥写这么乱的代码,我想把它替换ddd 模式或换成设计模式的方式改造,为了就是能够从业务到代码层次大改造,发现失败了。在有新的方式,在实验吧。

对于这次功能梳理,我进行方法拆解,功能进行单一化。预约是预约的方法,排队时排队的方法。这样就形成了,功能单一,业务看上去清晰,但是if,else写的太多。之前有涉及过这样的总结,哎没有留下笔记,很是失望了。先把功能上去了。

这次主要是将他所有代码进行功能梳理,然后在去掉,将多功能多方法,改为单功能方法,进行了功能方法说明添加。对@Log 里面的功能方法说明都是照抄上面的,一个controller里面进行都一个功能说明,却有不同功能点,进行大砍斧进行梳理和切换。功能走完之后,将其删除无用代码。

2、kafka 日志
工具管理https://www.kafkatool.com/download.html
连接上 用这个即使是集群的或测试 数据,是否进行消费进行很好的监听工具。

日志替换为logback
以及里面配置 日志的大小

其他学习
https://blog.csdn.net/agonie201218/article/details/135504200
https://blog.csdn.net/L596462013/article/details/131720897

3、android 版本升级
我的mac 电脑是15年的。8g内存,android 开发和idea 一起开发很迟内存,并且打包很难了,这次升级android 开发最新版本,用到最新版本开发编辑器。

这次主要使用了gradle-8 和kotlin 1.8.0 版本。
android 创建门槛低了,但是做一个好应用却高了。
像选择图片,视频播放,高级ui界面反而不是很容易了。

其实就让我担心的是打包app。这么低的配置开发android 感觉吃力了,做完这个app 也许就是最后的落幕制作人了。感觉有点像金刚狼最后一步电影一样。希望这次不会失望吧。

4、docker 打包xxljob
定时任务,有很多种,有Quartz、xxljob、powerjob、ScheduledExecutorService、SpringTask等。选择xxljob。也是公司选型进行的。只有干就行了。powerjob符合更多工作流相关的。我们没有用xxljob 很独立就可以。
先将xxl job 下载源码,进行服务开启,第一步注册到nacos 里面,在配置getway路径。这样基本上算完成。 最主要你是选择nacos 版本,这样就选择java spring nacos 和cloud的版本就确定了。

然后将打包成docker,然后在运行,源码里面有一个Dockerfile。这个就是docker 生成的标记了。
其实就俩步骤

docker build -t xxl-job:1.0 .

接着就是run方法

docker run -e "JAVA_OPTS1=appName=dockerTest" -e "JAVA_OPTS2=--server.id=1" -e ENVIR="prod" -d -p 8088:8088 --name xxl-job xxl0job:1.0

运行访问nacos 里面修改配置一下。
加配置

spring.cloud.nacos.discovery.server-addr=localhost:8848
spring.application.name=xxl-job-admin

找到com.xxl.job.admin.core.model.XxlJobGroup#getRegistryList 方法

改写成

public List<String> getRegistryList() {
        if (addressList!=null && addressList.trim().length()>0) {
            String newAddressList = addressList;
            // address 执行器管理填入的机器地址 http://ip:port 这里自定义兼容 lb://servicename地址
            if(addressList.startsWith("lb:")){
                String serviceName =addressList.replace("lb://","");
                DiscoveryClient discoveryClient = SpringContextUtil.getBean(DiscoveryClient.class);
                List<ServiceInstance> instances = discoveryClient.getInstances(serviceName);
                List<String> uriList = instances.stream().map(a -> a.getUri().toString()).collect(Collectors.toList());
                newAddressList = StringUtils.join(uriList, ",");
            }
            registryList = new ArrayList<String>(Arrays.asList(newAddressList.split(",")));
        }
        return registryList;
    }

为了让服务进行访问
接着写服务了。有的单独的有的接着其他服务里面

        <!-- xxl-job-core -->
        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.4.0</version>
        </dependency>
 
        <!-- 2.3.1 理论上xxl-job-core的版本也要是2.3.1 实测支持2.4.0 -->
        <!-- 2.3.1 对应 nacos client 版本1.x -->
        <!-- 2.3.1-nacos2 对应 nacos client 版本2.x -->
        <dependency>
            <groupId>com.justtoplay</groupId>
            <artifactId>xxl-job-plus</artifactId>
            <version>2.3.1-nacos2</version>
        </dependency>
 
        <!-- starter 0.2.12 对应nacos client 版本2.1.0  -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-discovery-spring-boot-starter</artifactId>
            <version>0.2.12</version>
        </dependency>

 
spring:
  application:
    name: xxl-job-demo
 cloud:
	 nacos:
	  discovery:
	    server-addr: 127.0.0.1:8848
	    auto-register: true

文档里面的demo 很简单。

发现docker 的运行的项目稳定性,比java -jar xx.jar 要运行的很稳定性很多。

xxl-job 运行到
1、同Dockerfile和idea 一起使用
先进行spring boot 打包 jar

idea 连接liunx 上,liunx 上开启docker 端口,然后从idea 运行

2、dockerfile 和 docker-compose.yml 一起使用
打好包,然后在用命令运行
docker-compose build 打包
docker-compose up -d 运行

学习时间:

  • 上下班公交车上
  • 晚上睡觉之前

学习产出:

  • CSDN 技术博客 1篇
  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值