public static String resolvePlaceholders(StandardEnvironment preparedEnvironment, String text) { // Mask out escaped placeholders text = ESCAPED_PLACEHOLDERS.matcher(text).replaceAll("\\$_{"); return preparedEnvironment.resolvePlaceholders(text).replace("$_{", "${"); }
location = environment.resolvePlaceholders(location); Resource resource = recourceLoader.getResource(location); if (resource != null && resource.exists()) { Object value = properties.get(name); if (value instanceof String) { properties.put(name, environment.resolvePlaceholders((String) value));
BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder.rootBeanDefinition(DefaultRocketMQListenerContainer.class); String nameServer = rocketMQProperties.getNameServer(); String annotationNameServer = environment.resolvePlaceholders(annotation.nameServer()); if (!StringUtils.isEmpty(annotationNameServer)) { nameServer = annotationNameServer; String instanceName = environment.resolvePlaceholders(annotation.instanceName()); if (StringUtils.isEmpty(instanceName)) instanceName = nameServer; beanBuilder.addPropertyValue(PROP_INSTANCE_NAME, instanceName); beanBuilder.addPropertyValue(PROP_TOPIC, environment.resolvePlaceholders(annotation.topic())); beanBuilder.addPropertyValue(PROP_CONSUMER_GROUP, environment.resolvePlaceholders(annotation.consumerGroup())); beanBuilder.addPropertyValue(PROP_CONSUME_MODE, annotation.consumeMode()); beanBuilder.addPropertyValue(PROP_CONSUME_THREAD_MAX, annotation.consumeThreadMax()); beanBuilder.addPropertyValue(PROP_RECONSUME_TIMES, annotation.reconsumeTimes()); beanBuilder.addPropertyValue(PROP_MESSAGE_MODEL, annotation.messageModel()); beanBuilder.addPropertyValue(PROP_SELECTOR_EXPRESS, environment.resolvePlaceholders(annotation.selectorExpress())); beanBuilder.addPropertyValue(PROP_SELECTOR_TYPE, annotation.selectorType()); beanBuilder.addPropertyValue(PROP_ROCKETMQ_LISTENER, rocketMQListener);
private static boolean isFunctional(StandardEnvironment environment) { if (!ClassUtils.isPresent( "org.springframework.cloud.function.context.FunctionalSpringApplication", null)) { return false; } return environment.resolvePlaceholders("${spring.functional.enabled:true}") .equals("true"); }
protected List<Dependency> getDependencies() throws Exception { String name = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_NAME + ":thin}"); String[] profiles = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_PROFILE + ":}") .split(","); PathResolver resolver = getResolver(); return resolver.extract(getArchive(), name, profiles); }
protected List<Dependency> getDependencies() throws Exception { String name = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_NAME + ":thin}"); String[] profiles = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_PROFILE + ":}") .split(","); PathResolver resolver = getResolver(); return resolver.extract(getArchive(), name, profiles); }
@Override protected String getMainClass() throws Exception { String mainClass = environment.resolvePlaceholders("${" + THIN_MAIN + ":}"); if (StringUtils.hasText(mainClass)) { return mainClass; } return ArchiveUtils.findMainClass(getArchive()); }
@Override protected String getMainClass() throws Exception { String mainClass = environment.resolvePlaceholders("${" + THIN_MAIN + ":}"); if (StringUtils.hasText(mainClass)) { return mainClass; } return ArchiveUtils.findMainClass(getArchive()); }
@Override protected List<Archive> getClassPathArchives() throws Exception { String parent = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_PARENT + ":}"); String name = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_NAME + ":thin}"); String[] profiles = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_PROFILE + ":}") .split(","); PathResolver resolver = getResolver(); Archive parentArchive = null; if (StringUtils.hasText(parent)) { parentArchive = ArchiveUtils.getArchive(parent); } List<Archive> archives = resolver.resolve(parentArchive, getArchive(), name, profiles); return archives; }
@Override protected List<Archive> getClassPathArchives() throws Exception { String parent = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_PARENT + ":}"); String name = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_NAME + ":thin}"); String[] profiles = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_PROFILE + ":}") .split(","); PathResolver resolver = getResolver(); Archive parentArchive = null; if (StringUtils.hasText(parent)) { parentArchive = ArchiveUtils.getArchive(parent); } List<Archive> archives = resolver.resolve(parentArchive, getArchive(), name, profiles); return archives; }
@Configuration @PropertySource("classpath:default.properties") public class AppConfig { @Autowired public void addOptionalProperties(StandardEnvironment environment) { try { String localPropertiesPath = environment.resolvePlaceholders("file:${java:comp/env/configLocation}/override.properties"); ResourcePropertySource localPropertySource = new ResourcePropertySource(localPropertiesPath); environment.getPropertySources().addLast(localPropertySource); } catch (IOException ignored) {} } }
private PathResolver getResolver() { String locations = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_LOCATION + ":}"); String root = environment.resolvePlaceholders("${" + THIN_ROOT + ":}"); String offline = environment.resolvePlaceholders("${" + THIN_OFFLINE + ":false}"); String force = environment.resolvePlaceholders( "${" + THIN_FORCE + ":${" + THIN_DRYRUN + ":false}}"); PathResolver resolver = new PathResolver(DependencyResolver.instance()); if (StringUtils.hasText(locations)) { resolver.setLocations(locations.split(",")); } if (StringUtils.hasText(root)) { resolver.setRoot(root); } if (!"false".equals(offline)) { resolver.setOffline(true); } if (!"false".equals(force)) { resolver.setForce(true); } resolver.setOverrides(getSystemProperties()); return resolver; }
@Override protected ClassLoader createClassLoader(URL[] urls) throws Exception { // Use the system classloader (the one that the JVM started with), not the one // from this class: ClassLoader parent = ClassLoader.getSystemClassLoader(); if ("true".equals( environment.resolvePlaceholders("${" + THIN_PARENT_BOOT + ":true}"))) { parent = parent.getParent(); } ThinJarClassLoader loader = new ThinJarClassLoader( ArchiveUtils.addNestedClasses(getArchive(), urls, "BOOT-INF/classes/"), parent); if ("true".equals( environment.resolvePlaceholders("${" + THIN_PARENT_FIRST + ":true}"))) { // Use a (traditional) parent first class loader loader.setParentFirst(true); } else { loader.setParentFirst(false); } return loader; }
private PathResolver getResolver() { String locations = environment .resolvePlaceholders("${" + ThinJarLauncher.THIN_LOCATION + ":}"); String root = environment.resolvePlaceholders("${" + THIN_ROOT + ":}"); String offline = environment.resolvePlaceholders("${" + THIN_OFFLINE + ":false}"); String force = environment.resolvePlaceholders( "${" + THIN_FORCE + ":${" + THIN_DRYRUN + ":false}}"); PathResolver resolver = new PathResolver(DependencyResolver.instance()); if (StringUtils.hasText(locations)) { resolver.setLocations(locations.split(",")); } if (StringUtils.hasText(root)) { resolver.setRoot(root); } if (!"false".equals(offline)) { resolver.setOffline(true); } if (!"false".equals(force)) { resolver.setForce(true); } resolver.setOverrides(getSystemProperties()); return resolver; }
public static StringValueResolver createStringValueResolver(Map<String, Object> map) { StandardEnvironment standardEnvironment = new StandardEnvironment(); standardEnvironment.getPropertySources().addFirst( new MapPropertySource(UUID.randomUUID().toString(), map)); return strVal -> { return standardEnvironment.resolvePlaceholders(strVal); }; }
@Override protected ClassLoader createClassLoader(URL[] urls) throws Exception { // Use the system classloader (the one that the JVM started with), not the one // from this class: ClassLoader parent = ClassLoader.getSystemClassLoader(); if ("true".equals( environment.resolvePlaceholders("${" + THIN_PARENT_BOOT + ":true}"))) { parent = parent.getParent(); } ThinJarClassLoader loader = new ThinJarClassLoader( ArchiveUtils.addNestedClasses(getArchive(), urls, "BOOT-INF/classes/"), parent); if ("true".equals( environment.resolvePlaceholders("${" + THIN_PARENT_FIRST + ":true}"))) { // Use a (traditional) parent first class loader loader.setParentFirst(true); } else { loader.setParentFirst(false); } return loader; }
addCommandLineProperties(args); args = removeThinArgs(args); String root = environment.resolvePlaceholders("${" + THIN_ROOT + ":}"); String classpathValue = environment .resolvePlaceholders("${" + THIN_CLASSPATH + ":false}"); boolean classpath = "".equals(classpathValue) || "true".equals(classpathValue) || "path".equals(classpathValue); boolean compute = "properties".equals(classpathValue); boolean trace = !"false" .equals(environment.resolvePlaceholders("${thin.trace:${trace:false}}")); if (classpath || compute) { this.debug = false; environment.resolvePlaceholders("${thin.debug:${debug:false}}")); environment.resolvePlaceholders("${" + THIN_DRYRUN + ":false}"))) { getClassPathArchives(); log.info("Downloaded dependencies"
BeanDefinitionBuilder beanBuilder = BeanDefinitionBuilder.rootBeanDefinition(DefaultRocketMQListenerContainer.class); beanBuilder.addPropertyValue(PROP_NAMESERVER, rocketMQProperties.getNameServer()); beanBuilder.addPropertyValue(PROP_TOPIC, environment.resolvePlaceholders(annotation.topic())); beanBuilder.addPropertyValue(PROP_CONSUMER_GROUP, environment.resolvePlaceholders(annotation.consumerGroup())); beanBuilder.addPropertyValue(PROP_CONSUME_MODE, annotation.consumeMode()); beanBuilder.addPropertyValue(PROP_CONSUME_THREAD_MAX, annotation.consumeThreadMax()); beanBuilder.addPropertyValue(PROP_MESSAGE_MODEL, annotation.messageModel()); beanBuilder.addPropertyValue(PROP_SELECTOR_EXPRESS, environment.resolvePlaceholders(annotation.selectorExpress())); beanBuilder.addPropertyValue(PROP_SELECTOR_TYPE, annotation.selectorType()); beanBuilder.addPropertyValue(PROP_ROCKETMQ_LISTENER, rocketMQListener);
addCommandLineProperties(args); args = removeThinArgs(args); String root = environment.resolvePlaceholders("${" + THIN_ROOT + ":}"); String classpathValue = environment .resolvePlaceholders("${" + THIN_CLASSPATH + ":false}"); boolean classpath = "".equals(classpathValue) || "true".equals(classpathValue) || "path".equals(classpathValue); boolean compute = "properties".equals(classpathValue); boolean trace = !"false" .equals(environment.resolvePlaceholders("${thin.trace:${trace:false}}")); if (classpath || compute) { this.debug = false; environment.resolvePlaceholders("${thin.debug:${debug:false}}")); environment.resolvePlaceholders("${" + THIN_DRYRUN + ":false}"))) { getClassPathArchives(); log.info("Downloaded dependencies"
private DefaultRocketMQListenerContainer createRocketMQListenerContainer(Object bean, RocketMQMessageListener annotation) { DefaultRocketMQListenerContainer container = new DefaultRocketMQListenerContainer(); container.setNameServer(rocketMQProperties.getNameServer()); container.setTopic(environment.resolvePlaceholders(annotation.topic())); container.setConsumerGroup(environment.resolvePlaceholders(annotation.consumerGroup())); container.setRocketMQMessageListener(annotation); container.setRocketMQListener((RocketMQListener) bean); container.setObjectMapper(objectMapper); return container; }