Skip to content

Commit

Permalink
Merge branch 'master' into refactor-soft-delete
Browse files Browse the repository at this point in the history
  • Loading branch information
nisiyong authored Aug 9, 2021
2 parents 7ff07ec + 8c0241c commit 3c2d891
Show file tree
Hide file tree
Showing 32 changed files with 351 additions and 137 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/release-1.8.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#
# Copyright 2021 Apollo Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven

name: publish apollo-client-config-data

on:
workflow_dispatch:
inputs:
repository:
description: 'Maven Repository(snapshots or releases)'
required: true
default: 'snapshots'

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Maven Central Repository
uses: actions/setup-java@v1
with:
java-version: 8
server-id: ${{ github.event.inputs.repository }}
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Publish to Apache Maven Central
run: mvn clean deploy -pl apollo-client-config-data -DskipTests=true "-Dreleases.repo=https://oss.sonatype.org/service/local/staging/deploy/maven2" "-Dsnapshots.repo=https://oss.sonatype.org/content/repositories/snapshots"
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ jobs:
- name: Set up Maven Central Repository
uses: actions/setup-java@v1
with:
java-version: 1.7
java-version: 7
server-id: ${{ github.event.inputs.repository }}
server-username: MAVEN_USERNAME
server-password: MAVEN_CENTRAL_TOKEN
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
gpg-passphrase: MAVEN_GPG_PASSPHRASE
- name: Publish to Apache Maven Central
run: mvn clean deploy -pl apollo-client,apollo-client-config-data,apollo-mockserver,apollo-openapi -am -DskipTests=true "-Dreleases.repo=https://oss.sonatype.org/service/local/staging/deploy/maven2" "-Dsnapshots.repo=https://oss.sonatype.org/content/repositories/snapshots"
run: mvn clean deploy -pl apollo-client,apollo-mockserver,apollo-openapi -am -DskipTests=true "-Dreleases.repo=https://oss.sonatype.org/service/local/staging/deploy/maven2" "-Dsnapshots.repo=https://oss.sonatype.org/content/repositories/snapshots"
env:
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
7 changes: 7 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,13 @@ Apollo 1.9.0
* [translation of "portal-how-to-enable-webhook-notification.md"](https://github.com/ctripcorp/apollo/pull/3847)
* [feature: add history detail for not key-value type of namespace](https://github.com/ctripcorp/apollo/pull/3856)
* [fix show-text-modal number display](https://github.com/ctripcorp/apollo/pull/3851)
* [Lazy load ConfigUtil](https://github.com/ctripcorp/apollo/pull/3864)
* [make jdbc session enable default](https://github.com/ctripcorp/apollo/pull/3869)
* [support json/yaml/xml format for public namespace](https://github.com/ctripcorp/apollo/pull/3836)
* [Translate application into 应用 not 项目](https://github.com/ctripcorp/apollo/pull/3877)
* [add spring configuration metadata for property names cache](https://github.com/ctripcorp/apollo/pull/3879)
* [Fix Multiple PropertySourcesPlaceholderConfigurer beans registered issue](https://github.com/ctripcorp/apollo/pull/3865)
* [use jdk 8 to publish apollo-client-config-data](https://github.com/ctripcorp/apollo/pull/3880)

------------------
All issues and pull requests are [here](https://github.com/ctripcorp/apollo/milestone/6?closed=1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,6 @@ public class ApolloApplicationContextInitializer implements
private final ConfigPropertySourceFactory configPropertySourceFactory = SpringInjector
.getInstance(ConfigPropertySourceFactory.class);

private final ConfigUtil configUtil = ApolloInjector.getInstance(ConfigUtil.class);

private int order = DEFAULT_ORDER;

@Override
Expand Down Expand Up @@ -130,6 +128,7 @@ protected void initialize(ConfigurableEnvironment environment) {
List<String> namespaceList = NAMESPACE_SPLITTER.splitToList(namespaces);

CompositePropertySource composite;
final ConfigUtil configUtil = ApolloInjector.getInstance(ConfigUtil.class);
if (configUtil.isPropertyNamesCacheEnabled()) {
composite = new CachedCompositePropertySource(PropertySourcesConstants.APOLLO_BOOTSTRAP_PROPERTY_SOURCE_NAME);
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public class PropertySourcesProcessor implements BeanFactoryPostProcessor, Envir

private final ConfigPropertySourceFactory configPropertySourceFactory = SpringInjector
.getInstance(ConfigPropertySourceFactory.class);
private final ConfigUtil configUtil = ApolloInjector.getInstance(ConfigUtil.class);
private ConfigUtil configUtil;
private ConfigurableEnvironment environment;

public static boolean addNamespaces(Collection<String> namespaces, int order) {
Expand All @@ -71,6 +71,7 @@ public static boolean addNamespaces(Collection<String> namespaces, int order) {

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
this.configUtil = ApolloInjector.getInstance(ConfigUtil.class);
initializePropertySources();
initializeAutoUpdatePropertiesFeature(beanFactory);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import java.util.Map;
import java.util.Objects;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
Expand All @@ -40,10 +41,19 @@ public static boolean registerBeanDefinitionIfNotExists(BeanDefinitionRegistry r

String[] candidates = registry.getBeanDefinitionNames();

for (String candidate : candidates) {
BeanDefinition beanDefinition = registry.getBeanDefinition(candidate);
if (Objects.equals(beanDefinition.getBeanClassName(), beanClass.getName())) {
return false;
if (registry instanceof BeanFactory) {
final BeanFactory beanFactory = (BeanFactory) registry;
for (String candidate : candidates) {
if (beanFactory.isTypeMatch(candidate, beanClass)) {
return false;
}
}
} else {
for (String candidate : candidates) {
BeanDefinition beanDefinition = registry.getBeanDefinition(candidate);
if (Objects.equals(beanDefinition.getBeanClassName(), beanClass.getName())) {
return false;
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,13 @@
"sourceType": "com.ctrip.framework.apollo.core.ConfigConsts",
"description": "apollo meta server address."
},
{
"name": "apollo.property.names.cache.enable",
"type": "java.lang.Boolean",
"sourceType": "com.ctrip.framework.apollo.util.ConfigUtil",
"description": "enable property names cache.",
"defaultValue": false
},
{
"name": "apollo.property.order.enable",
"type": "java.lang.Boolean",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,6 @@ public AppNamespace createAppNamespaceInLocal(AppNamespace appNamespace, boolean
throw new BadRequestException("App not exist. AppId = " + appId);
}

// public namespaces only allow properties format
if (appNamespace.isPublic()) {
appNamespace.setFormat(ConfigFileFormat.Properties.getValue());
}

StringBuilder appNamespaceName = new StringBuilder();
//add prefix postfix
appNamespaceName
Expand Down
4 changes: 3 additions & 1 deletion apollo-portal/src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ spring:
query:
plan_cache_max_size: 192 # limit query plan cache max size
session:
store-type: none
store-type: jdbc
jdbc:
initialize-schema: never
server:
port: 8070
compression:
Expand Down
Loading

0 comments on commit 3c2d891

Please sign in to comment.