[aerogear-dev] UPS using JMS update

Lukáš Fryč lukas.fryc at gmail.com
Fri Apr 3 04:34:34 EDT 2015


Hi guys,

so as outlined in previous thread [1], I have prototyped a JMS batching
approach for push message delivery.




We've discussed the approach with Matthias, Mirek Novak and Ondrej
Chaloupka (EAP QE & JMS/JTA experts, thank you guys!) and these documents
describes a concept that we have came with:

Diagram:
https://docs.google.com/a/fryc.eu/drawings/d/13IsJWPSJNYXtst-UVxQYmzH36C_EXQMYYr_jcu7nFmE/edit?usp=sharing

Text Doc:
https://docs.google.com/document/d/1X65P_U9O62Z5JZhKi9ZvBuZU1OrL4pNHNddlzJK6rMg/edit?usp=sharing






Implementation-wise, I've so far prototyped the messaging part (split
SenderService functionality to two subsequent queues with MDBs as shown on
diagram),

but that's just a start, since we must configure it appropriately for
efficiency (queue configuration and batch sizes) and verify that
configuration works as expected,

the prototype lives on a branch (unpolished, to be squashed later):
https://github.com/lfryc/aerogear-unifiedpush-server/tree/jms-batching

Off course, you can play with it already. :-)





Apart from the new requirement of using Java EE full profile (JMS), the
prototype leverages implementation-specific configurations and APIs:

   - org.hibernate.Query for token streaming / batch fetching
   - HornetQ configurations of queue size, blocking behavior and message
   de-duplication

That pretty much binds us to WildFly/EAP - we can tweak it to run on any
compliant app server, but without specific configurations it won't work
properly.



Once configured and functionally tested (that can even wait for Beta2 I
guess),

we can cooperate with Mobile QE on testing (Stefan, Adam), their test suite
contains mocks of APNS/GCM against which we can load test.



Cheers!

~ Lukas


[1]
http://aerogear-dev.1069024.n5.nabble.com/aerogear-dev-UnifiedPush-new-requirement-JMS-Java-EE-Full-profile-tp11268.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150403/120a1db9/attachment.html 


More information about the aerogear-dev mailing list