public void refreshService(String subdomain) {
        Log.debug("Refreshing MUC service {} from the database.", subdomain);
        if (!mucServices.containsKey(subdomain)) {
            throw new IllegalArgumentException("Cannot refresh a MUC service that is not loaded: " + subdomain);
        }
        Connection con = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            con = DbConnectionManager.getConnection();
            pstmt = con.prepareStatement(LOAD_SERVICE);
            pstmt.setString(1, subdomain);
            rs = pstmt.executeQuery();
            if (rs.next()) {
                String description = rs.getString(1);
                Boolean isHidden = Boolean.valueOf(rs.getString(2));
                ((MultiUserChatServiceImpl)mucServices.get(subdomain)).setDescription(description);
                ((MultiUserChatServiceImpl)mucServices.get(subdomain)).setHidden(isHidden);
            }
            else {
                throw new Exception("Unable to locate database row for subdomain " + subdomain);
            }
        }
        catch (Exception e) {
            Log.error("A database exception occurred while trying to refresh MUC service '{}' from the database.", subdomain, e);
        }
        finally {
            DbConnectionManager.closeConnection(rs, pstmt, con);
        }
        Log.trace("Refreshed MUC service '{}'", subdomain);
    }
Updates the in-memory representation of a previously loaded services from the database.

This call will modify database-stored characteristics for a service previously loaded to memory on the local
cluster node. An exception will be thrown if used for a service that's not in memory.

Note that this method will not cause MUCServiceProperties to be reloaded. It only operates on fields like the
service description.

This method is primarily useful to cause a service to reload its state from the database after it was changed on
another cluster node.

@param subdomain the domain of the service to refresh
xmppserver/src/main/java/org/jivesoftware/openfire/muc/MultiUserChatManager.java