If we submit all push messages in a certain topic (see AGPUSH-2159) then instead of all processing in [send method|https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/sender/PushNotificationSenderEndpoint.java#L108], we can try to make the same with Kafka streams over the topic. So that after the processing each message can be sent to another topic depending on its variantType. These topics will be something similar to the JMS queues: {code} @Resource(mappedName = "java:/queue/ AdmTokenBatchQueue AdmPushMessageQueue ") private Queue admTokenBatchQueue admPushMessageQueue ;
@Resource(mappedName = "java:/queue/ APNsTokenBatchQueue APNsPushMessageQueue ") private Queue apnsTokenBatchQueue apnsPushMessageQueue ;
@Resource(mappedName = "java:/queue/ GCMTokenBatchQueue GCMPushMessageQueue ") private Queue gcmTokenBatchQueue gcmPushMessageQueue ;
@Resource(mappedName = "java:/queue/ MPNSTokenBatchQueue MPNSPushMessageQueue ") private Queue mpnsTokenBatchQueue mpnsPushMessageQueue ;
@Resource(mappedName = "java:/queue/ SimplePushTokenBatchQueue SimplePushMessageQueue ") private Queue simplePushTokenBatchQueue simplePushMessageQueue ;
@Resource(mappedName = "java:/queue/ WNSTokenBatchQueue WNSPushMessageQueue ") private Queue wnsTokenBatchQueue wnsPushMessageQueue ;
{code} |
|