Reading the JavaDocs for the DataProvider interface (subscribe / unsubscribe methods), it says:
"The method should perform as fast as possible. If the implementation is slow because of complex subscription activation operations, it might delay a subsequent unsubscription and resubscription of the same item. In that case, configuring a dedicated "DATA" thread pool for this Data Adapter is recommended, in order not to block operations for different Data Adapters."
Is there any example of how to setup a dedicated "DATA" thread pool? Also, even with a thread pool, you'd delay the first subscription to the item, right? Next subscriptions to the same item would be taken care of by the LS server, so no delay.
Our case is exactly that: in the subscribe method we need to perform a HTTP call. I guess that's considered "not fast" in terms of what your documentation says?
Another option would be to use a queue, and the subscribe / un-subscribe methods only push to that queue (the queue would be polled from another thread). The problem with that would be, for example: what if the HTTP call fails, or the item is not valid... Whatever reason it is, we wouldn't be able to throw a SubscriptionException.
If there any other possibility?
Thanks in advance!