I am using LCDS 2.6 in my application. My application is using DMS to pull data from the EhCache which inturn gets refreshed from the database. Now once I receive a piece of data, it will not change in the future. Only new data would get appended to it. Hence I would just be needing the differential data and not the entire data. Currently after a regular interval, I use the DataService to hit the cache and get the whole data again which includes the older data as well as the newly appended data since I have the VOs mapped on both Flex and java ends using assemblers.
What I now want is that I don't want to again pull the data that has already come in. I just need the new data that has got appended to the original data. Is there any way that the LCDS would itself get to know about the differential data and notify the client.
Please note that the LCDS service hits the EhCache using assemblers and is not directly mapped to the database.
I am currently in the design phase and would really need help on this.
Looking forward to your replies on this.
Thanks and Regards,
I believe data is being added to the store (in this case EhCache) from some other location. You need to notify LCDS that you are adding/removing/modifying data in the store directly, LCDS will then evaluate the change and send updates to relevant clients.
You do this using the DataServiceTransaction API. http://help.adobe.com/en_US/livecycle/9.0/programLC/javadoc/flex/data/DataServiceTransacti on.html
Inside the same webapp as the one in which LCDS is running, on adding an object, you need to begin() a DST, call createItem() to notify LCDS that you have added a new item and then commit() the DST to send messages to clients.