Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
  • 19:39
    candrews commented #844
  • 19:27

    spencergibb on 2.3.x

    Updates build to version 2.3.5.… (compare)

  • 19:22

    spencergibb on v2.3.4.RELEASE


  • 19:11

    spring-buildmaster on 2.3.x

    Bumping versions (compare)

  • 16:58

    spencergibb on 2.3.x

    Updates build to version 2.3.4.… (compare)

  • 15:37

    Haybu on jenkins-releaser-config

    update sc-build to 2.3.4.RELEASE (compare)

  • 15:29

    Haybu on jenkins-releaser-config

    spring build version to 2.3.4.R… (compare)

  • 15:24

    OlgaMaciaszek on 2.2.x

    Reformat. (compare)

  • 15:11
    CircleCI success: spring-cloud build (#1802) in https://github.com/spring-cloud/spring-cloud-kubernetes
    • null
      (9635f90d9539d13cbdbec6549807f6d435f9ad72 by null)
  • 15:08
    spencergibb commented #1857
  • 14:58

    ryanjbaxter on 2.2.x


  • 14:56

    ryanjbaxter on 2.2.x


  • 14:52

    spencergibb on 2.2.x


  • 14:51

    ryanjbaxter on 2.2.x


  • 14:46

    ryanjbaxter on 2.2.x


  • 14:46

    spencergibb on master


  • 14:44

    ryanjbaxter on 2.2.x


  • 14:41

    marcingrzejszczak on 2.2.x


  • 14:41
    jakub-moravec commented #1857
  • 14:31
    marcingrzejszczak review_requested #1917
@spencergibb is there a way to read route-definition from customRouteLocator instead of CachingRouteLocator, in case of multiple instances dynamic refresh can't refresh the cache in each instances.
Vadim Bryksin

Why does Spring Cloud Config Service require a different format in S3 buckets than in Git?
We have in git yml files with name of the service, inside this file we have multiple profiles and Config service perfectly extract only desired profile

However with S3 configuration, it is expecting files to be with name: <service_name>-<profile>.yml
so it makes it impossible to have single file with multiple profiles in it like in git

Hi! I'm learning about spring cloud architecture and building an example app with all the cloud capabilities. My current architecture looks like this:
api-gateway -> loadbalancer -> (discovery server) -> microservice instance
These are all spring cloud components. Where should I add the circuit breaker? Should it be in the gateway component or in the loadbalancer? Thanks :)
Davy De Waele

We're in the process of upgrading our Spring Cloud Config Server and I noticed that it was constantly overwriting locally checked out files (we use a git backend).

2021-03-15 09:27:55.042  INFO 6 --- [nio-8599-exec-8] .c.s.e.MultipleJGitEnvironmentRepository : Reset label master to version AnyObjectId[d8d7b124beaf6f770f47337961a267b39506343f]
2021-03-15 09:27:55.064  INFO 6 --- [nio-8599-exec-8] o.s.c.c.s.e.NativeEnvironmentRepository  : Adding property source: Config resource 'file [/tmp/config.repo/application.yml]' via location 'file:/tmp/config.repo/'
2021-03-15 09:28:25.189  INFO 6 --- [nio-8599-exec-9] .c.s.e.MultipleJGitEnvironmentRepository : Cannot pull from remote git@bitbucket.org:xxxxx.git, the working tree is not clean.
2021-03-15 09:28:25.352  WARN 6 --- [nio-8599-exec-9] .c.s.e.MultipleJGitEnvironmentRepository : The local repository is dirty or ahead of origin. Resetting it to origin/master.

