We have one more issue/concern with our application that every user is in the roster list of other user.
We have one group where every new user joins and automatically added to the roster list of other user.
What we need is every user should have only 2 users in its roster list (1 user is one of our listener and one more user).
This condition we need for all of our 3000 users. That way we can reduce the cache size of roster and unneeded stanzes flow between roster list of other users.
Please help as we dont know how to do this through Openfire admin GUI or using code.
I am getting **SharedGroupException, **while removing the roster item from user group.
Also If we go this way then we need sent around 3000*2998 request .
I think we are doing wrong in contact list sharing settings. Currently we have enabled contact list group sharing for our single group with all users. Is this the problem?? I think due to this each user is in the roster list of every user.
I am having a difficult time understanding your shared roster requirement. You mention a listener user, but who is the other user to be in your shared roster?
I see new problem after applying the suggested solution.
Now I have one group with the two users and I shared that group with all users , now every user has this two user in their roster list , thats perfect now.
But the two user (listerner and other user) do not have all the other user in their roster list, they have only one user i.e. the other one in the same group , but we want that this two user should have all the user in their roster list , which is not happening.
Okay is this possible in Openfire that if user A is in the contact list of user B then automatically user B added in roster list of user A. If that can be achieved , then issue can be resolved.
Okay is this possible in Openfire that if user A is in the contact list of user B then automatically user B added in roster list of user A.
No. Every user has to add another user to their roster, or you should do this via shared groups ( iget that shared groups not doing what you want, then you are out of options, unless you change the code of Openfire to do as you need).
So what should be the other solution for our issue , as currently we have around 2000 users and current roster size is like 200 Mb and we are expecting to have around 5000 users , after that roster cache will be adhoc to openfire performance because openifre will be having huge roster cache in memory increasing the chances of OOME.
Are their any system properties that we can tune to increase the performance.
Here’s a document about configuring the caches, though i don’t know whether it will help or will you find anything useful for your case. And, you can install more RAM.
Coming back to this thread as can we do this programmaticaly ? Means can we add all other user in the system to this two user roster using some sort of code. That way using shared group this two user will be in the roster list of every other user and using code we can add all the other user in this two user roster list.