import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.MutablePropertySources;
import org.springframework.core.env.PropertiesPropertySource;
@Configuration
public class InitProperties
implements ApplicationListener<ApplicationEnvironmentPreparedEvent>
{
private static final Logger log = LoggerFactory.getLogger(InitProperties.class);
private static final String nacos_fat = "139.155.27.221:8848";
private static final String nacos_prod = "119.27.187.243:8848";
private static final String nacos_dev = "118.24.108.222:8848";
private static final String zipkin_fat = "http://118.24.108.222:9411";
public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event)
{
ConfigurableEnvironment environment = event.getEnvironment();
String[] actives = environment.getActiveProfiles();
String active = "fat";
if ((actives != null) && (actives.length > 0)) {
active = actives[0];
}
Properties props = new Properties();
props.put("management.endpoints.web.exposure.include", "*");
props.put("nacos.config.server-addr", "139.155.27.221:8848");
props.put("management.endpoint.health.show-details", "always");
props.put("spring.jackson.time-zone", "GMT+8");
props.put("spring.jackson.serialization.write-dates-as-timestamps", Boolean.valueOf(true));
if ("fat".equals(active))
{
props.put("spring.cloud.nacos.discovery.server-addr", "139.155.27.221:8848");
props.put("spring.cloud.nacos.discovery.namespace", "fat");
props.put("spring.zipkin.baseUrl", "http://118.24.108.222:9411");
props.put("spring.redis.host", "118.24.108.222");
props.put("spring.redis.port", "6379");
props.put("spring.redis.password", "lgl250??");
props.put("spring.redis.lettuce.pool.max-active", "8");
props.put("spring.redis.lettuce.pool.max-idle", "8");
props.put("spring.redis.lettuce.pool.max-wait", "8");
props.put("spring.redis.lettuce.pool.min-idle", "8");
}
else if ("prod".equals(active))
{
props.put("spring.cloud.nacos.discovery.server-addr", "119.27.187.243:8848");
props.put("spring.cloud.nacos.discovery.namespace", "prod");
props.put("swagger.production", Boolean.valueOf(true));
props.put("spring.redis.host", "10.0.0.2");
props.put("spring.redis.port", "6379");
props.put("spring.redis.password", "oLM0Bh!zn450");
props.put("spring.redis.lettuce.pool.max-active", "8");
props.put("spring.redis.lettuce.pool.max-idle", "8");
props.put("spring.redis.lettuce.pool.max-wait", "8");
props.put("spring.redis.lettuce.pool.min-idle", "8");
}
else if ("dev".equals(active))
{
props.put("spring.cloud.nacos.discovery.server-addr", "118.24.108.222:8848");
props.put("spring.cloud.nacos.discovery.namespace", "dev");
props.put("spring.redis.host", "118.24.108.222");
props.put("spring.redis.port", "6379");
props.put("spring.redis.password", "lgl250??");
props.put("spring.redis.lettuce.pool.max-active", "8");
props.put("spring.redis.lettuce.pool.max-idle", "8");
props.put("spring.redis.lettuce.pool.max-wait", "8");
props.put("spring.redis.lettuce.pool.min-idle", "8");
}
environment.getPropertySources().addFirst(new PropertiesPropertySource("nacos-config", props));
}
}
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.zipkin2.ZipkinProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Profile;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Service;
@Service
@Order(-100)
public class ZipkinConfigService
{
private static final Logger log = LoggerFactory.getLogger(ZipkinConfigService.class);
@Autowired
ZipkinProperties zipkinProperties;
@Profile({"fat"})
@Bean
public void initDev()
{
this.zipkinProperties.setBaseUrl("http://118.24.108.222:9411");
}
@Profile({"prod"})
@Bean
public void initProd()
{
this.zipkinProperties.setBaseUrl("http://118.24.108.222:9411");
}
}
<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.3.3.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.xxx.business</groupId>
<artifactId>business-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>business-parent</name>
<inceptionYear>2012-Now</inceptionYear>
<properties>
<!-- Environment Settings -->
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR8</spring-cloud.version>
<zipkin.version>2.10.1</zipkin.version>
<nacos.version>0.2.7</nacos.version>
<nacos.cloud.version>2.2.1.RELEASE</nacos.cloud.version>
</properties>
<dependencies>
<!-- BOM Begin -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>${nacos.version}</version>
</dependency>
<!-- nacos config -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>${nacos.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-actuator</artifactId>
<version>${nacos.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${nacos.cloud.version}</version>
</dependency>
<!-- ZipKin Begin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!-- ZipKin End -->
<!-- Spring Boot Admin Begin -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Spring Boot Admin End -->
<!-- spring cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- 基础配置 -->
<dependency>
<groupId>com.xxx.business</groupId>
<artifactId>base-config</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<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>
<build>
<plugins>
<!-- Compiler 插件, 设定 JDK 版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
<!-- 打包 jar 文件时,配置 manifest 文件,加入 lib 包的 jar 依赖 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
<executions>
<execution>
<configuration>
<archive>
<manifest>
<!-- Add directory entries -->
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
<!-- resource -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
<!-- install -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
</plugin>
<!-- clean -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
</plugin>
<!-- ant -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
</plugin>
<!-- dependency -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!-- Java Document Generate -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<show>private</show>
<additionalOptions>-Xdoclint:none</additionalOptions>
</configuration>
</plugin>
<!-- YUI Compressor ((CSS/JS压缩) -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<encoding>UTF-8</encoding>
<jswarn>false</jswarn>
<nosuffix>true</nosuffix>
<linebreakpos>30000</linebreakpos>
<force>true</force>
<includes>
<include>**/*.js</include>
<include>**/*.css</include>
</includes>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<!-- 资源文件配置 -->
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
<repositories>
<repository>
<id>aliyun-repos</id>
<name>Aliyun Repository</name>
<url>
http://maven.aliyun.com/nexus/content/groups/public
</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>nexus-private</id>
<name>nexus-private</name>
<url>
http://139.155.27.221:8081/repository/maven-snapshots
</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>maven-releases</id>
<name>Nexus Release Repository</name>
<url>
http://139.155.27.221:8081/repository/maven-releases/
</url>
</repository>
<snapshotRepository>
<id>maven-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>
http://139.155.27.221:8081/repository/maven-snapshots/
</url>
</snapshotRepository>
</distributionManagement>
<pluginRepositories>
<pluginRepository>
<id>aliyun-repos</id>
<name>Aliyun Repository</name>
<url>
http://maven.aliyun.com/nexus/content/groups/public
</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
分享到:
相关推荐
这些环境变量包含了操作系统配置的重要信息,比如路径设置、用户信息等。本文将详细介绍如何在Java程序中实现跨平台地读取环境变量,并给出一个具体的示例代码进行解析。 #### 获取环境变量的重要性 在开发过程中...
本文将详细介绍如何在Windows操作系统中设置Java环境变量。 #### 二、Java环境变量设置步骤 ##### 1. 设置JAVA_HOME `JAVA_HOME`是JDK安装路径的环境变量。这一步至关重要,因为它指向了JDK的主目录,使得系统...
### Java 运行时环境初始化错误及解决方案 #### 问题背景 在使用Adobe Flash CS5等Adobe产品时,用户可能会遇到“Java运行时环境初始化错误”的提示。这通常发生在使用了精简版或某些特定版本的Adobe软件时,因为...
`/etc/bashrc`通常用于设置用户级别的配置,而`/etc/profile`用于全局系统配置。 设置环境变量有三种常见方法: 1. **在/etc/profile中添加变量** - 这种方法将变量设置为对所有用户永久生效。例如,为了设置`...
在Java编程中,JDK环境变量的正确配置是运行和开发Java程序的基础。这些环境变量指示操作系统如何找到Java的安装位置,以及如何执行相关的Java工具。以下是几个关键的JDK环境变量及其详细解释: 1. **JAVA_HOME**: ...
本文将根据提供的部分内容,详细介绍与解释相关的环境变量设置。 #### 一、环境变量概览 首先,我们来看一下部分核心环境变量及其作用: 1. **`ORACLE_HOME`**: 指定Oracle产品的安装目录。 2. **`ORACLE_SID`**:...
手册可能详述了如何下载并安装Maximo安装程序,如何配置系统环境变量,以及如何处理可能出现的依赖问题。 2. **Weblogic11g应用服务器**:Weblogic11g是Oracle公司的一个中间件产品,常作为Java应用服务器使用。在...
环境变量通常指的是系统级别的变量,它们对Java应用程序的运行环境产生影响。例如,JAVA_HOME环境变量指定了JDK安装的位置,PATH环境变量包含执行Java命令的路径。在编程过程中,我们较少直接操作环境变量,但在配置...
在Linux系统中,Oracle数据库的运行依赖于一系列的环境变量设置和自启动脚本的配置。这些要素确保了数据库服务的稳定性和可管理性。本文将深入探讨与"linux-oracle环境变量及自启动脚本"相关的知识点。 一、Oracle...
初始化脚本将负责下载和安装JDK,并设置相应的环境变量,如`JAVA_HOME`,以便其他依赖Java的应用可以正常工作。 2. **Maven**:Maven是Apache软件基金会开发的一个项目管理和综合工具,主要用于Java项目。它通过...
为了使Java环境可用,需要配置环境变量。打开/etc/profile文件,使用vi编辑器添加JAVA_HOME、CLASSPATH和PATH变量,确保它们指向正确的JDK路径。编辑完成后,执行source /etc/profile命令使配置生效,最后通过java -...
1. **Java环境变量配置**: - **JAVA_HOME**:这个环境变量用于设置Java开发工具集(JDK)的安装路径。确保程序能找到Java的二进制文件,如`java.exe`和`javac.exe`。 - **PATH**:添加%JAVA_HOME%\bin到PATH变量...
1. **Java环境配置**:`java环境变量.bat`是用于设置Java开发环境的关键脚本。它会帮助用户配置JAVA_HOME、JRE_HOME、PATH等系统环境变量,确保Java可执行文件能在命令行中被正确调用。安装Java时,需要下载适合操作...
配置JDK通常需要设置JAVA_HOME环境变量,使其指向JDK安装目录,并将%JAVA_HOME%\bin路径添加到系统path环境变量中,以便在命令行中直接使用java和javac命令。 2. Tomcat服务器配置:Tomcat是一个开源的Servlet容器...
开发者可以通过调用`Dotenv.load()`或`Dotenv.config()`方法来初始化环境变量。此外,该库还支持自定义`.env`文件路径、处理缺失环境变量的策略以及忽略特定变量等功能,使得环境变量管理更加灵活。 在实际项目中,...
在安装过程中,可能需要设置环境变量,具体操作步骤是控制面板->系统和安全->系统->高级系统设置->高级->环境变量。 二、Eclipse 开发工具安装 Eclipse 是一个流行的集成开发环境(IDE),它提供了一个功能强大...
在安装过程中,系统会进行一些初始化设置,可能需要一段时间。耐心等待,直到出现下一步的提示。 3. **选择安装路径** 在安装路径选择环节,你可以选择默认路径或者自定义路径来保存JDK文件。如果你选择自定义,...
9. **环境变量配置**: 包括设置`ANDROID_HOME`指向SDK的安装路径,以及确保`PATH`变量包含了JDK和SDK的可执行文件。 10. **版本控制**: Git通常用于版本控制,确保代码的安全和团队协作的效率。 11. **插件和扩展*...
- 在“控制面板”->“系统”->“高级系统设置”->“环境变量”中添加或编辑环境变量。 - 添加`JAVA_HOME`变量:值为JDK的安装路径,例如:`F:\java\jdk1.8.0_05`。 - 修改`Path`变量:在`Path`的末尾加上`%JAVA_...