We have developed a Twitter application based on SGMP; application has an ECBO connector and the client can seamlessly synchronize the data with it. Later we have developed Advertisement application that required a new ECBO connector. Our plan is to synchronize the Advertisement application's data onto Twitter Client. Hence, we have deployed two connectors in SGMP and used two Sync Managers in Twitter client to synchronize each application's data. Everything works fine in Blackberry and Sun simulators but does not work in the real Storm. The following things we have observed:
1) Twitter client with only one Sync Manager works fine in real Storm.
2) Twitter client with two Sync Managers works fine in both sun and blackberry simulators.
3) Twitter client with two Sync Managers does not work in real storm. We did several tests and concluded that the second sync manager is unable to synchronize the data.
I would really appreciate people's solutions to the problem.
Can you tell me which version of SGMP you're using? It would also be helpful if you could show me how you're initializing the two SyncManager instances.
We've recently discovered and fixed a bug in the client sync library related to applications that sync with multiple connectors. I'm not sure that's what you're hitting since you say that the dual-sync works fine in the emulators.
If possible, please enable logging in both SyncManager instances - this will cause a log file to be written to the file system. Then run the app in the emulator and on the device so I can compare the log files. The file name is meplog.txt and it should be located in whatever directory is returned from SyncManager.getFilesystemRoot() (assuming you're using SGMP 1.1).
The syncs are happening sequentially. The first sync (with one connector) happens fine and the second sync (with a different connector) does not. Then, I reversed the sync manager initialization and observed the same pattern. Since I did not enable logging it is difficult for me to tell whether the failure is happening during initialization or actual syncs.