We are running everything in docker and for local development, we volume-map our checkout folder to /tmp/config.repo in the docker container. This always worked with an older version of the config server. Is there a way to avoid that ? Should we use the native profile for local dev and ignore the git repo (just have it point to the checked out folder using SPRING_CLOUD_CONFIG_SERVER_NATIVE_SEARCH_LOCATIONS=file:/tmp/config.repo/ ?

Mark Sailes
Hi everyone, is there a specific spring-native room/
I'm new to spring cloud and it seems like a lot of people use java 8 with spring cloud. Is there a reason for that?
2 replies
If we are starting a new project is there any benefit in choosing Zuul gateway from Spring Cloud Netflix over Spring Cloud Gateway? We are looking for the core features; routing, security, logging, circuit breaker
1 reply
Templeton Peck

I'm trying to replace Ribbon with the new Spring Cloud LoadBalancer when using Feign
How do I replace

my-feign-client.ribbon.listOfServers: localhost:8080
@FeignClient("my-client", decode404 = true, configuration = [FeignConfig::class])
interface MyClient {

With the Spring Cloud LoadBalancer config?

1 reply
Templeton Peck
@OlgaMaciaszek :arrow_double_up:
Templeton Peck
What I'm trying to achieve is a Spring load balanced feign client with retries, which is what I had with ribbon. I cannot find a suitable example or info anywhere.
Could you, please, tell are there any plans to abandon Spring Cloud Config?
1 reply
Sameer Hameed
Hi everyone, we need to unable security in spring cloud data flow. Information of authorized users is maintained in database. So, can someone suggest steps/flag that need to be followed. Do we have any sample project for the same? Thanks.
Lucas Furlaneto


I'm trying to use Spring Cloud Config Serer with Vault, but each app that uses our Spring Cloud Config has a different backend on vault. Is it possible to send the backend as a header from Config Client to Config Server and use this backend to read the secrets?

2 replies
Ingo Griebsch

@spencergibb Hello, we are currently implementing our first spring cloud gateway. We defined some routes and implemented some custom filters. All goes well so far. We also implement tests for our use cases. We use spring-cloud-contract's @AutoConfigureWireMock and a WebTestClient to simulate the requests/responses.

While writing tests for our use cases we realize that we get the following WARN log message from netty's HttpClientConnect at the end of our test execution: The connection observed an error reactor.netty.http.client.PrematureCloseException: Connection prematurely closed DURING response

We searched through the internet and found many SO threads and also some SCG issues that discuss/explain/solve a similar issue. But they all have in common that they are handle a little bit different problem, they are all related to the message Connection prematurely closed BEFORE response

In the end all the things that were explained did not helped us to solve our poblem. We don't know how to deal with the problem. Therefore we would like to ask for help! :)

Jon Austen
I am looking for a Java unit test example for spring-cloud-storage on Azure. Does anyone know where I can look to find an example? I found lots of example Git repos , but none of them have unit tests. Hoping someone here might know? (I can't login to MSDN forums from my work computer, otherwise that is where I might try after work.)
Shrinidhi Joshi

I currently use the spring datasource configuration to connect to my RDS database . The url contains connection parameters like

    url: jdbc:mariadb:aurora://MYCLUSTER/MY_DB_NAME?socketTimeout=0

I would like to switch to using spring-cloud-aws-jdbc
But I am unable to find a way to configure the socketTimeout parameter.
Can someone please point me to any documentation regarding this ?


I have a gateway with discovery client trying to loadbalance a springBoot servlet app with requestBasedStickies. I have added the retryAwareServiceInstanceSupplier and the RetryGatewayFilter, however, on retry the context is never an instance of RetryContext in retryAwareServiceInstanceSupplier. I do not see RetryableLoadBalancerExchangeFilterFunction triggering. I feel like I must be missing one small part? is this possible?


@OlgaMaciaszek ^^
@spencergibb ^^
Mohamed Abdul
I'm trying run the Eureka Server - service discovery using spring-cloud-starter-eureka-server. The plan is to build as an war and deploy in weblogic 14c. Since Weblogic has deprecated JAX-RS 1.X ( and hence Jersey 1.x) this failed deployment. Do we have any reference to build the war using spring- eureka server which uses the eureka netflix jars, which supports JAX RS 2 (Jersey 2) ?
Pavan Patharde

I am trying to use Spring Cloud Vault on my project and I am getting the exception

Vault location [secret/application] not resolvable: Cannot login using org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://hostname:8200/v1/auth/approle/login": extension (5) should not be presented in certificate_request; nested exception is javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request


    name: pres
      authentication: APPROLE
        role-id: ${role-id}
        secret-id: ${secret-id}
        role: pres-read
        app-role-path: approle
      uri: https://hostname:8200
        enabled: true
        backend: secret
        application-name: pres
    include: dev

Has anyone faced similar situation with SSL certificate?

@pavankjadda did you find a solution for this ?

Felipe Adorno
Hi all, I'm using spring-cloud-gateway and when I'm add a secureHeaders filter I get duplicated headers because I have security configuration on others server, anyone know how if has any solution out of the box for this or I need create a custom filter?
Rishikesh Chiliveri
Hi, I am referring to this sample with below url I end up with some configuration issue
Actually I am accessing resource server with /resource using TokenRelayGatewayFilterFactory Filter. Some urls should be unsecured under /resource like /resource/unsecured which can be accessible without auth. But Gateway matched with path resource and call auth for /resource/unsecured url. I have added /resource/unsecured url to SecurityWebFilterChain and permitted it.
Any thing else needs to be done?
Thank you

I am using spring cloud gateway for routing. I am using dynamic routing stored in the database by setting parameter "exchange.getAttributes().put(ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR, mergedUrl);"

Dynamic routing works fine. I wanted to know just like dynamic routing is there a possibility of setting response timeout or connection timeout.

I looked at the code of the spring cloud gateway and found that these settings are stored in metadata of Route object which is an unmodifiable map. So we cannot set the value of these dynamically once the route is created.

Is there a way to set timeouts dynamically just like route URL?

route application.yml


    - id: dynamicroute
      uri: no://op
      - Path= /**
       - name: Filter1  
       - name: CustomRoutingFilter # This filter will route dynamically.
@FelipeAdorno you can use DedupeResponseHeader it's in the documentation. name parameter can be a space separated list of header names, optional strategy parameter can be RETAIN_FIRST (default), RETAIN_LAST, and RETAIN_UNIQUE.
Kristoffer Lundberg

Hi, guys! RSocket fan here.

I've been digging around in RSocket support for Spring Cloud Gateway and and found this: spring-cloud/spring-cloud-gateway@7a24912
Can't find any thing in the current documentation ( https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/ ) on RSocket support, so guessing it's still temporarily removed.
Are there any plans to bring RSocket support to Spring Cloud Gateway, @spencergibb ?

Bao Ngo
Hi guys, I hear that right now Zuul does not work with Spring Cloud 2020.0.x is it correct?
Rsockets for microservices intercommunication why we need gateway support?:)
@anaconda875_gitlab zuul already not supported with cloud new versions
Bao Ngo
Thank you
Nick Caballero
Hi everyone, I have a question regarding the ordering of Spring profiles. If application.yml declares spring.profiles.include=api and spring.profiles.group.api=eureka, when running the application using spring.profiles.active=dev, the order of the active profiles that I would expect is dev,eureka,api. However, I'm seeing api,eureka,dev. Is this correct?
My use case is that I have a profile that includes multiple profiles to configure different parts of the application. When running, I want to pass a dev profile that can override properties for that environment. However, the dev profile properties are coming after the profiles declared in the group.
Nick Caballero
This is in the context of Spring Config Server 3.0.3. In the previous version, profiles groups weren't around so we used to spring.profiles.include and that worked as expected.
hey guys, my Spring Cloud Gateway Service, don't pass trough the error messages from the response body, if the requests triggers an error in the routed service.
It only gives me the status code.
Do I have to configure something special?

Hello. Since the bootstrap context has been deprecated in 2020.x what is the recommended way to load Cloud Foundry environment variables. Do I still need to enable bootstrap support or can I just load them in application.yml (doesn't seem to work for me).

For example

      authentication: TOKEN
      uri: ${vcap.services.hashicorp-vault.credentials.address}
      token: ${vcap.services.hashicorp-vault.credentials.auth.token}
        backend: ${vcap.services.hashicorp-vault.credentials.backends.generic}
Nick Caballero
Take a look at https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2020.0-Release-Notes - apparently you should use spring.config.import=vault:
2 replies
Marco Zanghì
hi I have a problem with spring cloud gateway and resilience4j circuit breaker ... I am not able to specify into application.tml for a specific route the relative filter that implement the Circuit-breaker Logic for fallbackuri specification ... I am using 2020.0.2 spring cloud .... any ideas?
i don't want to use the reactive at the moment
Alex Lavigne
Hi everyone! I am a rookie of spring-cloud .I am more familiar with the framework of dubbo.
I have a question: What is the pros and cons of spring-cloud-aws vs spring-cloud-alibaba ?
Which framework will be the future of spring-cloud and become the successor of spring-cloud-netflix ?
Hello! Is there a possibility to fail the startup of a service if wrong Vault paths were provided? Something like Vault Client Fail Fast functionality (spring.cloud.vault.fail-fast=true), for example.
Mahdi Robatipoor
Hello , does anyone know what this exception means?
when i call other one micro service with fegin client get this exception
Caused by: java.lang.IllegalArgumentException: instance can not be null
        at org.springframework.util.Assert.notNull(Assert.java:198)
        at org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.reconstructURI(RibbonLoadBalancerClient.java:53)
        at io.github.jhipster.security.uaa.LoadBalancedResourceDetails.getAccessTokenUri(LoadBalancedResourceDetails.java:60)
        at org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport.getAccessTokenUri(OAuth2AccessTokenSupport.java:160)
        at org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport.retrieveToken(OAuth2AccessTokenSupport.java:141)
        at org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider.obtainAccessToken(ClientCredentialsAccessTokenProvider.java:49)
        at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainNewAccessTokenInternal(AccessTokenProviderChain.java:152)
        at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainAccessToken(AccessTokenProviderChain.java:125)
        at org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor.acquireAccessToken(OAuth2FeignRequestInterceptor.java:174)
        at org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor.getToken(OAuth2FeignRequestInterceptor.java:131)
        at org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor.extract(OAuth2FeignRequestInterceptor.java:117)
        at org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor.apply(OAuth2FeignRequestInterceptor.java:106)
        at feign.SynchronousMethodHandler.targetRequest(SynchronousMethodHandler.java:176)
        at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:101)
        at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:80)
        at feign.hystrix.HystrixInvocationHandler$1.run(HystrixInvocationHandler.java:109)
        at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:302)
        at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:298)
        at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46)
Nick Caballero
it means that the host of the uri was treated as a service instance and there is no service instance by that name
@robatipoor is the oauth2 server registered in eureka?

Hello, I am using 3.0.2 Ilford,

Trying to update the header of the request by mutating exchange, but it is not reflecting

 public class ScheduleOrRescheduleConsignmentRequestFilter extends
        AbstractGatewayFilterFactory<ModifyRequestBodyGatewayFilterFactory.Config> {

    public ScheduleOrRescheduleConsignmentRequestFilter() {


    public GatewayFilter apply(ModifyRequestBodyGatewayFilterFactory.Config config) {
        return (exchange, chain) -> {
                ModifyRequestBodyGatewayFilterFactory.Config modifyRequestConfig =
                        new ModifyRequestBodyGatewayFilterFactory.Config()
                                        (exchange1, originalRequestBody)
                                                -> transform(originalRequestBody, exchange));
                return new ModifyRequestBodyGatewayFilterFactory().
                        filter(exchange, chain);

    private Mono<OrchestratorScheduleConsignmentRequest> transform(CustomRequest request,
                                                                   ServerWebExchange exchange){

        return Mono.fromCallable(() -> request.getId(),
                .flatMap(eventName -> {
                        exchange.getRequest().mutate().header(X_EVENT_NAME, "eventName");

                        return Mono.just(SomeObject.build());

Can some help in pointing out what am i missing?
Hi! Is there a way to set LeaseAwareVaultPropertySource's ignoreSecretNotFound property to true?
Ingo Griebsch
We currently implement some use cases with Spring Cloud Gateway and want to read out a request body to protocol specific information without changing the body at all.
Can someone maybe point us to some examples that explain us how to do this in a Spring Cloud Gateway filter?
Every help would be really appreciated! :)
Pavan Patharde
Can some one please point me to spring vault client tls configuration? Not able to find any complete implementation any where.
We tried many ways to do it.. Not with a success..