These are chat archives for spring-cloud/spring-cloud

15th
Aug 2017
Leon Radley
@leon
Aug 15 2017 07:55
I would like to use gradle instead of maven with the new spring-cloud-functions, will that be possible?
Dave Syer
@dsyer
Aug 15 2017 09:11
Why would you even ask?
I guess we don't have a build.gradle for the AWS sample? That's the only gap I can think of. But it wouldn't be hard to do for someone who knows how to use gradle.
Matthew Planchant
@mplanchant
Aug 15 2017 09:23
Hello all, can anyone point me in the direction of a Feign custom ErrorDecoder which is preferably part of a Spring Boot project? I'm struggling to find any decent examples and the documentation seems a little sparse in this area. Thanks.
Amin Abu-Taleb
@aabutaleb
Aug 15 2017 09:52
Hi there, I'm struggling with finding a way to have two versions of the same microservice and use zuul to redirect based on conditions (anything could be good to start with, url version, headers...). Zuul's documentation says zuul supports canary releases, that could be a good starting point but I cannot find anything else about it, can anybody point me in the right direction?
Wenming.fu
@wynn5a
Aug 15 2017 11:59
Hi
I am wondering if there is a HTTP API can list all passing service in one request. Anybody knows anything about this? Thanks.
I read all HTTP API document and cannot find one , am I missing something?
I am sorry for entering wrong room.
Leon Radley
@leon
Aug 15 2017 12:19
@dsyer Because I was unsure of how the spring-boot-thin-layout worked with gradle.
It would be great if we could have build.gradle files for the samples as well.
I can see if I get it working and in that case add a pull request.

How would you translate the

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework.boot.experimental</groupId>
                        <artifactId>spring-boot-thin-layout</artifactId>
                        <version>${wrapper.version}</version>
                    </dependency>
                </dependencies>
            </plugin>

to gradle?

James Howe
@OrangeDog
Aug 15 2017 12:55
xCJPECKOVERx
@xCJPECKOVERx
Aug 15 2017 13:30

Is it possible to set up multiple feign clients, that have different configurations, for the same service discovered through eureka? If possible, I'd like to do this without manually creating the client that can be seen here FeignManualConfigIssue.

I have managed to make a test that creates multiple clients, however I was not using service discovery. I could only do this by creating 2 differently named configurations in bootstrap.yml, each with the same ribbon.listOfServers. I can not find a way to get this same functionality when using service discovery.

Leon Radley
@leon
Aug 15 2017 14:04
I’ve done a pull request for the samples spring-cloud/spring-cloud-function#96
Spencer Gibb
@spencergibb
Aug 15 2017 15:57
@xCJPECKOVERx no, it's not
@aabutaleb the documentation says zuul is used for canary releases, but that is not part of the open source distribution
@wooshie I believe that has been fixed
Amin Abu-Taleb
@aabutaleb
Aug 15 2017 16:00
Hi @spencergibb I suspected that hehe, after going through tons of posts in SO hehe, is there any recommended best practices to deal with multiple versions in a prod environment?
Spencer Gibb
@spencergibb
Aug 15 2017 16:00
@mmaznikar EnvironmentChangedEvent will have the changed keys you could verify the one you're looking for
"multiple versions" of what?
Amin Abu-Taleb
@aabutaleb
Aug 15 2017 16:16
Sorry, we need to deploy a new version of a service that is not compatible with the previous version and, in order to support clients to migrate from v1 to v2 we need to keep them both running for a while
Spencer Gibb
@spencergibb
Aug 15 2017 16:18
and you need multiple versions of the feign client in the same application?
Amin Abu-Taleb
@aabutaleb
Aug 15 2017 16:20
not using that service from other services, is a public facing service
Spencer Gibb
@spencergibb
Aug 15 2017 16:21
sorry, confusing conversations
zuul canarying would need to be a custom zuul filter
Amin Abu-Taleb
@aabutaleb
Aug 15 2017 16:25
cool, is there any documentation out there that would help me? It's a bit confusing when I get to the point of knowing which version is which from zuul ;)
Mirza Maznikar
@mmaznikar
Aug 15 2017 17:42

@spencergibb I know that EnvironmentChangeEvent will have the changed keys, but in that case I would have to do something like this:

    @EventListener
    private void onApplicationEvent(EnvironmentChangeEvent event) throws IOException {

        if(event.getKeys().contains("myService.myProperty")){
            // Do something 
        }
    }

So I would have to hard code "myService.myProperty" or add another property in the configuration that would represent the key, because I can only get the property's value and not it's key. I would need something like this in the yml file:

myPropertyKey: "myService.myProperty"