spring cloud config刷新client配置问题 5C

如题:
我们都知道,spring cloud config消息总线分服务端(简称server)和客户端(简称client),如果我们要对client的一些配置信息做修改时,只需要在git上修改对应client的配置文件,然后使用Post方式调用server的/bus/refresh?destinace=clientName:clientPort即可达到热更新的效果,但是我在使用过程中发现,并非client的所有配置都可以使用这样的方式进行热更新,所以,到底可以更新client的哪些配置我目前还是迷糊中的。
我现在有一个demo,server的配置文件或者我配置的是git,client的环境有两个版本,一个是开发版,即dev,还有一个是测试版本,即test,这两个版本中,其中有一个配置不一样,那就是数据库的连接,开发版本有开发数据库,测试版本有测试数据库,所以我希望使用spring cloud config server来进行client的数据库配置更新,client项目中只一个bootstrap.yml文件,里面只配置了eureka,zipkin,config的相关信息,这部分是不会变的,client的数据库配置和其他配置是放在git上的,当我在git上修改了client的数据库配置,比如url,然后调用server的/bus/refresh接口,观察到client确实是刷新了spring.datasource.url信息,项目本身没有报错,但是当我通过client的接口获取数据库名的时候,发现获取到的还是refresh之前的数据库名,并非我在git上配置的数据库,配置jdbcTemplate是直接使用springboot默认的配置,没有手动申明druidDataSource和jdbcTemplate(经过测试就算手动配置也是一样的结果),我已经在dao层加入了@RefreshScope注解
请问各路大神,这个问题如何解决呢?
另外还有一个问题,我想把logback的配置文件也放到git上,然后通过server来refresh client的logback日志配置信息,这个又应该如何实现?

chenypgg
小短脚 回复youjiaxin0501: 没有
大约一年之前 回复
youjiaxin0501
youjiaxin0501 我也遇到类似的问题,楼主有解决吗?
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SpringCloud config 注册服务后client取值问题

将SpringCloud的config部署注册到eureka上的时候遇到如下报错,哪位大神指点一下。谢谢 配置信息: === testConfig-test.properties from=git-test-1.0 Service : === @EnableConfigServer @EnableDiscoveryClient @SpringBootApplication public class TestSpringCloudConfigApplication { public static void main(String[] args) { SpringApplication.run(TestSpringCloudConfigApplication.class, args); } } application.properties(service) === server.port=7001 spring.application.name=config-server # git管理配置 spring.cloud.config.server.git.uri=xxx/test_spring_cloud_config spring.cloud.config.server.git.searchPaths=config spring.cloud.config.server.git.username=xxx spring.cloud.config.server.git.password=xxx eureka.client.service-url.defaultZone=http://localhost:7070/eureka/ Client: === @EnableDiscoveryClient @SpringBootApplication public class TestSpringCloudConfigClient { public static void main(String[] args) { new SpringApplicationBuilder(TestSpringCloudConfigClient.class).web(true).run(args); } } @RefreshScope @RestController public class TestController { @Value("${from}") private String from; @RequestMapping("/from") public String from() { return this.from; } public void setFrom(String from) { this.from = from; } public String getFrom() { return from; } } 报错: Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'from' in string value "${from}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:174) ~[spring-core-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) ~[spring-core-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:236) ~[spring-core-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) ~[spring-core-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.context.support.PropertySourcesPlaceholderConfigurer$2.resolveStringValue(PropertySourcesPlaceholderConfigurer.java:172) ~[spring-context-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:823) ~[spring-beans-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1084) ~[spring-beans-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1064) ~[spring-beans-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585) ~[spring-beans-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88) ~[spring-beans-4.3.5.RELEASE.jar:4.3.5.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366) ~[spring-beans-4.3.5.RELEASE.jar:4.3.5.RELEASE] ... 35 common frames omitted

springcloud config client 为什么一定要用bootstrap.yml

刚学习springcloud 发现springcloud config client 有一个bootstrap命名的文件, 于是改成application.yml 发现报错了, 网上搜了一下答案说是 bootstrap.yml文件优先级高于application.yml文件, 也说是boostrap用于应用程序上下文的引导阶段,但是不懂,既然先访问的是 springcloud config client文件肯定先加载其配置文件,就算配置成application.yml也没问题吧(还是弄不懂)?

