|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.rhq.enterprise.server.cloud.PartitionEventManagerBean
public class PartitionEventManagerBean
This session beans acts as the underlying implementation the distribution algorithm will
interact. The distribution algorithm runs as a result of various changes in the system
including but not limited to: newly registering agents, currently connecting agents, cloud
membership changes (server added/removed), and redistributions according to agent load. Each
of these changes is captured as a PartitionEvent, and the distribution will either
need to generated a single (or a set of) FailoverList objects that are sent down to
the connected agents. The agents then use these lists to determine which server to fail over
to, if their primary server is unreachable and/or goes down.
| Constructor Summary | |
|---|---|
PartitionEventManagerBean()
|
|
| Method Summary | |
|---|---|
org.rhq.core.domain.cloud.composite.FailoverListComposite |
agentPartitionEvent(org.rhq.core.domain.auth.Subject subject,
String agentName,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
|
void |
auditPartitionEvent(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
This call performs no partitioning activity, it only audits that some event has taken place that could affect, or contribute to, a future partitioning. |
Map<org.rhq.core.domain.resource.Agent,org.rhq.core.domain.cloud.composite.FailoverListComposite> |
cloudPartitionEvent(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
This call performs a full repartitioning of the agent population at the time of the call. |
void |
cloudPartitionEventRequest(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
This call requests full repartitioning of the agent population by the recurring cluster manager job. |
void |
createPartitionEvent(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEvent partitionEvent)
|
void |
deletePartitionEvents(org.rhq.core.domain.auth.Subject subject,
Integer[] partitionEventIds)
This is primarily a test entry point. |
org.rhq.core.domain.cloud.PartitionEvent |
getPartitionEvent(org.rhq.core.domain.auth.Subject subject,
int partitionEventId)
|
org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.PartitionEventDetails> |
getPartitionEventDetails(org.rhq.core.domain.auth.Subject subject,
int partitionEventId,
org.rhq.core.domain.util.PageControl pageControl)
|
org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.PartitionEvent> |
getPartitionEvents(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType type,
org.rhq.core.domain.cloud.PartitionEvent.ExecutionStatus status,
String details,
org.rhq.core.domain.util.PageControl pageControl)
|
void |
processRequestedPartitionEvents()
This call queries for and then processed all outstanding, requested partition events resulting from previous calls to cloudPartitionEventRequest. |
int |
purgeAllEvents(org.rhq.core.domain.auth.Subject subject)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PartitionEventManagerBean()
| Method Detail |
|---|
public org.rhq.core.domain.cloud.composite.FailoverListComposite agentPartitionEvent(org.rhq.core.domain.auth.Subject subject,
String agentName,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
agentPartitionEvent in interface PartitionEventManagerLocal
public void createPartitionEvent(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEvent partitionEvent)
createPartitionEvent in interface PartitionEventManagerLocal
public Map<org.rhq.core.domain.resource.Agent,org.rhq.core.domain.cloud.composite.FailoverListComposite> cloudPartitionEvent(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
PartitionEventManagerLocal
cloudPartitionEvent in interface PartitionEventManagerLocaleventDetail - Any useful information regarding the event generation. Should be suitable for display.
Typically a relevant server name.
public void cloudPartitionEventRequest(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
PartitionEventManagerLocal
cloudPartitionEventRequest in interface PartitionEventManagerLocaleventDetail - Any useful information regarding the event generation. Should be suitable for display.
Typically a relevant server name.
public void auditPartitionEvent(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType eventType,
String eventDetail)
PartitionEventManagerLocal
auditPartitionEvent in interface PartitionEventManagerLocaleventType - Can be any event type although typically a type used here will not also be used in aeventDetail - Any useful information regarding the event generation. Should be suitable for display.
Typically s relevant server or agent name.
server list generating call.
public void deletePartitionEvents(org.rhq.core.domain.auth.Subject subject,
Integer[] partitionEventIds)
PartitionEventManagerLocal
deletePartitionEvents in interface PartitionEventManagerLocalpublic int purgeAllEvents(org.rhq.core.domain.auth.Subject subject)
purgeAllEvents in interface PartitionEventManagerLocalpublic void processRequestedPartitionEvents()
PartitionEventManagerLocalcloudPartitionEventRequest.
processRequestedPartitionEvents in interface PartitionEventManagerLocal
public org.rhq.core.domain.cloud.PartitionEvent getPartitionEvent(org.rhq.core.domain.auth.Subject subject,
int partitionEventId)
getPartitionEvent in interface PartitionEventManagerLocal
public org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.PartitionEvent> getPartitionEvents(org.rhq.core.domain.auth.Subject subject,
org.rhq.core.domain.cloud.PartitionEventType type,
org.rhq.core.domain.cloud.PartitionEvent.ExecutionStatus status,
String details,
org.rhq.core.domain.util.PageControl pageControl)
getPartitionEvents in interface PartitionEventManagerLocal
public org.rhq.core.domain.util.PageList<org.rhq.core.domain.cloud.PartitionEventDetails> getPartitionEventDetails(org.rhq.core.domain.auth.Subject subject,
int partitionEventId,
org.rhq.core.domain.util.PageControl pageControl)
getPartitionEventDetails in interface PartitionEventManagerLocal
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||