Hi All, Currently for AMQP, message were delivered to subscribers through creating a job and submitting it to the sequential thread pool executor.
MQTT protocol engine we use [1] is architectured to deliver messages to the subscribers through a Distruptor ring, which is a single threaded operation and defining a thread pool executor would not make and impact in this case IMO. Hence a method was added for synchronous delivery. The flow would look like the following, (1) Message taken from the store (slot delivery worker) - > (2) MessageFlusher (the former QueueDeliveryWorker which was renamed) - > (3) identify the type of subscription (4) if the subscription is AMQP related -> we use the Async delivery method (5) if the subscription is MQTT related -> we add the message directly to distruptor ring through the MQTTBridge synchronously. WDYT ? do point out if there're any implications to the above model. [1] https://projects.eclipse.org/proposals/moquette-mqtt -- *Pamod Sylvester * *Senior Software Engineer * Integration Technologies Team, WSO2 Inc.; http://wso2.com email: pa...@wso2.com cell: +94 77 7779495
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev