REQ-3284: 推送
This commit is contained in:
parent
a53ac8f4e9
commit
746bcf7768
57
start/src/main/java/cn/axzo/msg/center/FeignConfig.java
Normal file
57
start/src/main/java/cn/axzo/msg/center/FeignConfig.java
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
package cn.axzo.msg.center;
|
||||||
|
|
||||||
|
import feign.RequestInterceptor;
|
||||||
|
import feign.RequestTemplate;
|
||||||
|
import feign.Target;
|
||||||
|
import lombok.SneakyThrows;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.context.EnvironmentAware;
|
||||||
|
import org.springframework.context.annotation.Profile;
|
||||||
|
import org.springframework.core.env.Environment;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author cold_blade
|
||||||
|
* @date 2023/10/19
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
@Profile({"dev", "test", "local", "pre"})
|
||||||
|
public class FeignConfig implements RequestInterceptor, EnvironmentAware {
|
||||||
|
private Environment environment;
|
||||||
|
|
||||||
|
private static String POD_NAMESPACE;
|
||||||
|
|
||||||
|
static {
|
||||||
|
Map<String, String> env = System.getenv();
|
||||||
|
if (env != null) {
|
||||||
|
POD_NAMESPACE = env.get("MY_POD_NAMESPACE");
|
||||||
|
}
|
||||||
|
log.info("init FeignConfig, POD_NAMESPACE value is {}", POD_NAMESPACE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SneakyThrows
|
||||||
|
@Override
|
||||||
|
public void apply(RequestTemplate requestTemplate) {
|
||||||
|
if (POD_NAMESPACE == null) {
|
||||||
|
Target<?> target = requestTemplate.feignTarget();
|
||||||
|
String profile = environment.getProperty("spring.profiles.active");
|
||||||
|
if (Objects.equals(profile, "dev")) {
|
||||||
|
requestTemplate.target("http://dev-app.axzo.cn/" + target.name());
|
||||||
|
} else if (Objects.equals(profile, "test")) {
|
||||||
|
requestTemplate.target("http://test-api.axzo.cn/" + target.name());
|
||||||
|
} else if (Objects.equals(profile, "pre")) {
|
||||||
|
requestTemplate.target("http://pre-api.axzo.cn/" + target.name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setEnvironment(Environment environment) {
|
||||||
|
this.environment = environment;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user