{"action":"created","issue":{"url":"https://api.github.com/repos/spring-projects/spring-integration/issues/1493","labels_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/1493/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/1493/comments","events_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/1493/events","html_url":"https://github.com/spring-projects/spring-integration/pull/1493","id":93126609,"number":1493,"title":"INT-2166: Add SecurityContext Propagation","user":{"login":"artembilan","id":1071590,"avatar_url":"https://avatars.githubusercontent.com/u/1071590?v=3","gravatar_id":"","url":"https://api.github.com/users/artembilan","html_url":"https://github.com/artembilan","followers_url":"https://api.github.com/users/artembilan/followers","following_url":"https://api.github.com/users/artembilan/following{/other_user}","gists_url":"https://api.github.com/users/artembilan/gists{/gist_id}","starred_url":"https://api.github.com/users/artembilan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artembilan/subscriptions","organizations_url":"https://api.github.com/users/artembilan/orgs","repos_url":"https://api.github.com/users/artembilan/repos","events_url":"https://api.github.com/users/artembilan/events{/privacy}","received_events_url":"https://api.github.com/users/artembilan/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-07-05T17:03:16Z","updated_at":"2015-07-20T20:26:00Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/spring-projects/spring-integration/pulls/1493","html_url":"https://github.com/spring-projects/spring-integration/pull/1493","diff_url":"https://github.com/spring-projects/spring-integration/pull/1493.diff","patch_url":"https://github.com/spring-projects/spring-integration/pull/1493.patch"},"body":"JIRA: https://jira.spring.io/browse/INT-2166\r\n\r\n* Introduce `ThreadStatePropagationChannelInterceptor` based on the `ExecutorChannelInterceptor`\r\n* Add `SecurityContextPropagationChannelInterceptor`,`SecurityContextCleanupChannelInterceptor`\r\n* Introduce `AbstractExecutorChannel` to utilize `ExecutorChannelInterceptor` logic\r\n* Introduce `MessageHandlingTaskDecorator` to avoid package tangle from `dispatcher` and `channel`\r\n* Introduce `SecurityContextCleanupAdvice` for those cases when we don't get deal with `MessageChannel`s already, but want to have proper way to cleanup `SecurityContext`\r\n* Make `GlobalChannelInterceptorProcessor` as `SmartInitializingSingleton` to avoid `phase` conflicts.\r\n* Fix `MessagingAnnotationPostProcessor` to use `beanFactory.initializeBean(endpoint, endpointBeanName);` instead of manual `start()` invocation bypassing the `phase` logic, hence having a bug, when endpoints have been started very early\r\n* Optimise `AbstractPollableChannel` to use `size` field from `ChannelInterceptorList` instead of `size()` from `Collection<?>`\r\n* Fix `AnnotatedEndpointActivationTests` extracting separate component for annotation configuration instead of using test class directly. This caused very late Messaging Annotations process on that class\r\n* Fix typo in the `spring-integration-jdbc-4.2.xsd`\r\n* Remove some `SOUT`s throughout the project\r\n\r\nTODO Docs"},"comment":{"url":"https://api.github.com/repos/spring-projects/spring-integration/issues/comments/123022181","html_url":"https://github.com/spring-projects/spring-integration/pull/1493#issuecomment-123022181","issue_url":"https://api.github.com/repos/spring-projects/spring-integration/issues/1493","id":123022181,"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":"2015-07-20T20:26:00Z","updated_at":"2015-07-20T20:26:00Z","body":"Doc polishing here: https://github.com/garyrussell/spring-integration/commit/2f4dcfa8cc70e69e75125589ff8021345a96a735"}}