最新SpringCloud学习笔记(十、消息总线),小米java面试几轮

最后

分享一些资料给大家,我觉得这些都是很有用的东西,大家也可以跟着来学习,查漏补缺。

《Java高级面试》

《Java高级架构知识》

《算法知识》

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

org.springframework.boot

spring-boot-starter-actuator

org.springframework.cloud

spring-cloud-starter-bus-amqp

bootstrap.yml

新增两个配置,

but总线配置:

bus:

enabled: true

trace:

enabled: true

RabbitMQ配置:

包含rabbitmq的端口(非可视化工具端口),用户名,密码。

rabbitmq:

host: localhost

port: 5672

username: guest

password: guest

spring:

cloud:

config:

label: master

profile: dev

discovery:

enabled: true

serviceId: config-server

bus:

enabled: true

trace:

enabled: true

client:

serviceUrl:

defaultZone: http://localhost:8761/eureka/

rabbitmq:

host: localhost

port: 5672

username: guest

password: guest

启动类

启动类里添加RabbitMQ启动检测,

package edu.hpu.springcloud;

import brave.sampler.Sampler;

import cn.hutool.core.convert.Convert;

import cn.hutool.core.thread.ThreadUtil;

import cn.hutool.core.util.NetUtil;

import cn.hutool.core.util.NumberUtil;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

import org.springframework.cloud.openfeign.EnableFeignClients;

import org.springframework.context.annotation.Bean;

import java.util.Scanner;

import java.util.concurrent.ExecutionException;

import java.util.concurrent.Future;

import java.util.concurrent.TimeUnit;

import java.util.concurrent.TimeoutException;

@SpringBootApplication

@EnableEurekaClient

@EnableDiscoveryClient

@EnableFeignClients

public class ProductViewServiceFeignApplication {

public static void main(String[] args) {

//判断 rabiitMQ 是否启动

int rabbitMQPort = 5672;

if(NetUtil.isUsableLocalPort(rabbitMQPort)) {

System.err.printf(“未在端口%d 发现 rabbitMQ服务,请检查rabbitMQ 是否启动”, rabbitMQPort );

System.exit(1);

}

int port = 0;

int defaultPort = 8013;

Future future = ThreadUtil.execAsync(() ->{

int p = 0;

System.out.println(“请于5秒钟内输入端口号, 推荐 8012 、 8013 或者 8014,超过5秒将默认使用”+defaultPort);

Scanner scanner = new Scanner(System.in);

while(true) {

String strPort = scanner.nextLine();

if(!NumberUtil.isInteger(strPort)) {

System.err.println(“只能是数字”);

continue;

}

else {

p = Convert.toInt(strPort);

scanner.close();

break;

}

}

return p;

});

try{

port=future.get(5, TimeUnit.SECONDS);

}

catch (InterruptedException | ExecutionException | TimeoutException e){

port = defaultPort;

}

if(!NetUtil.isUsableLocalPort(port)) {

System.err.printf(“端口%d被占用了,无法启动%n”, port );

System.exit(1);

}

new SpringApplicationBuilder(ProductViewServiceFeignApplication.class).properties(“server.port=” + port).run(args);

}

@Bean

public Sampler defaultSampler() {

return Sampler.ALWAYS_SAMPLE;

}

}

FreshConfigUtil类

只能使用 post 的方式访问 http://localhost:8012/actuator/bus-refresh 地址,直接通过地址(get方式)访问的话会报405错误,所以要专门做一个 FreshConfigUtil 类用来做post方式访问。

package edu.hpu.springcloud.util;

import cn.hutool.http.HttpUtil;

import java.util.HashMap;

public class FreshConfigUtil {

public static void main(String[] args) {

HashMap<String,String> headers =new HashMap<>();

headers.put(“Content-Type”, “application/json; charset=utf-8”);

System.out.println(“因为要去git获取,还要刷新config-server, 会比较卡,所以一般会要好几秒才能完成,请耐心等待”);

String result = HttpUtil.createPost(“http://localhost:8013/actuator/bus-refresh”).addHeaders(headers).execute().body();

System.out.println(“result:”+result);

System.out.println(“refresh 完成”);

}

}

写在最后

作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2019 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动?

就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。

最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java经典面试问题(含答案解析).pdf和一份网上搜集的“Java程序员面试笔试真题库.pdf”(实际上比预期多花了不少精力),包含分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货!

由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示部分的目录和答案截图!

Java经典面试问题(含答案解析)

阿里巴巴技术笔试心得

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

img-dfu7Ealu-1715649968941)]

Java经典面试问题(含答案解析)

[外链图片转存中…(img-SaaLVSId-1715649968941)]

阿里巴巴技术笔试心得

[外链图片转存中…(img-ucpbIMHm-1715649968941)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值