spring cloud config client 加载多个配置文件

比如很多模块共同依赖同一个数据库连接配置文件,同一个缓存配置文件,希望不光加载自身配置文件,还希望加载数据库的配置。 但是配置中有这么一行:spring.application.name:对应server的url中的{application}部分,这就限定死了配置文件的读取内容。。 有什么好办法能加载多个配置文件吗?

springcloud config client端通过访问server端远程获取git上面的yml中的内容,获取失败,求各路大神求解

## spring config client端bootstrap.yml ```spring: cloud: config: name: microservicecloud-config-client #需要从git上读取的资源名称,注意没有yml后缀名 profile: dev #本次访问的配置项 label: master uri: http://config-3344.com:3344 #本微服务启动后先去找3344号服务,通过SpringCloudConfig获取git的服务地址 ``` ## 类ConfigClientRest ``` @RestController public class ConfigClientRest { @Value("${spring.application.name}") private String applicationName; @Value("${eureka.client.service-url.defaultZone}") private String eurekaServers; @Value("${server.port}") private String port; @RequestMapping("/config") public String getConfig(){ String str = "applicationName: " + applicationName + "\t eurekaServers: " + eurekaServers + "\t port: " + port; System.out.println("*****str: " + str); return "applicationName: " + applicationName + "\t eurekaServers: " + eurekaServers + "\t port: " + port; } } ``` ## 码云上面microservicecloud-config-client.yml ``` spring: profiles: active: - dev --- server: port: 8201 spring: profiles: dev application: name: microservicecloud-config-client eureka: client: service-url: defaultZone: http://eureka-dev.com:7001/eureka/ --- server: port: 8202 spring: profiles: test application: name: microservicecloud-config-client eureka: client: service-url: defaultZone: http://eureka-test.com:7001/eureka/ ``` ## springcloud config server端application.xml ``` server: port: 3344 spring: application: name: microservicecloud-config cloud: config: server: git: uri: git@gitee.com:lb20162501306/mricoservicecloud-config.git #码云上git仓库地址 ``` ## 报错 ``` org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configClientRest': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.application.name' in value "${spring.application.name}" ```

spring cloud config 如何动态更新数据库的数据源?

数据库的配置文件由config同一管理,考虑到可能会换数据库数据源,就需要动态的刷新数据 库的数据源。

springcloud config client 拉取服务配置时,请求git的路径错误,想知道怎么修改这个Url

``` 11:14 INFO [o.s.c.c.c.ConfigServicePropertySourceLocator] Fetching config from server at: http://http://39.105.51.182:8052/ 11:14 WARN [o.s.c.c.c.ConfigServicePropertySourceLocator] Could not locate PropertySource: I/O error on GET request for "http://http/39.105.51.182:8052/user-service/dev": http; nested exception is java.net.UnknownHostException: http 11:14 INFO [c.c.m.MamabuyUserServiceApplication] The following profiles are active: dev ``` 以上是项目启动日志,查看时,发现拉取git配置的url是有问题的, Could not locate PropertySource: I/O error on GET request for "http://http/39.105.51.182:8052/user-service/dev": http; nested exception is java.net.UnknownHostException: http 想知道如何修改这个玩意,初次使用cloud,一下是bootstrap.yml配置 ``` server: port: 8053 spring: application: name: user-service profiles: active: dev cloud: config: profile: dev discovery: enabled: true service-id: config-server sharding: jdbc: datasource: names: ds ds: name: user type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20 config: sharding: tables: t_user: actual-data-nodes: ds.t_user_${0..2} key-generator-column-name: uuid table-strategy: inline: sharding-column: uuid algorithm-expression: t_user_${uuid % 3} eureka: client: service-url: defaultZone: *********** # instance: # ip-address: ********* # prefer-ip-address: true #log logging: config: classpath:logback.xml ``` 拉取yml的配置: ``` server: port: 8052 spring: application: name: config-server cloud: config: server: git: uri: https://gitee.com/xp890123/mamabug-cofig-repo.git password: username: #搜索已配置的文件夹 search-paths: common-config,gatewat-config,key-generator-config,stock-service-config,trade-service-config,user-service-config skip-ssl-validation: true ```

springcloud 使用本地的配置中心和消息总线,修改配置文件后无效

