{"action":"created","issue":{"url":"https://api.github.com/repos/spring-projects/spring-boot/issues/5031","repository_url":"https://api.github.com/repos/spring-projects/spring-boot","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/5031/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/5031/comments","events_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/5031/events","html_url":"https://github.com/spring-projects/spring-boot/issues/5031","id":128892711,"number":5031,"title":"Adding Additional Configuration Properties to RabbitAutoConfiguration","user":{"login":"coreyjv","id":2730750,"avatar_url":"https://avatars.githubusercontent.com/u/2730750?v=3","gravatar_id":"","url":"https://api.github.com/users/coreyjv","html_url":"https://github.com/coreyjv","followers_url":"https://api.github.com/users/coreyjv/followers","following_url":"https://api.github.com/users/coreyjv/following{/other_user}","gists_url":"https://api.github.com/users/coreyjv/gists{/gist_id}","starred_url":"https://api.github.com/users/coreyjv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreyjv/subscriptions","organizations_url":"https://api.github.com/users/coreyjv/orgs","repos_url":"https://api.github.com/users/coreyjv/repos","events_url":"https://api.github.com/users/coreyjv/events{/privacy}","received_events_url":"https://api.github.com/users/coreyjv/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-projects/spring-boot/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/spring-projects/spring-boot/labels/ideal-for-contribution","name":"ideal-for-contribution","color":"bfe5bf"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-01-26T17:52:45Z","updated_at":"2016-02-29T13:41:56Z","closed_at":null,"body":"In our environment there are a number of configuration properties that we set on a `com.rabbitmq.client.ConnectionFactory` that are not exposed via `RabbitAutoConfiguration` and `RabbitProperties`. This prevents us from using the `RabbitAutoConfiguration`. The properties that we're interested in are `automaticRecovery` and `networkRecoveryInterval`.\r\n\r\nI can submit a PR with the changes (as well as any other properties you may want to expose through the auto-configuration) but I wanted to ask prior to submitting the PR.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/spring-projects/spring-boot/issues/comments/190216167","html_url":"https://github.com/spring-projects/spring-boot/issues/5031#issuecomment-190216167","issue_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/5031","id":190216167,"user":{"login":"garyrussell","id":483832,"avatar_url":"https://avatars.githubusercontent.com/u/483832?v=3","gravatar_id":"","url":"https://api.github.com/users/garyrussell","html_url":"https://github.com/garyrussell","followers_url":"https://api.github.com/users/garyrussell/followers","following_url":"https://api.github.com/users/garyrussell/following{/other_user}","gists_url":"https://api.github.com/users/garyrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/garyrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garyrussell/subscriptions","organizations_url":"https://api.github.com/users/garyrussell/orgs","repos_url":"https://api.github.com/users/garyrussell/repos","events_url":"https://api.github.com/users/garyrussell/events{/privacy}","received_events_url":"https://api.github.com/users/garyrussell/received_events","type":"User","site_admin":false},"created_at":"2016-02-29T13:41:55Z","updated_at":"2016-02-29T13:41:55Z","body":"Spring AMQP is not compatible with RabbitMQ auto recovery.\r\n\r\nSpring AMQP has had its own recovery mechanism (that predated the (now) inbuilt recovery) on day 1.\r\n\r\nThe problem is that the listener container consumers terminate when the connection is lost; when rabbit recovers the consumers, there is no code using them so they just sit idle.\r\n\r\nTo avoid this problem, the container physically closes its channels when the connection is lost, effectively disabling auto recovery (on the consumer side).\r\n\r\nChanging Spring AMQP to use the native recovery will need a complete rewrite of the listener container (which we are considering for a release next year).\r\n\r\nThere might be some benefit to auto recovery on the producer side, but Spring AMQP's solution there is to configure a `RetryTemplate` (from `spring-retry`) into the `RabbitTemplate`."}}