Hey,

So I went through a .Net Adapter code and came across the DataAdapterLauncher code which "creates a DataProviderServer instance and assigns a HelloWorldAdapter instance to it." So is there a way I could do this with my Java Data Adapter too? I am trying to provide data to my Java Data Adapter through a Kafka queue which in turn gets data from a apache Storm bolt. Kindly help.

Thank you,
Priyanka
Hi Priyanka,

let me first clarify that .Net Adapter is a Remote Adapter, that means it executes in a separate process, outside the JVM process actually running the Lightstreamer Server.
That has been done to supply a way to physically decoupling the code of the Server from the code of the Adapter, in order to provide a better usage of resources from one hand, and the possibility to use any other language with a basic support for TCP sockets on the other hand.
If you want to keep using Java, you have the double choice to use either an "In-process" or a "Remote" Adapter Set.
Please have a look the API Specifications: Coming back to your question, I am sorry but I am not an expert of Kafka, but you should be able to use the Consumer Api from your In-Process Java Adapter, in order to consume a message from the broker and then forward it to Lightstreamer clients, by providing a proper transformation of such message into an event to be pushed through the ItemEventListener .

Hope this helps.
Gianluca
Hey,

Thank you for helping! :Smile_Ab: Though I've come across 2 other doubts which I have.

1) We are trying to build a lightstreamer architecture for stock market consumer clients to be able to consume data filtered based on region, country name, strategy & then security names (basically its a drill- down approach filtration) where our consumer client can subscribe to items based on the filtration they subscribe to. So, can a consumer client on lightstreamer be able to consume data filtered on multiple levels so that the data requested is available only to that particular client? If yes, then how?

2) Where does lightstreamer store the data fed on its server before it is consumed? What is the internal hardware involved? Is there an inbuilt queue of some sort & some offset mechanism involved in lighstreamer where I can start consuming data from a particular offset (only the latest & not the previous messages like in Kafka) ?

Thanks in advance,
Priyanka
Priyanka
Hi Priyanka,


1) We are trying to build a lightstreamer architecture for stock market consumer clients to be able to consume data filtered based on region, country name, strategy & then security names (basically its a drill- down approach filtration) where our consumer client can subscribe to items based on the filtration they subscribe to. So, can a consumer client on lightstreamer be able to consume data filtered on multiple levels so that the data requested is available only to that particular client? If yes, then how?



A possibility is to leverage the getItems method of the MetadataProvider interface, which you can implement to customize the items to subscribe to on the basis of the user who is issuing the request.


2) Where does lightstreamer store the data fed on its server before it is consumed? What is the internal hardware involved? Is there an inbuilt queue of some sort & some offset mechanism involved in lighstreamer where I can start consuming data from a particular offset (only the latest & not the previous messages like in Kafka) ?



To get more in-depth details about Lightstreamer internals, you might want to take a look at Paragraph 3.3.5 of the General Concept document. That said, it is no clear to me what you mean about "internal hardware".
Data are consumed at client side, and the way it is done depends on the kind of subscription model chosen. You can dive into all these details by looking at the Paragraph 3 of the aforementioned document.

Let us know if you need any clarifications on some specific point.
Regards,
Gianluca