1
votes

I am implementing xmpp chat server with openfire and mysql. Openfire does create a lot of tables in the db. It has roster table but only adding rows there doesn't creates roster where as adding rows in the user table creates the user and I am able to login with the user. So my question is does openfire stores the rosters anywhere else because if I delete the entries from the roster table it still shows previous roster.

2

2 Answers

1
votes

Deleting roster does reflect on the roster but it will take some time as openfire store cache. If you go to Server manager->cache summary you can see the list of cache. Just delete the Roster cache, you can see that roseters are same as it is in the database. i don't think openfire store roster values anywhere else. And if you add/delete roster do it with User service plugin or make your own plugin with java don't just delete/update it on database.

0
votes

It likely caches the roster in memory. If you were to stop the server, make the database change, then start the server, you might see the changes reflected. That doesn't work well in practice, so you may need to use protocol to change the roster.