org.globus.exec.service.multi
Class ManagedMultiJobResource
java.lang.Object
org.globus.wsrf.impl.ReflectionResource
org.globus.rendezvous.service.RendezvousResourceImpl
org.globus.exec.service.job.ManagedJobResourceImpl
org.globus.exec.service.multi.ManagedMultiJobResource
- All Implemented Interfaces:
- ManagedJobResource, NotifyCallback, RemoveCallback, org.globus.rendezvous.service.RendezvousResource, Resource, ResourceIdentifier, ResourceLifetime, ResourceProperties, java.lang.Runnable, SecureResource, TopicListAccessor
- Direct Known Subclasses:
- PersistentManagedMultiJobResource
- public class ManagedMultiJobResource
- extends ManagedJobResourceImpl
- implements RemoveCallback, SecureResource, NotifyCallback, java.lang.Runnable
| Fields inherited from class org.globus.rendezvous.service.RendezvousResourceImpl |
|
|
Method Summary |
private static JobDescriptionType[] |
breakUpMultiJobDescription(MultiJobDescriptionType multiJobDescription,
java.lang.String multiJobHandle)
|
private org.apache.axis.message.addressing.EndpointReferenceType |
createSubJob(JobDescriptionType subJobDescription,
int subJobIndex)
|
private void |
createSubJobs()
|
void |
deliver(java.util.List topicPath,
org.apache.axis.message.addressing.EndpointReferenceType producerEndpoint,
java.lang.Object messageWrapper)
|
private void |
destroySubJob(org.apache.axis.message.addressing.EndpointReferenceType subJobEndpoint,
JobDescriptionType subJobDescription)
|
private void |
destroySubJobs()
|
NotifyCallback |
getCallback(java.util.List topicPath)
|
private static java.lang.String |
getResourceIdFromEndpoint(org.apache.axis.message.addressing.EndpointReferenceType endpoint)
|
ResourceSecurityDescriptor |
getSecurityDescriptor()
|
void |
initialize(java.lang.Object resourceBean,
javax.xml.namespace.QName resourceElementQName,
java.lang.Object key)
|
protected void |
initializeTopics()
|
void |
initializeWholeState(java.lang.Object wholeResourceState,
javax.xml.namespace.QName resourceElementQName,
java.lang.Object key)
Initialize the whole state of the resource. |
void |
initSecurity()
|
void |
processStateNotification(StateEnumeration state,
boolean holding,
FaultResourcePropertyType faultWrapper)
|
void |
registerCallback(java.util.List topicPath,
NotifyCallback callback)
|
private void |
releaseSubJob(org.apache.axis.message.addressing.EndpointReferenceType subJobEndpoint,
JobDescriptionType subJobDescription)
|
(package private) void |
releaseSubJobs()
|
void |
remove()
|
void |
run()
|
void |
setState(StateEnumeration state)
|
private void |
setStubSecurity(javax.xml.rpc.Stub stub)
|
void |
start()
|
private void |
unsubscribeToNotificationsForSubJobs()
|
| Methods inherited from class org.globus.exec.service.job.ManagedJobResourceImpl |
getFault, getJobCredential, getJobDescription, getResourceData, getResourceDatum, getResourceProperty, getStagingCredential, getState, setFault, setJobDescription, setResourceData, setResourceDatum, setResourceDatum, setResourceDatum, setResourceProperty, setResourceProperty |
| Methods inherited from class org.globus.rendezvous.service.RendezvousResourceImpl |
createNewResourceProperty, getInternalRendezvousState, getTopicList, isFull, register, setInternalRendezvousState |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
securityDescriptor
private ResourceSecurityDescriptor securityDescriptor
- Timestamp of last stage change event. This may need to be persistent.
private Date lastStateTimestamp = new java.util.Date();
logger
private static org.apache.commons.logging.Log logger
i18n
private static org.globus.util.I18n i18n
coreI18n
private static org.globus.util.I18n coreI18n
ManagedMultiJobResource
public ManagedMultiJobResource()
initializeWholeState
public void initializeWholeState(java.lang.Object wholeResourceState,
javax.xml.namespace.QName resourceElementQName,
java.lang.Object key)
throws ResourceException
- Description copied from interface:
ManagedJobResource
- Initialize the whole state of the resource. Called by the Home or
the persistence layer.
The implementation must call initialize().
- Specified by:
initializeWholeState in interface ManagedJobResource- Overrides:
initializeWholeState in class ManagedJobResourceImpl
- Throws:
ResourceException
initialize
public void initialize(java.lang.Object resourceBean,
javax.xml.namespace.QName resourceElementQName,
java.lang.Object key)
throws ResourceException
- Throws:
ResourceException
initSecurity
public void initSecurity()
throws ResourceException
- Throws:
ResourceException
initializeTopics
protected void initializeTopics()
remove
public void remove()
throws ResourceException
- Specified by:
remove in interface RemoveCallback
- Throws:
ResourceException
start
public void start()
- Specified by:
start in interface ManagedJobResource
run
public void run()
- Specified by:
run in interface java.lang.Runnable
createSubJobs
private void createSubJobs()
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
breakUpMultiJobDescription
private static JobDescriptionType[] breakUpMultiJobDescription(MultiJobDescriptionType multiJobDescription,
java.lang.String multiJobHandle)
throws ResourceException
- Throws:
ResourceException
createSubJob
private org.apache.axis.message.addressing.EndpointReferenceType createSubJob(JobDescriptionType subJobDescription,
int subJobIndex)
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
getResourceIdFromEndpoint
private static java.lang.String getResourceIdFromEndpoint(org.apache.axis.message.addressing.EndpointReferenceType endpoint)
releaseSubJobs
void releaseSubJobs()
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
releaseSubJob
private void releaseSubJob(org.apache.axis.message.addressing.EndpointReferenceType subJobEndpoint,
JobDescriptionType subJobDescription)
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
destroySubJobs
private void destroySubJobs()
throws ResourceException
- Throws:
ResourceException
unsubscribeToNotificationsForSubJobs
private void unsubscribeToNotificationsForSubJobs()
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
destroySubJob
private void destroySubJob(org.apache.axis.message.addressing.EndpointReferenceType subJobEndpoint,
JobDescriptionType subJobDescription)
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
setStubSecurity
private void setStubSecurity(javax.xml.rpc.Stub stub)
throws java.rmi.RemoteException
- Throws:
java.rmi.RemoteException
setState
public void setState(StateEnumeration state)
throws java.lang.Exception
- Specified by:
setState in interface ManagedJobResource- Overrides:
setState in class ManagedJobResourceImpl
- Throws:
java.lang.Exception
registerCallback
public void registerCallback(java.util.List topicPath,
NotifyCallback callback)
getCallback
public NotifyCallback getCallback(java.util.List topicPath)
deliver
public void deliver(java.util.List topicPath,
org.apache.axis.message.addressing.EndpointReferenceType producerEndpoint,
java.lang.Object messageWrapper)
- Specified by:
deliver in interface NotifyCallback
processStateNotification
public void processStateNotification(StateEnumeration state,
boolean holding,
FaultResourcePropertyType faultWrapper)
throws java.lang.Exception
- Throws:
java.lang.Exception
getSecurityDescriptor
public ResourceSecurityDescriptor getSecurityDescriptor()
- Specified by:
getSecurityDescriptor in interface SecureResource