gluu
公開メンバ関数 | 静的公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.ldap.service.StatusCheckerDaily クラス
org.gluu.oxtrust.ldap.service.StatusCheckerDaily 連携図
Collaboration graph

公開メンバ関数

void initTimer ()
 
void process (@Observes @Scheduled StatusCheckerDailyEvent statusCheckerDailyEvent)
 

静的公開変数類

static final int DEFAULT_INTERVAL = 60 * 60 * 24
 

非公開メンバ関数

void processInt ()
 

非公開変数類

Logger log
 
Event< TimerEvent > timerEvent
 
ApplianceService applianceService
 
IGroupService groupService
 
IPersonService personService
 
CentralLdapService centralLdapService
 
ConfigurationFactory configurationFactory
 
AtomicBoolean isActive
 

詳解

関数詳解

◆ initTimer()

void org.gluu.oxtrust.ldap.service.StatusCheckerDaily.initTimer ( )
inline
59  {
60  log.info("Initializing Daily Status Cheker Timer");
61  this.isActive = new AtomicBoolean(false);
62 
63  final int delay = 1 * 60;
64  final int interval = DEFAULT_INTERVAL;
65 
66  timerEvent.fire(new TimerEvent(new TimerSchedule(delay, interval), new StatusCheckerDailyEvent(),
67  Scheduled.Literal.INSTANCE));
68  }
static final int DEFAULT_INTERVAL
Definition: StatusCheckerDaily.java:34
Event< TimerEvent > timerEvent
Definition: StatusCheckerDaily.java:40
AtomicBoolean isActive
Definition: StatusCheckerDaily.java:57
Logger log
Definition: StatusCheckerDaily.java:37

◆ process()

void org.gluu.oxtrust.ldap.service.StatusCheckerDaily.process ( @Observes @Scheduled StatusCheckerDailyEvent  statusCheckerDailyEvent)
inline
71  {
72  if (this.isActive.get()) {
73  return;
74  }
75 
76  if (!this.isActive.compareAndSet(false, true)) {
77  return;
78  }
79 
80  try {
81  processInt();
82  } finally {
83  this.isActive.set(false);
84  }
85  }
AtomicBoolean isActive
Definition: StatusCheckerDaily.java:57
void processInt()
Definition: StatusCheckerDaily.java:95

◆ processInt()

void org.gluu.oxtrust.ldap.service.StatusCheckerDaily.processInt ( )
inlineprivate

Gather periodically site and server status

引数
whenDate
intervalInterval
95  {
96  log.debug("Starting daily status checker");
97  AppConfiguration appConfiguration = configurationFactory.getAppConfiguration();
98  if (!appConfiguration.isUpdateApplianceStatus()) {
99  return;
100  }
101 
102  log.debug("Getting data from ldap");
103  int groupCount = groupService.countGroups();
104  int personCount = personService.countPersons();
105 
106  GluuAppliance appliance = applianceService.getAppliance();
107 
108  log.debug("Setting ldap attributes");
109  appliance.setGroupCount(String.valueOf(groupCount));
110  appliance.setPersonCount(String.valueOf(personCount));
111  appliance.setGluuDSStatus(Boolean.toString(groupCount > 0 && personCount > 0));
112 
113  Date currentDateTime = new Date();
114  appliance.setLastUpdate(currentDateTime);
115 
117 
119  try {
120  GluuAppliance tmpAppliance = new GluuAppliance();
121  tmpAppliance.setDn(appliance.getDn());
122  boolean existAppliance = centralLdapService.containsAppliance(tmpAppliance);
123 
124  if (existAppliance) {
126  } else {
127  centralLdapService.addAppliance(appliance);
128  }
129  } catch (BasePersistenceException ex) {
130  log.error("Failed to update appliance at central server", ex);
131  return;
132  }
133  }
134 
135  log.debug("Daily Appliance status update finished");
136  }
void updateAppliance(GluuAppliance appliance)
Definition: ApplianceService.java:75
GluuAppliance getAppliance(String[] returnAttributes)
Definition: ApplianceService.java:111
CentralLdapService centralLdapService
Definition: StatusCheckerDaily.java:52
IGroupService groupService
Definition: StatusCheckerDaily.java:46
IPersonService personService
Definition: StatusCheckerDaily.java:49
ApplianceService applianceService
Definition: StatusCheckerDaily.java:43
boolean isUseCentralServer()
Definition: CentralLdapService.java:62
boolean containsAppliance(GluuAppliance appliance)
Definition: CentralLdapService.java:58
void addAppliance(GluuAppliance appliance)
Definition: CentralLdapService.java:39
void updateAppliance(GluuAppliance appliance)
Definition: CentralLdapService.java:49
Logger log
Definition: StatusCheckerDaily.java:37
AppConfiguration getAppConfiguration()
Definition: ConfigurationFactory.java:276
ConfigurationFactory configurationFactory
Definition: StatusCheckerDaily.java:55

メンバ詳解

◆ applianceService

ApplianceService org.gluu.oxtrust.ldap.service.StatusCheckerDaily.applianceService
private

◆ centralLdapService

CentralLdapService org.gluu.oxtrust.ldap.service.StatusCheckerDaily.centralLdapService
private

◆ configurationFactory

ConfigurationFactory org.gluu.oxtrust.ldap.service.StatusCheckerDaily.configurationFactory
private

◆ DEFAULT_INTERVAL

final int org.gluu.oxtrust.ldap.service.StatusCheckerDaily.DEFAULT_INTERVAL = 60 * 60 * 24
static

◆ groupService

IGroupService org.gluu.oxtrust.ldap.service.StatusCheckerDaily.groupService
private

◆ isActive

AtomicBoolean org.gluu.oxtrust.ldap.service.StatusCheckerDaily.isActive
private

◆ log

Logger org.gluu.oxtrust.ldap.service.StatusCheckerDaily.log
private

◆ personService

IPersonService org.gluu.oxtrust.ldap.service.StatusCheckerDaily.personService
private

◆ timerEvent

Event<TimerEvent> org.gluu.oxtrust.ldap.service.StatusCheckerDaily.timerEvent
private

このクラス詳解は次のファイルから抽出されました: