Interface IProcessIntermediateEventBean
- All Known Implementing Classes:
AbstractProcessIntermediateEventBean
public interface IProcessIntermediateEventBean
Interface that must be implemented by process intermediate event bean. These Beans are
instantiated by ivy and can then fire events which will wake up tasks
that are in state
TaskState.WAITING_FOR_INTERMEDIATE_EVENT
.
The beans can be configured in the intermediate event process element.- Since:
- 19.01.2008
- API:
- This is a public API.
-
Method Summary
Modifier and TypeMethodDescriptionGets a description what this process intermediate event bean does.getName()
Gets the name of the process intermediate event beanvoid
initialize
(IProcessIntermediateEventBeanRuntime eventRuntime, String configuration) Initializes the process intermediate event beanboolean
Does this event bean allow/support that it is instanciated more than once for a certain path.boolean
True if the process intermediate event bean was started.void
poll()
This method is called by the process intermediate event bean runtime perodically.void
start
(org.eclipse.core.runtime.IProgressMonitor monitor) Deprecated, for removal: This API element is subject to removal in a future version.void
stop
(org.eclipse.core.runtime.IProgressMonitor monitor) Deprecated, for removal: This API element is subject to removal in a future version.
-
Method Details
-
initialize
Initializes the process intermediate event bean- Parameters:
eventRuntime
- the event runtime. The process intermediate event bean can fire events to the event runtimeconfiguration
- the configuration of the process intermediate event bean- API:
- This public API is available in Java.
-
getName
String getName()Gets the name of the process intermediate event bean- Returns:
- name of the process intermediate event bean
- API:
- This public API is available in Java.
-
getDescription
String getDescription()Gets a description what this process intermediate event bean does.- Returns:
- description what this process intermediate event bean does.
- API:
- This public API is available in Java.
-
start
@Deprecated(since="9.2", forRemoval=true) void start(org.eclipse.core.runtime.IProgressMonitor monitor) Deprecated, for removal: This API element is subject to removal in a future version.Starts the process intermediate event bean. The process intermediate event bean is allowed to fire events after it is started. The event bean must not fire events if it is not started.- Parameters:
monitor
- the progress monitor- Throws:
ch.ivyteam.ivy.service.ServiceException
- if event bean cannot be started.isRunning()
must return false if start has thrown this exception.- API:
- This public API is available in Java.
-
stop
@Deprecated(since="9.2", forRemoval=true) void stop(org.eclipse.core.runtime.IProgressMonitor monitor) Deprecated, for removal: This API element is subject to removal in a future version.Stops the process intermediate event bean. The process intermediate event bean must not fire events if it is stopped.- Parameters:
monitor
- the progress monitor- Throws:
ch.ivyteam.ivy.service.ServiceException
- if process intermediate event bean cannot be stopped.isRunning()
must return true if stop has thrown this exception.- API:
- This public API is available in Java.
-
isRunning
boolean isRunning()True if the process intermediate event bean was started. The process intermediate event bean is by default not started. E.g. if the event bean is instanciated the method must return false. After the methodstart(org.eclipse.core.runtime.IProgressMonitor)
was called the method should return true.- Returns:
- true if started, false if stopped.
- API:
- This public API is available in Java.
-
poll
void poll()This method is called by the process intermediate event bean runtime perodically. Default time interval is one minute. It can be used to poll for something that fires an event.
This allows to share polling threads between event beans.
Note that it is not necessary to create an own thread to fire an event as this was necessary with earlier version (<=3.8). You can configure the time interval by usingIProcessIntermediateEventBeanRuntime.setPollTimeInterval(long)
. Note that the runtime can call this method more than once on an instance if the poll method last longer than the configured runtime interval. Implementors have to consider this fact.- API:
- This public API is available in Java.
-
isMoreThanOneInstanceSupported
boolean isMoreThanOneInstanceSupported()Does this event bean allow/support that it is instanciated more than once for a certain path. If not supported the process intermediate event bean is instanced only once. On a cluster typically on the master node. If supported the process intermediate event bean can be instanced more once. On a cluster typically once on each node.- Returns:
- true if more than one instance is supported, otherwise false
- API:
- This public API is available in Java.
-