{"action":"created","comment":{"url":"https://api.github.com/repos/lagom/lagom/pulls/comments/125020970","pull_request_review_id":47370110,"id":125020970,"diff_hunk":"@@ -0,0 +1,54 @@\n+/*\n+ * Copyright (C) 2016-2017 Lightbend Inc. <https://www.lightbend.com>\n+ */\n+package com.lightbend.lagom.internal.javadsl.client\n+\n+import javax.inject.{ Inject, Provider, Singleton }\n+\n+import akka.actor.ActorSystem\n+import com.lightbend.lagom.internal.client.{ CircuitBreakerConfig, CircuitBreakerMetricsProviderProvider, CircuitBreakers }\n+import com.lightbend.lagom.internal.javadsl.CircuitBreakersPanelImpl\n+import com.lightbend.lagom.internal.spi.CircuitBreakerMetricsProvider\n+import com.lightbend.lagom.javadsl.client.CircuitBreakersPanel\n+import play.api.inject.{ Binding, Module }\n+import play.api.{ Configuration, Environment }\n+\n+class CircuitBreakerModule extends Module {\n+\n+  override def bindings(environment: Environment, configuration: Configuration): Seq[Binding[_]] = {\n+    Seq(\n+      bind[CircuitBreakersPanel].to[CircuitBreakersPanelImpl],\n+      // for backward compatibility we still need to provide it for wiring\n+      bind[CircuitBreakers].toProvider[CircuitBreakersProvider],\n+      bind[CircuitBreakerMetricsProvider].toProvider[CircuitBreakerMetricsProviderProvider]\n+    )\n+  }\n+}\n+\n+@Singleton\n+class CircuitBreakersProvider @Inject() (\n+  system:               ActorSystem,\n+  circuitBreakerConfig: CircuitBreakerConfig,\n+  metricsProvider:      CircuitBreakerMetricsProvider\n+) extends Provider[CircuitBreakers] {\n+  lazy val get = {\n+\n+    // only in case some 3rd part lib are still wiring the old one.\n+    println( // (no logger available here, so good old println)\n+      \"\"\"\n+        | +----------------------------------------------------------------------------------------+\n+        | | WATCH OUT!!                                                                            |\n+        | | com.lightbend.lagom.internal.client.CircuitBreakers is DEPRECATED                      |\n+        | | and will be removed on the next release.                                               |\n+        | |                                                                                        |\n+        | | Instead you should be using com.lightbend.lagom.javadsl.client.CircuitBreakersPanel.   |\n+        | |                                                                                        |\n+        | | If you don't understand why you are getting this warning, it's probably because        |\n+        | | you are using a 3rd part library that is still wiring this deprecated CircuitBreakers. |\n+        | +----------------------------------------------------------------------------------------+\n+      \"\"\".stripMargin","path":"service/javadsl/client/src/main/scala/com/lightbend/lagom/internal/javadsl/client/CircuitBreakerModule.scala","position":49,"original_position":49,"commit_id":"bd9486064fbb10216eea48525ba99fd99b8c0182","original_commit_id":"bd9486064fbb10216eea48525ba99fd99b8c0182","user":{"login":"ignasi35","id":762126,"avatar_url":"https://avatars1.githubusercontent.com/u/762126?v=3","gravatar_id":"","url":"https://api.github.com/users/ignasi35","html_url":"https://github.com/ignasi35","followers_url":"https://api.github.com/users/ignasi35/followers","following_url":"https://api.github.com/users/ignasi35/following{/other_user}","gists_url":"https://api.github.com/users/ignasi35/gists{/gist_id}","starred_url":"https://api.github.com/users/ignasi35/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ignasi35/subscriptions","organizations_url":"https://api.github.com/users/ignasi35/orgs","repos_url":"https://api.github.com/users/ignasi35/repos","events_url":"https://api.github.com/users/ignasi35/events{/privacy}","received_events_url":"https://api.github.com/users/ignasi35/received_events","type":"User","site_admin":false},"body":"I think it needs more emoji. Ascii art, capital letters and some extra exclamation marks are great but it's 2017! Come on!\r\n\r\nPS: I agree with @TimMoore that a single line message should be enough.","created_at":"2017-06-30T11:47:23Z","updated_at":"2017-06-30T11:47:23Z","html_url":"https://github.com/lagom/lagom/pull/841#discussion_r125020970","pull_request_url":"https://api.github.com/repos/lagom/lagom/pulls/841","_links":{"self":{"href":"https://api.github.com/repos/lagom/lagom/pulls/comments/125020970"},"html":{"href":"https://github.com/lagom/lagom/pull/841#discussion_r125020970"},"pull_request":{"href":"https://api.github.com/repos/lagom/lagom/pulls/841"}}},"pull_request":{"url":"https://api.github.com/repos/lagom/lagom/pulls/841","id":127559400,"html_url":"https://github.com/lagom/lagom/pull/841","diff_url":"https://github.com/lagom/lagom/pull/841.diff","patch_url":"https://github.com/lagom/lagom/pull/841.patch","issue_url":"https://api.github.com/repos/lagom/lagom/issues/841","number":841,"state":"open","locked":false,"title":"Exposes CircuitBreakers as public API.","user":{"login":"rcavalcanti","id":502982,"avatar_url":"https://avatars3.githubusercontent.com/u/502982?v=3","gravatar_id":"","url":"https://api.github.com/users/rcavalcanti","html_url":"https://github.com/rcavalcanti","followers_url":"https://api.github.com/users/rcavalcanti/followers","following_url":"https://api.github.com/users/rcavalcanti/following{/other_user}","gists_url":"https://api.github.com/users/rcavalcanti/gists{/gist_id}","starred_url":"https://api.github.com/users/rcavalcanti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcavalcanti/subscriptions","organizations_url":"https://api.github.com/users/rcavalcanti/orgs","repos_url":"https://api.github.com/users/rcavalcanti/repos","events_url":"https://api.github.com/users/rcavalcanti/events{/privacy}","received_events_url":"https://api.github.com/users/rcavalcanti/received_events","type":"User","site_admin":false},"body":"Fixes #804 \r\n\r\nThis PR creates a new `CircuitBreakers` trait (and impl) under `com.lightbend.lagom.client`.\r\n\r\nOld version under `com.lightbend.lagom.internal.client` is deprecated.\r\n\r\n`CircuitBreakingServiceLocator` in Java and Scala have now two constructors. This was tested against `lagom1-{scala,java}-conductr-bundle-lib` master branch and it compiles.","created_at":"2017-06-26T20:44:22Z","updated_at":"2017-06-30T11:47:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e90c7eb79c0d15d09f3a2aad5e2fe515c3bef12a","assignee":{"login":"rcavalcanti","id":502982,"avatar_url":"https://avatars3.githubusercontent.com/u/502982?v=3","gravatar_id":"","url":"https://api.github.com/users/rcavalcanti","html_url":"https://github.com/rcavalcanti","followers_url":"https://api.github.com/users/rcavalcanti/followers","following_url":"https://api.github.com/users/rcavalcanti/following{/other_user}","gists_url":"https://api.github.com/users/rcavalcanti/gists{/gist_id}","starred_url":"https://api.github.com/users/rcavalcanti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcavalcanti/subscriptions","organizations_url":"https://api.github.com/users/rcavalcanti/orgs","repos_url":"https://api.github.com/users/rcavalcanti/repos","events_url":"https://api.github.com/users/rcavalcanti/events{/privacy}","received_events_url":"https://api.github.com/users/rcavalcanti/received_events","type":"User","site_admin":false},"assignees":[{"login":"rcavalcanti","id":502982,"avatar_url":"https://avatars3.githubusercontent.com/u/502982?v=3","gravatar_id":"","url":"https://api.github.com/users/rcavalcanti","html_url":"https://github.com/rcavalcanti","followers_url":"https://api.github.com/users/rcavalcanti/followers","following_url":"https://api.github.com/users/rcavalcanti/following{/other_user}","gists_url":"https://api.github.com/users/rcavalcanti/gists{/gist_id}","starred_url":"https://api.github.com/users/rcavalcanti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcavalcanti/subscriptions","organizations_url":"https://api.github.com/users/rcavalcanti/orgs","repos_url":"https://api.github.com/users/rcavalcanti/repos","events_url":"https://api.github.com/users/rcavalcanti/events{/privacy}","received_events_url":"https://api.github.com/users/rcavalcanti/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"ignasi35","id":762126,"avatar_url":"https://avatars1.githubusercontent.com/u/762126?v=3","gravatar_id":"","url":"https://api.github.com/users/ignasi35","html_url":"https://github.com/ignasi35","followers_url":"https://api.github.com/users/ignasi35/followers","following_url":"https://api.github.com/users/ignasi35/following{/other_user}","gists_url":"https://api.github.com/users/ignasi35/gists{/gist_id}","starred_url":"https://api.github.com/users/ignasi35/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ignasi35/subscriptions","organizations_url":"https://api.github.com/users/ignasi35/orgs","repos_url":"https://api.github.com/users/ignasi35/repos","events_url":"https://api.github.com/users/ignasi35/events{/privacy}","received_events_url":"https://api.github.com/users/ignasi35/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/lagom/lagom/pulls/841/commits","review_comments_url":"https://api.github.com/repos/lagom/lagom/pulls/841/comments","review_comment_url":"https://api.github.com/repos/lagom/lagom/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lagom/lagom/issues/841/comments","statuses_url":"https://api.github.com/repos/lagom/lagom/statuses/bd9486064fbb10216eea48525ba99fd99b8c0182","head":{"label":"rcavalcanti:circuit-breakers","ref":"circuit-breakers","sha":"bd9486064fbb10216eea48525ba99fd99b8c0182","user":{"login":"rcavalcanti","id":502982,"avatar_url":"https://avatars3.githubusercontent.com/u/502982?v=3","gravatar_id":"","url":"https://api.github.com/users/rcavalcanti","html_url":"https://github.com/rcavalcanti","followers_url":"https://api.github.com/users/rcavalcanti/followers","following_url":"https://api.github.com/users/rcavalcanti/following{/other_user}","gists_url":"https://api.github.com/users/rcavalcanti/gists{/gist_id}","starred_url":"https://api.github.com/users/rcavalcanti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcavalcanti/subscriptions","organizations_url":"https://api.github.com/users/rcavalcanti/orgs","repos_url":"https://api.github.com/users/rcavalcanti/repos","events_url":"https://api.github.com/users/rcavalcanti/events{/privacy}","received_events_url":"https://api.github.com/users/rcavalcanti/received_events","type":"User","site_admin":false},"repo":{"id":54745780,"name":"lagom","full_name":"rcavalcanti/lagom","owner":{"login":"rcavalcanti","id":502982,"avatar_url":"https://avatars3.githubusercontent.com/u/502982?v=3","gravatar_id":"","url":"https://api.github.com/users/rcavalcanti","html_url":"https://github.com/rcavalcanti","followers_url":"https://api.github.com/users/rcavalcanti/followers","following_url":"https://api.github.com/users/rcavalcanti/following{/other_user}","gists_url":"https://api.github.com/users/rcavalcanti/gists{/gist_id}","starred_url":"https://api.github.com/users/rcavalcanti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rcavalcanti/subscriptions","organizations_url":"https://api.github.com/users/rcavalcanti/orgs","repos_url":"https://api.github.com/users/rcavalcanti/repos","events_url":"https://api.github.com/users/rcavalcanti/events{/privacy}","received_events_url":"https://api.github.com/users/rcavalcanti/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rcavalcanti/lagom","description":"Reactive Microservices for the JVM","fork":true,"url":"https://api.github.com/repos/rcavalcanti/lagom","forks_url":"https://api.github.com/repos/rcavalcanti/lagom/forks","keys_url":"https://api.github.com/repos/rcavalcanti/lagom/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rcavalcanti/lagom/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rcavalcanti/lagom/teams","hooks_url":"https://api.github.com/repos/rcavalcanti/lagom/hooks","issue_events_url":"https://api.github.com/repos/rcavalcanti/lagom/issues/events{/number}","events_url":"https://api.github.com/repos/rcavalcanti/lagom/events","assignees_url":"https://api.github.com/repos/rcavalcanti/lagom/assignees{/user}","branches_url":"https://api.github.com/repos/rcavalcanti/lagom/branches{/branch}","tags_url":"https://api.github.com/repos/rcavalcanti/lagom/tags","blobs_url":"https://api.github.com/repos/rcavalcanti/lagom/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rcavalcanti/lagom/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rcavalcanti/lagom/git/refs{/sha}","trees_url":"https://api.github.com/repos/rcavalcanti/lagom/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rcavalcanti/lagom/statuses/{sha}","languages_url":"https://api.github.com/repos/rcavalcanti/lagom/languages","stargazers_url":"https://api.github.com/repos/rcavalcanti/lagom/stargazers","contributors_url":"https://api.github.com/repos/rcavalcanti/lagom/contributors","subscribers_url":"https://api.github.com/repos/rcavalcanti/lagom/subscribers","subscription_url":"https://api.github.com/repos/rcavalcanti/lagom/subscription","commits_url":"https://api.github.com/repos/rcavalcanti/lagom/commits{/sha}","git_commits_url":"https://api.github.com/repos/rcavalcanti/lagom/git/commits{/sha}","comments_url":"https://api.github.com/repos/rcavalcanti/lagom/comments{/number}","issue_comment_url":"https://api.github.com/repos/rcavalcanti/lagom/issues/comments{/number}","contents_url":"https://api.github.com/repos/rcavalcanti/lagom/contents/{+path}","compare_url":"https://api.github.com/repos/rcavalcanti/lagom/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rcavalcanti/lagom/merges","archive_url":"https://api.github.com/repos/rcavalcanti/lagom/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rcavalcanti/lagom/downloads","issues_url":"https://api.github.com/repos/rcavalcanti/lagom/issues{/number}","pulls_url":"https://api.github.com/repos/rcavalcanti/lagom/pulls{/number}","milestones_url":"https://api.github.com/repos/rcavalcanti/lagom/milestones{/number}","notifications_url":"https://api.github.com/repos/rcavalcanti/lagom/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rcavalcanti/lagom/labels{/name}","releases_url":"https://api.github.com/repos/rcavalcanti/lagom/releases{/id}","deployments_url":"https://api.github.com/repos/rcavalcanti/lagom/deployments","created_at":"2016-03-25T20:29:03Z","updated_at":"2016-03-25T20:29:06Z","pushed_at":"2017-06-29T14:42:00Z","git_url":"git://github.com/rcavalcanti/lagom.git","ssh_url":"git@github.com:rcavalcanti/lagom.git","clone_url":"https://github.com/rcavalcanti/lagom.git","svn_url":"https://github.com/rcavalcanti/lagom","homepage":"https://lightbend.com/lagom","size":6149,"stargazers_count":0,"watchers_count":0,"language":"Scala","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"lagom:master","ref":"master","sha":"050350f28ca1da587bd4bc04a0c703365bf1b22e","user":{"login":"lagom","id":17168851,"avatar_url":"https://avatars2.githubusercontent.com/u/17168851?v=3","gravatar_id":"","url":"https://api.github.com/users/lagom","html_url":"https://github.com/lagom","followers_url":"https://api.github.com/users/lagom/followers","following_url":"https://api.github.com/users/lagom/following{/other_user}","gists_url":"https://api.github.com/users/lagom/gists{/gist_id}","starred_url":"https://api.github.com/users/lagom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lagom/subscriptions","organizations_url":"https://api.github.com/users/lagom/orgs","repos_url":"https://api.github.com/users/lagom/repos","events_url":"https://api.github.com/users/lagom/events{/privacy}","received_events_url":"https://api.github.com/users/lagom/received_events","type":"Organization","site_admin":false},"repo":{"id":52320967,"name":"lagom","full_name":"lagom/lagom","owner":{"login":"lagom","id":17168851,"avatar_url":"https://avatars2.githubusercontent.com/u/17168851?v=3","gravatar_id":"","url":"https://api.github.com/users/lagom","html_url":"https://github.com/lagom","followers_url":"https://api.github.com/users/lagom/followers","following_url":"https://api.github.com/users/lagom/following{/other_user}","gists_url":"https://api.github.com/users/lagom/gists{/gist_id}","starred_url":"https://api.github.com/users/lagom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lagom/subscriptions","organizations_url":"https://api.github.com/users/lagom/orgs","repos_url":"https://api.github.com/users/lagom/repos","events_url":"https://api.github.com/users/lagom/events{/privacy}","received_events_url":"https://api.github.com/users/lagom/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lagom/lagom","description":"Reactive Microservices for the JVM","fork":false,"url":"https://api.github.com/repos/lagom/lagom","forks_url":"https://api.github.com/repos/lagom/lagom/forks","keys_url":"https://api.github.com/repos/lagom/lagom/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lagom/lagom/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lagom/lagom/teams","hooks_url":"https://api.github.com/repos/lagom/lagom/hooks","issue_events_url":"https://api.github.com/repos/lagom/lagom/issues/events{/number}","events_url":"https://api.github.com/repos/lagom/lagom/events","assignees_url":"https://api.github.com/repos/lagom/lagom/assignees{/user}","branches_url":"https://api.github.com/repos/lagom/lagom/branches{/branch}","tags_url":"https://api.github.com/repos/lagom/lagom/tags","blobs_url":"https://api.github.com/repos/lagom/lagom/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lagom/lagom/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lagom/lagom/git/refs{/sha}","trees_url":"https://api.github.com/repos/lagom/lagom/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lagom/lagom/statuses/{sha}","languages_url":"https://api.github.com/repos/lagom/lagom/languages","stargazers_url":"https://api.github.com/repos/lagom/lagom/stargazers","contributors_url":"https://api.github.com/repos/lagom/lagom/contributors","subscribers_url":"https://api.github.com/repos/lagom/lagom/subscribers","subscription_url":"https://api.github.com/repos/lagom/lagom/subscription","commits_url":"https://api.github.com/repos/lagom/lagom/commits{/sha}","git_commits_url":"https://api.github.com/repos/lagom/lagom/git/commits{/sha}","comments_url":"https://api.github.com/repos/lagom/lagom/comments{/number}","issue_comment_url":"https://api.github.com/repos/lagom/lagom/issues/comments{/number}","contents_url":"https://api.github.com/repos/lagom/lagom/contents/{+path}","compare_url":"https://api.github.com/repos/lagom/lagom/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lagom/lagom/merges","archive_url":"https://api.github.com/repos/lagom/lagom/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lagom/lagom/downloads","issues_url":"https://api.github.com/repos/lagom/lagom/issues{/number}","pulls_url":"https://api.github.com/repos/lagom/lagom/pulls{/number}","milestones_url":"https://api.github.com/repos/lagom/lagom/milestones{/number}","notifications_url":"https://api.github.com/repos/lagom/lagom/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lagom/lagom/labels{/name}","releases_url":"https://api.github.com/repos/lagom/lagom/releases{/id}","deployments_url":"https://api.github.com/repos/lagom/lagom/deployments","created_at":"2016-02-23T01:51:06Z","updated_at":"2017-06-30T09:43:23Z","pushed_at":"2017-06-30T11:07:01Z","git_url":"git://github.com/lagom/lagom.git","ssh_url":"git@github.com:lagom/lagom.git","clone_url":"https://github.com/lagom/lagom.git","svn_url":"https://github.com/lagom/lagom","homepage":"https://www.lagomframework.com","size":6109,"stargazers_count":1400,"watchers_count":1400,"language":"Scala","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":268,"mirror_url":null,"open_issues_count":167,"forks":268,"open_issues":167,"watchers":1400,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lagom/lagom/pulls/841"},"html":{"href":"https://github.com/lagom/lagom/pull/841"},"issue":{"href":"https://api.github.com/repos/lagom/lagom/issues/841"},"comments":{"href":"https://api.github.com/repos/lagom/lagom/issues/841/comments"},"review_comments":{"href":"https://api.github.com/repos/lagom/lagom/pulls/841/comments"},"review_comment":{"href":"https://api.github.com/repos/lagom/lagom/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lagom/lagom/pulls/841/commits"},"statuses":{"href":"https://api.github.com/repos/lagom/lagom/statuses/bd9486064fbb10216eea48525ba99fd99b8c0182"}}}}
{"actor":{"display_login":"ignasi35"}}