I am trying to remove certain users from confluence as a bulk operation. I see that a call to this method takes close to 30 sec for one user. To delete 50 users, it takes 25 min. UserAccessor.removeUsers removes the users association with groups before removing the user. I tried doing this myself but I dont see any performance improvement. This is the code i am using:
User user = userAccessor.getUserIfAvailable(email);
if (user != null) {
Pager<Group> pager = groupManager.getGroups(user);
Iterator pgit = pager.iterator();
while(pgit.hasNext()){
Group g = (Group)pgit.next();
groupManager.removeMembership(g, user);
LOG.debug("Removed membership="+g.getName());
}
userAccessor.removeUser(user);
LOG.debug(count+". Removed user=" + email);
count++;
}
Since I need to delete about 1000 users, this is taking a lot of time. Anybody know how to speed up the process?