dynamicGroupsListenerAdapter

This commit is contained in:
MaxKey 2023-09-26 15:07:13 +08:00
parent c717ea7892
commit d7e94db901
3 changed files with 18 additions and 18 deletions

View File

@ -65,7 +65,7 @@ public class GroupsService extends JpaService<Groups> implements Serializable {
}
public List<Groups> queryDynamicRoles(Groups groups){
public List<Groups> queryDynamicGroups(Groups groups){
return this.getMapper().queryDynamic(groups);
}
@ -143,13 +143,13 @@ public class GroupsService extends JpaService<Groups> implements Serializable {
}
}
public void refreshAllDynamicRoles(){
public void refreshAllDynamicGroups(){
List<Institutions> instList =
institutionsService.find("where status = ? ", new Object[]{ConstsStatus.ACTIVE}, new int[]{Types.INTEGER});
for(Institutions inst : instList) {
Groups group = new Groups();
group.setInstId(inst.getId());
List<Groups> groupsList = queryDynamicRoles(group);
List<Groups> groupsList = queryDynamicGroups(group);
for(Groups g : groupsList) {
_logger.debug("role {}" , g);
refreshDynamicRoles(g);

View File

@ -19,7 +19,7 @@ package org.dromara.maxkey.autoconfigure;
import org.dromara.maxkey.authn.session.SessionManager;
import org.dromara.maxkey.configuration.ApplicationConfig;
import org.dromara.maxkey.listener.DynamicRolesListenerAdapter;
import org.dromara.maxkey.listener.DynamicGroupsListenerAdapter;
import org.dromara.maxkey.listener.ListenerAdapter;
import org.dromara.maxkey.listener.ListenerParameter;
import org.dromara.maxkey.listener.SessionListenerAdapter;
@ -57,21 +57,21 @@ public class MaxKeyMgtListenerConfig implements InitializingBean {
}
@Bean
public String dynamicRolesListenerAdapter(
public String dynamicGroupsListenerAdapter(
Scheduler scheduler,
GroupsService rolesService,
GroupsService groupsService,
@Value("${maxkey.job.cron.schedule}") String cronSchedule
) throws SchedulerException {
ListenerAdapter.addListener(
DynamicRolesListenerAdapter.class,
DynamicGroupsListenerAdapter.class,
scheduler,
new ListenerParameter().add("rolesService",rolesService).build(),
new ListenerParameter().add("groupsService",groupsService).build(),
cronSchedule,
DynamicRolesListenerAdapter.class.getSimpleName()
DynamicGroupsListenerAdapter.class.getSimpleName()
);
logger.debug("DynamicRoles ListenerAdapter inited .");
return "dynamicRolesListenerAdapter";
logger.debug("DynamicGroups ListenerAdapter inited .");
return "dynamicGroupsListenerAdapter";
}
@Bean

View File

@ -25,12 +25,12 @@ import org.quartz.JobExecutionContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class DynamicRolesListenerAdapter extends ListenerAdapter implements Job , Serializable {
static final Logger logger = LoggerFactory.getLogger(DynamicRolesListenerAdapter.class);
public class DynamicGroupsListenerAdapter extends ListenerAdapter implements Job , Serializable {
static final Logger logger = LoggerFactory.getLogger(DynamicGroupsListenerAdapter.class);
private static final long serialVersionUID = 8831626240807856084L;
private GroupsService rolesService = null;
private GroupsService groupsService = null;
@Override
public void execute(JobExecutionContext context){
@ -41,8 +41,8 @@ public class DynamicRolesListenerAdapter extends ListenerAdapter implements Job
logger.debug("running ... " );
jobStatus = JOBSTATUS.RUNNING;
try {
if(rolesService != null) {
rolesService.refreshAllDynamicRoles();
if(groupsService != null) {
groupsService.refreshAllDynamicGroups();
Thread.sleep(10 * 1000);//10 minutes
}
logger.debug("finished " );
@ -56,8 +56,8 @@ public class DynamicRolesListenerAdapter extends ListenerAdapter implements Job
@Override
void init(JobExecutionContext context){
super.init(context);
if(rolesService == null) {
rolesService = getParameter("rolesService",GroupsService.class);
if(groupsService == null) {
groupsService = getParameter("groupsService",GroupsService.class);
}
}