mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-08 01:48:33 +08:00
dynamicGroupsListenerAdapter
This commit is contained in:
parent
c717ea7892
commit
d7e94db901
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user