{"action":"created","issue":{"url":"https://api.github.com/repos/aerogear/aerogear-unifiedpush-server/issues/522","labels_url":"https://api.github.com/repos/aerogear/aerogear-unifiedpush-server/issues/522/labels{/name}","comments_url":"https://api.github.com/repos/aerogear/aerogear-unifiedpush-server/issues/522/comments","events_url":"https://api.github.com/repos/aerogear/aerogear-unifiedpush-server/issues/522/events","html_url":"https://github.com/aerogear/aerogear-unifiedpush-server/pull/522","id":67157119,"number":522,"title":"Send push messages in batches using JMS","user":{"login":"lfryc","id":425792,"avatar_url":"https://avatars.githubusercontent.com/u/425792?v=3","gravatar_id":"","url":"https://api.github.com/users/lfryc","html_url":"https://github.com/lfryc","followers_url":"https://api.github.com/users/lfryc/followers","following_url":"https://api.github.com/users/lfryc/following{/other_user}","gists_url":"https://api.github.com/users/lfryc/gists{/gist_id}","starred_url":"https://api.github.com/users/lfryc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lfryc/subscriptions","organizations_url":"https://api.github.com/users/lfryc/orgs","repos_url":"https://api.github.com/users/lfryc/repos","events_url":"https://api.github.com/users/lfryc/events{/privacy}","received_events_url":"https://api.github.com/users/lfryc/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2015-04-08T15:34:42Z","updated_at":"2015-04-16T10:47:16Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/aerogear/aerogear-unifiedpush-server/pulls/522","html_url":"https://github.com/aerogear/aerogear-unifiedpush-server/pull/522","diff_url":"https://github.com/aerogear/aerogear-unifiedpush-server/pull/522.diff","patch_url":"https://github.com/aerogear/aerogear-unifiedpush-server/pull/522.patch"},"body":":warning: not for merging, just review (needs to be squashed first)\r\n\r\nhttps://issues.jboss.org/browse/AGPUSH-1348\r\n\r\nThis pull request add two main concepts:\r\n\r\n* JMS queues as a mediator for push message delivery\r\n* Hibernate Queries for device token loading in batch\r\n\r\nYou can see them on this diagram: https://docs.google.com/a/fryc.eu/drawings/d/13IsJWPSJNYXtst-UVxQYmzH36C_EXQMYYr_jcu7nFmE/edit?usp=sharing\r\n\r\nMore details and reasoning about this concept in the ML post: http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-UPS-using-JMS-update-tt11341.html\r\n\r\nTested with WildFly 8.2 and EAP 6.4 beta\r\n\r\n----\r\n\r\nTesting:\r\n\r\na) Try sending message to different supported variant types, perhaps with existing installations (you should see no difference in usage - messages will be delivered as they eves was)\r\n\r\nb1) register more than 1000 installations to see batching in action, OR register more than 10.000 messages to see batching with continuation in subsequent transaction\r\n\r\nb2) change constants `BATCH_SIZE=2` and `NUMBER_OF_BATCHES=3` in `TokenLoader` a bit so that you will be able to test (b1) even with much smaller number of installations"},"comment":{"url":"https://api.github.com/repos/aerogear/aerogear-unifiedpush-server/issues/comments/93706035","html_url":"https://github.com/aerogear/aerogear-unifiedpush-server/pull/522#issuecomment-93706035","issue_url":"https://api.github.com/repos/aerogear/aerogear-unifiedpush-server/issues/522","id":93706035,"user":{"login":"lfryc","id":425792,"avatar_url":"https://avatars.githubusercontent.com/u/425792?v=3","gravatar_id":"","url":"https://api.github.com/users/lfryc","html_url":"https://github.com/lfryc","followers_url":"https://api.github.com/users/lfryc/followers","following_url":"https://api.github.com/users/lfryc/following{/other_user}","gists_url":"https://api.github.com/users/lfryc/gists{/gist_id}","starred_url":"https://api.github.com/users/lfryc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lfryc/subscriptions","organizations_url":"https://api.github.com/users/lfryc/orgs","repos_url":"https://api.github.com/users/lfryc/repos","events_url":"https://api.github.com/users/lfryc/events{/privacy}","received_events_url":"https://api.github.com/users/lfryc/received_events","type":"User","site_admin":false},"created_at":"2015-04-16T10:47:16Z","updated_at":"2015-04-16T10:47:16Z","body":"Thanks for claritification @gunnarmorling \r\n\r\nI believe this PR is ready to be merged then."}}