父工程代码如下: pom ``` <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> </properties> <!-- 公共依赖 --> <dependencies> <!-- 核心包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- 配置文件处理器 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <!-- 监控 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- 测试依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- 依赖管理 --> <dependencyManagement> <dependencies> <!-- spring cloud依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ``` 注册中心代码如下: pom ``` <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> ``` bootstrap.yml ``` server: port: 8761 spring: application: name: 127.0.0.1 eureka: instance: hostname: cloud-eureka-server client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ``` CloudEurekaServerBootstrap.java ``` @EnableEurekaServer @SpringBootApplication public class CloudEurekaServerBootstrap { public static void main(String[] args) { SpringApplication.run(CloudEurekaServerBootstrap.class, args); } } ``` 配置中心服务端代码如下: pom ``` <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> </dependencies> ``` bootstrap.yml ``` server: port: 8881 eureka: instance: prefer-ip-address: true client: serviceUrl: defaultZone: http://localhost:8761/eureka/ spring: application: name: cloud-config-amqp-server cloud: config: server: native: search-locations: - classpath:/shared/ profiles: active: - native rabbitmq: host: 192.168.46.120 username: username password: password management: endpoints: web: exposure: include: "*" cors: allowed-origins: "*" allowed-methods: "*" ``` shared/cloud-config-amqp-client-dev.yml ``` server: version: V1.0 ``` CloudConfigAmqpServerBootstrap.java ``` @EnableDiscoveryClient @EnableEurekaClient @EnableConfigServer @SpringBootApplication public class CloudConfigAmqpServerBootstrap { public static void main(String[] args) { SpringApplication.run(CloudConfigAmqpServerBootstrap.class, args); } } ``` 配置中心客户端代码如下 pom ``` <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> ``` bootstrap.yml ``` server: port: 8801 eureka: instance: prefer-ip-address: true client: serviceUrl: defaultZone: http://localhost:8761/eureka/ spring: application: name: cloud-config-amqp-client cloud: config: discovery: enabled: true service-id: cloud-config-amqp-server profile: dev bus: enabled: true trace: enabled: true rabbitmq: host: 192.168.46.120 username: username password: password management: endpoints: web: exposure: include: "*" cors: allowed-origins: "*" allowed-methods: "*" ``` VersionController.java ``` @RefreshScope @RestController public class VersionController { @Value("${server.version}") String version; @RequestMapping(value = "/version") public String getVersion() { return version; } } ``` CloudConfigAmqpClientBootstrap.java ``` @EnableEurekaClient @SpringBootApplication public class CloudConfigAmqpClientBootstrap { public static void main(String[] args) { SpringApplication.run(CloudConfigAmqpClientBootstrap.class, args); } } ```

Springcloud使用config-client读取远程配置报406是为什么?

