YML

关于gradle与maven对springboot项目的配置文件加载异同

China☆狼群 提交于 2020-12-06 18:54:42
先说下缘由吧,由于年后跳槽换了家公司,构建项目工具也有maven改成gradle了,所以在搭建框架进行开发打包过程中难免会遇到一些意想不到的问题。 本文简述下打包扫描加载配置文件的异同吧。 maven打包加载配置文件的配置是在pom文件中配置: 1 <resources> 2 <resource> 3 <directory>src/main/resources</directory> 4 <filtering> false </filtering> 5 <includes> 6 <include>** /* .*</include> 7 </includes> 8 </resource> 9 10 <resource> 11 <directory>src/main/resources</directory> 12 <filtering>true</filtering> 13 <excludes> 14 <exclude>* */ *.woff</exclude> 15 <exclude>** /* .ttf</exclude> 16 <exclude>* */ *.svg</exclude> 17 <exclude>** /* .eot</exclude> 18 </excludes> 19 </resource> 20 21 <resource> 22 <directory

Failed to determine a suitable driver class(基于SpringBoot框架)

烂漫一生 提交于 2020-12-06 15:54:06
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.7.RELEASE) 2019-08-27 11:31:57.774 ERROR 15364 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver

Rabbitmq的可靠消息投递

北城以北 提交于 2020-12-06 09:59:18
一、背景 生产端向rabbitmq发送消息时,由于网络等原因可能导致消息发送失败。所以,rabbitmq必须有机制确保消息能准确到达mq,如果不能到达,必须反馈给生产端进行重发。 RabbitMQ消息的可靠性投递主要两种实现: 1、通过实现消费的重试机制,通过@Retryable来实现重试,可以设置重试次数和重试频率; 2、生产端实现消息可靠性投递。 两种方法消费端都可能收到重复消息,要求消费端必须实现幂等性消费。 二、消息投递到exchange的确认模式 rabbitmq的消息投递的过程为: producer ——> rabbitmq broker cluster ——> exchange ——> queue ——> consumer 1、生产端发送消息到rabbitmq broker cluster后,异步接受从rabbitmq返回的ack确认信息。 2、生产端收到返回的ack确认消息后,根据ack是true还是false,调用confirmCallback接口进行处理。 在application.yml中开启生产端confirm模式 spring: rabbitmq: publisher -confirms: true 实现ConfirmCallback接口中的confirm方法,ack为true表示消息发送成功,ack为false表示消息发送失败 @Component

Elastic:用Docker部署Elastic栈

£可爱£侵袭症+ 提交于 2020-12-06 06:07:16
安装 因为我们需要使用docker来进行安装,我们必须安装: docker:根据不同的操作系统,请按照要求安装docker。可以到网站 https://docs.docker.com/去安装 docker-compose。这个可以到网站 https://docs.docker.com/compose/install/#install-using-pip去安装 用docker来安装Elasticsearch 下载docker image 获取Docker的Elasticsearch就像对Elastic Docker注册表发出docker pull命令一样简单。 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.3.2 上面是以Elasticsearch 7.3.2为例来示范的。在实际的使用中,可以替换它用自己喜欢的版本。 开发或测试环境 从命令行运行Elasticsearch。使用以下命令可以快速启动Elasticsearch以进行开发或测试: docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.3.2 请注意single-node

cloud-zuul路由网关

北战南征 提交于 2020-12-05 07:00:05
九、zuul路由网关 概述 1.1 能干嘛 路由、过滤 路由基本配置 POM <dependencies> <!-- zuul路由网关 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <!-- actuator监控 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- hystrix容错 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> <

centos7部署postgresql集群高可用 patroni + etcd 之patroni篇

倾然丶 夕夏残阳落幕 提交于 2020-12-05 06:59:09
实验环境:centos7.4纯净版 postgres版本: 9.6.15 etcd版本:3.3.11 patroni版本:1.6.0 patroni介绍可参考:https://github.com/zalando/patroni ip规划 192.168.216.130 node1 master 192.168.216.132 node2 slave 192.168.216.134 node3 slave etcd集群部署请看上一篇文章:https://www.cnblogs.com/caidingyu/p/11408389.html postgres部署参考文章:https://www.cnblogs.com/virtulreal/p/9921978.html 修改node1中postgresql.conf配置如下 max_connections = '100' max_wal_senders = '10' port = '5432' listen_addresses = '0.0.0.0' synchronous_commit = on full_page_writes = on wal_log_hints = on synchronous_standby_names = '*' max_replication_slots = 10 wal_level = replica

Spring Cloud Alibaba 教程 | Nacos(一)

淺唱寂寞╮ 提交于 2020-12-04 18:34:23
什么是Nacos Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式)的服务基础设施。 使用Nacos组件可以作为微服务架构的注册中心和配置中心,可以简单理解为可以代替Netflix解决方案中的Eureka组件和Spring Cloud Config组件。 Nacos官方地址: https://nacos.io/zh-cn/index.html 主要功能 动态配置服务 动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。 服务发现及管理 动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Nacos,您可以更容易地为您的服务实现断路器。 动态DNS服务

Mongodb4.4.1分片集群搭建

谁说胖子不能爱 提交于 2020-12-04 08:25:22
1、环境规划 3台机,每台机5个实例,分别mongos 1 个,config server 1 个,shard server 3 个 IP:192.168.56.107(mongodb01) 实例:mongos:30000 shard1:40001(主节点) shard2:40002(仲裁节点) shard3:40003(副节点) config:27027 IP:192.168.56.105(mongodb02) 实例:mongos:30000 shard1:40001(副节点) shard2:40002(主节点) shard3:40003(仲裁节点) config:27028 IP:192.168.56.106(mongodb03) 实例:mongos:30000 shard1:40001(仲裁节点) shard2:40002(副节点) shard3:40003(主节点) config:27029 2、创建相应目录 在192.168.56.107(mongodb01)上新建: mkdir -p /mongodb01/{data,logs,apps,run} mkdir -p /mongodb01/data/shard{1,2,3} mkdir -p /mongodb01/data/config 在192.168.56.105(mongodb02)上新建: mkdir -p

Spring Cloud Alibaba | Nacos服务中心初探

烈酒焚心 提交于 2020-12-04 01:53:50
Spring Cloud Alibaba | Nacos服务注册与发现 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如无特殊说明,本系列文章全采用以上版本 [TOC] 上一篇 《Spring Cloud Alibaba | Nacos服务中心初探》 我们聊了什么是Nacos以及Nacos如何搭建,这一篇我们接着聊Nacos如何简单使用。 首先,Nacos是一个服务注册和服务发现的注册中心,在Spring Cloud中,可以替代Eureka的功能,我们先聊一下Nacos如何和Spring Cloud集成做一个注册中心。 整体流程为: 先启动注册中心Nacos 启动服务的提供者将提供服务,并将服务注册到注册中心Nacos上 启动服务的消费者,在Nacos中找到服务并完成消费 1. 服务提供者 新建一个producer的项目,项目依赖如下: 1.1 pom.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

docker,构建nginx反向代理tomcat

岁酱吖の 提交于 2020-12-03 12:39:00
Nginx实现负载均衡是通过配置nginx.conf来实现的,nginx.conf的全部内容如下: user nginx; worker_processes 1 ; error_log /var/log/nginx/ error.log warn; pid /var/run/ nginx.pid; events { worker_connections 1024 ; } http { include /etc/nginx/ mime.types; default_type application /octet- stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' ; access_log /var/log/nginx/ access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65 ; #gzip on; #include /etc/nginx/conf.d /* .conf; upstream tomcat_client {