title: Is Feign threadsafe...?
body: <p>Is instance of Feign thread safe...? I couldn't find any documentation that supports this. Do anyone out there think otherwise?</p>
  
  <p>Here is the standard example posted on github repo for Feign...</p>
  
  <pre><code>interface GitHub {
    @RequestLine("GET /repos/{owner}/{repo}/contributors")
    List&lt;Contributor&gt; contributors(@Param("owner") String owner, @Param("repo") String repo);
  }
  
  static class Contributor {
    String login;
    int contributions;
  }
  
  public static void main(String... args) {
    GitHub github = Feign.builder()
                         .decoder(new GsonDecoder())
                         .target(GitHub.class, "https://api.github.com");
  
    // Fetch and print a list of the contributors to this library.
    List&lt;Contributor&gt; contributors = github.contributors("netflix", "feign");
    for (Contributor contributor : contributors) {
      System.out.println(contributor.login + " (" + contributor.contributions + ")");
    }
  }
  </code></pre>
  
  <p>Should I change this to following... Is it thread safe...?</p>
  
  <pre><code>interface GitHub {
    @RequestLine("GET /repos/{owner}/{repo}/contributors")
    List&lt;Contributor&gt; contributors(@Param("owner") String owner, @Param("repo") String repo);
  }
  
  static class Contributor {
    String login;
    int contributions;
  }
  
  @Component
  public class GithubService {
  
    GitHub github = null;
  
    @PostConstruct
    public void postConstruct() {
      github = Feign.builder()
                  .decoder(new GsonDecoder())
                  .target(GitHub.class, "https://api.github.com");
    }
  
    public void callMeForEveryRequest() {
      github.contributors... // Is this thread-safe...?
    }
  }
  </code></pre>
  
  <p>For the example above... I've used spring based components to highlight a singleton. Thanks in advance...</p>