最近在学习springcloud,看到config可以读取远程配置,就想将所有的服务都改成config-client这样的,但是,在github上创建完yml,在config-server上按照/ { 应用名 } / { 环境名 } [ / { 分支名 } 的规则访问报406错误,config-client也连不上,这是为什么呀?test.yml是这么写的: ![图片说明](https://img-ask.csdn.net/upload/201901/25/1548407947_977502.png)

为什么springcloud配置中心服务端获取到最新配置,但客户端端没有拉取最新信息?

最近在练习springcloud项目,在练习config配置中心时,已经实现了在GitHub上更新配置,配置中心服务端拿到了配置,但客户端并没有去拉取配置。 **环境**: jdk:1.8 springboot:2.0.6.RELEASE SpringCloud:Finchley.SR2 **服务端pom如下** ``` <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-monitor</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>2.0.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> <version>2.0.0.RELEASE</version> </dependency> </dependencies> ``` **配置如下** ``` server: port: 8888 eureka: client: service-url: defaultZone: http://localhost:8761/eureka/ instance: prefer-ip-address: true spring: application: name: config cloud: config: server: git: uri: https://github.com/*****/seekbean.git username: ********* password: ********* basedir: /E:/MyDownloads/springboot rabbitmq: host: localhost port: 5672 username: guest password: guest management: endpoints: web: exposure: include: "*" ``` **客户端pom如下** ``` <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> <version>2.0.0.RELEASE</version> </dependency> ``` **客户端配置如下** ``` spring: application: name: orderapi cloud: config: discovery: enabled: true service-id: CONFIG profile: dev rabbitmq: host: localhost port: 5672 username: guest password: guest eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: prefer-ip-address: true management: endpoints: web: exposure: include: "*" endpoint: bus-refresh: enabled: true ``` 当我在GitHub上编辑更新我的配置时,会向我的config的服务端发送请求,webhooks配置为 ![图片说明](https://img-ask.csdn.net/upload/201901/19/1547868925_806235.png) 每次更新之后配置,我的config服务都能拿到最新配置 ![图片说明](https://img-ask.csdn.net/upload/201901/19/1547869058_745017.png) 但客户端却没有主动去拉取配置,无法得到实时的配置信息 ![图片说明](https://img-ask.csdn.net/upload/201901/19/1547869153_62940.png) **客户端代码如下** ``` @Data @Component @ConfigurationProperties("girl") @RefreshScope public class TestConfig { private String name; private String age; } ``` ``` @RestController @RequestMapping("/girl") public class EnvController { @Autowired private TestConfig testConfig; @GetMapping("print") public String print(){ return "name:"+testConfig.getName()+",age:"+testConfig.getAge(); } } ``` 当我在push我的配置时,config服务端拿到了配置,其控制台也输出了相应信息,但客户端的控制台却毫无反应,求大神帮忙看看,不胜感激

关于spring-cloud-config配置中心的问题,配置可以被查询,但不能被客户端读取。

自学spring cloud 遇到难点,有些东西不是特别理解希望有大佬看到能给予一下帮助,不胜感激。 在学习配置中心文件代码如下 application.yml ``` spring: cloud: config: server: native: search-locations: classpath:/config profiles: active: native # git: # uri: https://gitee.com/zhongzunfa/spring-cloud-config.git # search-paths: V1-DEV application: name: config-server server: port: 9092 #启动端口 ``` config文件包含如下内容 ``` spring: gfp: name: "gfp" sex: 1 age: 18 ``` 可在浏览器中输入地址:http://localhost:9092/author/spring 查看到对应信息 ![图片说明](https://img-ask.csdn.net/upload/201809/03/1535976477_498619.png) 在客户端中配置类如下两个配置文件 bootstrap.yml ``` spring: cloud: config: label: master uri: http://localhost:9092/author/spring name: author ``` application.yml ``` spring: application: name: config-client-consumer server: port: 9093 ``` 再对应的属性注入部分为如下设置 ``` @Component @ConfigurationProperties(prefix = "spring.gfp") public class AuthorConfig { private String name; private Integer age; private Integer sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Integer getSex() { return sex; } public void setSex(Integer sex) { this.sex = sex; } @Override public String toString() { return "AuthorConfig{" + "name='" + name + '\'' + ", age=" + age + ", sex=" + sex + '}'; } ``` 抛出异常为如下,非常不解如何设置, ``` com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect at com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1] at com.sun.jersey.api.client.filter.GZIPContentEncodingFilter.handle(GZIPContentEncodingFilter.java:123) ~[jersey-client-1.19.1.jar:1.19.1] at com.netflix.discovery.EurekaIdentityHeaderFilter.handle(EurekaIdentityHeaderFilter.java:27) ~[eureka-client-1.9.2.jar:1.9.2] at com.sun.jersey.api.client.Client.handle(Client.java:652) ~[jersey-client-1.19.1.jar:1.19.1] at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682) ~[jersey-client-1.19.1.jar:1.19.1] at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) ~[jersey-client-1.19.1.jar:1.19.1] at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:509) ~[jersey-client-1.19.1.jar:1.19.1] at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplicationsInternal(AbstractJerseyEurekaHttpClient.java:194) ~[eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.jersey.AbstractJerseyEurekaHttpClient.getApplications(AbstractJerseyEurekaHttpClient.java:165) ~[eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137) [eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.MetricsCollectingEurekaHttpClient.execute(MetricsCollectingEurekaHttpClient.java:73) ~[eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) [eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137) [eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.executeOnNewServer(RedirectingEurekaHttpClient.java:118) ~[eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient.execute(RedirectingEurekaHttpClient.java:79) ~[eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) [eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator$6.execute(EurekaHttpClientDecorator.java:137) [eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.RetryableEurekaHttpClient.execute(RetryableEurekaHttpClient.java:120) [eureka-client-1.9.2.jar:1.9.2] at com.netflix.discovery.shared.transport.decorator.EurekaHttpClientDecorator.getApplications(EurekaHttpClientDecorator.java:134) [eureka-client-1.9.2.jar:1.9.2] ```

Nacos作为注册中心,使用spring cloud config作为配置中心,discoveryClient冲突

1.本项目是基于jdk1.8开发的,使用doker容器部署nacos注册中心,及发布服务实例 ,在服务实例中启用spring.cloud.config.discovery.enabled=true配置,实例运行报错,提示找不到DiscoveryClient, 2.程序启动类WaiterServiceApplication ``` @EnableDiscoveryClient @SpringBootApplication public class WaiterServiceApplication { public static void main(String[] args) { SpringApplication.run(WaiterServiceApplication.class, args); } } ``` 3.bootstrap。properties配置 ``` spring.application.name=waiter-service spring.cloud.nacos.discovery.server-addr=192.168.40.129:8848 spring.cloud.config.discovery.enabled=true spring.cloud.config.discovery.service-id=config-service ``` 4.maven pom.xml主要依赖 ``` <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.9.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> ``` 5.服务启动报错信息 ``` Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.cloud.client.discovery.DiscoveryClient' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1654) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1213) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1167) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) ~[spring-beans-5.1.6.RELEASE.jar:5.1.6.RELEASE] ... 43 common frames omitte ``` 6.尝试方案 方案一:移除spring.cloud.config.discovery.enabled=true配置后,程序可以正常启动并成功注册到注册中心,但是无法获取cloud config info 方案二:将spring.cloud.config.discovery.enabled=true 及spring.cloud.config.discovery.service-id=config-service移到application.yml文件中,程序正常启动并成功注册到注册中心,但是无法还是获取cloud config info 7.各位大佬,类似这种情形应该如何处理

springcloud config无法从git读取yml文件

MapPropertySource {name='https://github.com/LIUYC1995/SpringcloudConfig/respo/config-client-dev.yml'}]} 报错: Could not resolve placeholder 'foo' in value "${foo}" git文件后缀名改成properties 就可以了,但是用yml后缀config-client项目一启动就报错

SpringBoot2.0 Config客户端自动刷新时没有/bus/refresh端点

Spring Cloud Config Client的配置自动刷新 目前的博客和视频都是Spring Boot 1.5.x的,安装rabbitmq,导入依赖,配置yml,添加@RefreshScope,启动Config client时日志都会打印出/bus/refresh这个端口,但是到spring boot2.0就不再打印这个端口,也无法访问。即使yml配置暴露actuator的所有端口,也就只有/actuator/refresh这个端口(这个端口是只更新一个的)。 请问Spring boot 2.0如何实现Config Client自动刷新配置

springcloudbus消息总线远程配置没有自动更新

最近在学习springcloud集成,在看到消息总线这块儿的时候照着网上的方法做了个测试,但是在访问localhost:端口号/actuator/bus-refresh这个接口以后,并没有获取到远程配置的更改,我客户端的controller类,也加了@Rescope这个注解,但是我的服务端的控制台我看返回的是 o.s.cloud.bus.event.RefreshListener : Received remote refresh request. Keys refreshed [] 这是不是服务端上就没有获取到更新的意思? 我还要自己在浏览器输入 localhost:12000/base-dev.yml 这个以后,控制台才能获取显示 Fetched for remote master and found 1 updates 好像消息总线服务端压根儿就没有生效,而且我服务端获取了消息后,客户端也没有发生变化,还是需要重启才能重新加载配置更改,请高人指点下,我是不是哪里配置或是依赖错了,谢谢。 我的springboot是2.2.4,springcloud是Hoxton.SR3,不知道是不是跟版本用的太新了有关系,因为配置上实在是看不出问题了,只是不生效,没有任何报错信息 服务端application.yml ``` server: port: 12000 spring: application: name: bus-server cloud: config: server: git: uri: ******** username: ****** password: ****** rabbitmq: host: 192.168.159.130 username: guest password: guest #暴露触发消息总线的地址 management: endpoints: web: exposure: include: 'bus-refresh' ``` 客户端bootstrap.yml ``` spring: cloud: config: name: base profile: dev label: master uri: http://127.0.0.1:12000 ``` 远程配置文件dev-base.yml ``` server: port: 9001 spring: application: name: bus-client datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/testclient?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false username: root password: root jpa: database: mysql show-sql: true rabbitmq: host: 192.168.159.130 username: guest password: guest eureka: client: service-url: defaultZone: http://127.0.0.1:6868/eureka/ instance: prefer-ip-address: true ``` pom.xml ``` <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-bus</artifactId> <version>2.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> <version>2.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> ```

springcloud获取不到consul刷新后个配置

在本地启动了1个 Consul。consul agent -dev 添加了配置 ``` spring: application: name: spring-cloud-consul-ok cloud: consul: host: 127.0.0.1 port: 8500 discovery: enabled: true register: true healthCheckInterval: 15s health-check-timeout: 1s instance-id: ${spring.application.name}-${spring.cloud.consul.host}-${spring.cloud.consul.port} serviecName: ${spring.application.name} config: enabled: true format: YAML data-key: configuration ``` 属性配置类: ``` @Configuration @ConfigurationProperties("sample") @Data @RefreshScope public class SampleProperties { private String prop = "default data"; } ``` 引用方式: ``` @SpringBootApplication @EnableDiscoveryClient @EnableHystrix @RestController @EnableConfigurationProperties @EnableFeignClients @Slf4j public class ConsulAreYouOkApplication { @Autowired private RibbonHelloService ribbonHelloService; @Autowired private SampleProperties sampleProperties; @RequestMapping(value = "/hello", method = RequestMethod.GET) public String areyouok(@RequestParam String name) { return ribbonHelloService.sayHi(name)+" "+sampleProperties.getProp(); } ``` 看着没什么错,但是一直 拿不到 Consul上面的配置,从日志里面 也可以看到Spring已经检测到了 属性的变化,但是就是一直获取不到新值。 版本如下 spring-boot-dependencies 1.5.10.RELEASE spring-cloud-consul-config 1.3.2.RELEASE spring-cloud-starter-consul-discovery 1.3.2.RELEASE

请大神指点springCloud配置中心读取不到git的配置文件

git上的配置文件: eureka_service_config_application.yml  (仓库名 springCloud_Config   此yml文件不再任何文件夹下) localhost-8761 已在本地 host文件配置过    本yml文件配置在eurekaservice模块 appliaction.yml启动成功   但是放到git读取就出错了 - ``` server: port: 8761 spring: application: name: eureka_service_config_application profiles: test eureka: instance: hostname: localhost-8761 #eureka实例的主机名 client: register-with-eureka: false # 不把自己注册到eureka fetch-registry: false #不从eureka上来获取服务的注册信息,表示自己就是注册中心,我的职责是维护服务实例,并不需要检索服务 service-url: defaultZone: http://localhost-8761:8761/eureka/ --- server: port: 8762 spring: application: name: eureka_service_config_application2 profiles: dev eureka: instance: hostname: localhost-8762 #eureka实例的主机名 client: register-with-eureka: false # 不把自己注册到eureka fetch-registry: false #不从eureka上来获取服务的注册信息,表示自己就是注册中心,我的职责是维护服务实例,并不需要检索服务 service-url: defaultZone: http://localhost-8762:8762/eureka/ ``` --- 1.配置的config中心模块一(模块名 springCloudConfig) ``` server: port: 3344 spring: application: name: springCloudConfig cloud: config: server: git: uri: https://gitee.com/ykmy123/springCloud_Config.git #search-paths: /resources #配置文件所在的文件位置 如果是多文件可用"," 隔开 username: xxxxx password: xxxxx ``` --- 并在主启动类上添加了注解 @EnableConfigServer --- 2.创建一个模块二(springCloudConfigClien)测试是否拉取到信息 bootstrap.yml ``` spring: cloud: config: name: eureka_service_config_application #需要从github上读取的资源名,注意没有yml后缀 profile: test #本访问的配置项 label: master #读取的分支 uri: http://localhost:3344 #本微服务启动后会通过3344号服务,通过springCloudConfig获取github的服务 ``` controller ``` @RestController public class ConfigClientRest { @Value("${spring.application.name}") private String applicationName; @Value("${eureka.client.service-url.defaultZone}") private String eurekaServers; @Value("${server.port}") private String port; @RequestMapping(value="/getConfig", method= RequestMethod.GET) public String getConfig(){ String str="applicationName:"+applicationName+"\t eurekaServers:"+eurekaServers+"\t port:"+port; System.out.println(str); return "applicationName:"+applicationName+"\t eurekaServers:"+eurekaServers+"\t port:"+port; } } ``` 启动 ![图片说明](https://img-ask.csdn.net/upload/202005/21/1590034936_788362.png) 并访问 ![图片说明](https://img-ask.csdn.net/upload/202005/21/1590035035_165212.png) --- 3.创建eurekaservice 模块三(eureka容器) bootstrap.yml ``` spring: cloud: config: name: eureka_service_config_application #需要从github上读取的资源名,注意没有yml后缀 profile: test #本访问的配置项 label: master #读取的分支 uri: http://localhost:3344 #本微服务启动后会通过3344号服务,通过springCloudConfig获取github的服务 ``` --------- application.yml ``` spring: application: name: eureka_service_config_application ``` ------- 主启动类添加 @EnableEurekaServer 启动配置中心 模块 springCloudConfig (已经把上边的模块二给关掉了) 启动eurekaservice 模块提示报错 ![图片说明](https://img-ask.csdn.net/upload/202005/21/1590035468_590974.png) ----- 到这里创建了eurekaservice模块也想着拉取一下配置文件就出现一下疑问: --- 1.读git配置文件到项目的配置搭建思路是否有问题 2.为何模块一后 启动模块二端口是8761 可以读取到 git配置信息 (端口8761 ;而启动模块一后启动模块三 是就会报错  配置信息未读取到自动改为默认端口8080;   那模块一和模块三 配置文件都一样 按道理可以向模块二一样拉取到信息啊(个人认为可以拉取到) 3 模块二与模块三都是springboot项目  唯一不同的就是  模块二不是 eureka容器 求大神指点一下 非常感谢

SpringCloud Feign配置负载均衡报错

使用Feign做负载均衡的时候,本来用的SpringBoot版本是1.5.3,没有问题。可是当我换成2.1.3,发现请求报错,错误提示: ![图片说明](https://img-ask.csdn.net/upload/201903/24/1553424786_789616.png) 代码如下: POM.XML ```xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>feign</artifactId> <version>0.0.1-SNAPSHOT</version> <name>feign</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-javanica</artifactId> <version>1.5.12</version> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.RC1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.18.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> </project> ``` FeignApplication ![图片说明](https://img-ask.csdn.net/upload/201903/24/1553424989_413786.png) Service ![图片说明](https://img-ask.csdn.net/upload/201903/24/1553425021_824461.png) application.yml ```yml eureka: client: serviceUrl: defaultZone: http://m103:8761/eureka/ server: port: 8901 spring: application: name: service-feign feign: httpclient: enabled: true hystrix: enabled: true management: endpoints: web: exposure: include: "*" exclude: env ``` 有没有人看一下问题出在哪里?

springcloud 断路器监控使用遇到的问题

1.springcloud Finacy Release hystrix dashboard eureka 作为注册中心 hystrix 访问下载 hystrix 文件 /hystrix 一直ping ,使用zookeeper 作为注册中心的时候没有问题。 2.使用zookeeper 作为注册中心,使用Tubline 作为监控的时候一直报EurekaClient not found ,但是jar包是引入了,就是不知道为为什么找不到 已经加入hystrix 注解和 hystrix 注解对应的jar 包 和 spring-boot-acuator 的jar包 已经在bean 中创建那个/hystrix.stream 的 servlet 使用zookeeper 作为注册中心的时候是可以的, @EnableHystrix @EnableHystrixDashboard @EnableEurekaClient @EnableDiscoveryClient //@SpringBootApplicat ion(exclude = {EurekaClientAutoConfiguration.class}) @SpringBootApplication public class SpringcloudClientApplication { @Bean @LoadBalanced RestTemplate restTemplate(){ return new RestTemplate(); } public static void main(String[] args) { SpringApplication.run(SpringcloudClientApplication.class, args); } } #服务端口号 server: port: 8090 #应用名称 spring: application: name: eureka-client data: mongodb: uri: mongodb://192.168.209.128:27017/user cloud: #zookeeper: #connect-string: 192.168.209.128:2181 #discovery: #register: true #enabled: true #instance-id: 1 #root: /zkRoot config: enabled: true discovery: enabled: true loadbalancer: retry: enabled: true #consule: #host: 127.0.0.1 #port: 8500 #discovery: #register: false security: user: name: wumging password: wuming # Redis数据库索引(默认为0) redis: database: 10 host: 192.168.209.128 port: 6379 timeout : 1000 ribbon: eureka: enabled: true feign: hystrix: enabled: false management : endpoints: web: exposure: include: hystrix.stream #turbine: #app-config: eureka-server,eureka-server2 #aggregator: #clusterConfig: default #clusterNameExpression: "'default'" #combine-host-port: true #instanceUrlSuffix: /hystrix.stream hystrix: common: default: execution: timeout: enabled: false isolation: thread: timeoutInMilliseconds: 5000 #服务注册地址 eureka: client: registerWithEureka: false fetchRegistry: false serviceUrl: defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ <dependencies> <dependency> <groupId>org.springcloud</groupId> <artifactId>springcloud-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> </dependency> --> <!-- <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.8</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!-- <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul</artifactId> </dependency> --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-turbine</artifactId> </dependency> --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> </dependencies>

SpringCloud项目集成阿里云nacos配置管理后 启动报错

SpringBoot项目改SpringCloud项目,没集成alibaba nacos时运行无异常,集成了之后启动报错,提示找不到相关bean,但是功能却是正常的。 云配置文件是加载到了的 ![报错示意](https://img-ask.csdn.net/upload/201911/14/1573717658_234284.png) ![配置](https://img-ask.csdn.net/upload/201911/14/1573717700_562227.png) ![配置](https://img-ask.csdn.net/upload/201911/14/1573717710_263011.png) 报错内容: ``` 2019-11-14 15:31:28 [ com.alibaba.nacos.client.Worker.longPullingacm.aliyun.com-32f1587d-47d1-4060-bf86-870b0d47c500:17212 ] - [ WARN ] org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:558) Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'invoiceCallbackApiController': Unsatisfied dependency expressed through field 'invoiceCallbackProducer'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'yongYouInvoiceCallbackProducer': Unsatisfied dependency expressed through field 'amqpTemplate'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.amqp.core.AmqpTemplate' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 2019-11-14 15:31:28 [ com.alibaba.nacos.client.Worker.longPullingacm.aliyun.com-32f1587d-47d1-4060-bf86-870b0d47c500:17220 ] - [ ERROR ] org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter.report(LoggingFailureAnalysisReporter.java:42) *************************** APPLICATION FAILED TO START *************************** Description: Field amqpTemplate in cn.xxx.invoice.service.rabbitmq.producer.YongYouInvoiceCallbackProducer required a bean of type 'org.springframework.amqp.core.AmqpTemplate' that could not be found. Action: Consider defining a bean of type 'org.springframework.amqp.core.AmqpTemplate' in your configuration. ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Intellij IDEA 实用插件安利

1. 前言从2020 年 JVM 生态报告解读 可以看出Intellij IDEA 目前已经稳坐 Java IDE 头把交椅。而且统计得出付费用户已经超过了八成(国外统计)。IDEA 的...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

魂迁光刻,梦绕芯片,中芯国际终获ASML大型光刻机

据羊城晚报报道,近日中芯国际从荷兰进口的一台大型光刻机,顺利通过深圳出口加工区场站两道闸口进入厂区,中芯国际发表公告称该光刻机并非此前盛传的EUV光刻机,主要用于企业复工复产后的生产线扩容。 我们知道EUV主要用于7nm及以下制程的芯片制造,光刻机作为集成电路制造中最关键的设备,对芯片制作工艺有着决定性的影响,被誉为“超精密制造技术皇冠上的明珠”,根据之前中芯国际的公报,目...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

百度工程师,获利10万,判刑3年!

所有一夜暴富的方法都写在刑法中,但总有人心存侥幸。这些年互联网犯罪高发,一些工程师高技术犯罪更是引发关注。这两天,一个百度运维工程师的案例传遍朋友圈。1...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图2020年最新版(进大厂必备)

正确选择比瞎努力更重要!

字节跳动面试官竟然问了我JDBC?

轻松等回家通知

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

实时更新:计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)

内容导航: 1、TIOBE排行榜 2、总榜(2020年6月份) 3、本月前三名 3.1、C 3.2、Java 3.3、Python 4、学习路线图 5、参考地址 1、TIOBE排行榜 TIOBE排行榜是根据全世界互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据。

立即提问
相关内容推荐