Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Stardust/Knowledge Base/Java API/IWorklistMonitor Example"
< Stardust | Knowledge Base | Java API
m (Some insight while working with this package) |
m |
||
Line 7: | Line 7: | ||
#Place the file into the '''META-INF/services''' folder of the jar that will contain your implementation class | #Place the file into the '''META-INF/services''' folder of the jar that will contain your implementation class | ||
− | Note: The | + | Note: The place the above mentioned file in the '''services''' folder that you will need to create in the '''WebContent/META-INF''' folder in the project as '''WebContent/META-INF/services/org.eclipse.stardust.engine.core.spi.monitoring.IWorklistMonitor''' |
{{warning2|text=Use this interface with caution! We do not recommend to use this functionality to constantly synchronize the worklists into another system. To maintain the worklists in two systems is a bad architectural design typically resulting from shortcuts taken. It usually leads to problems further down the road.}} | {{warning2|text=Use this interface with caution! We do not recommend to use this functionality to constantly synchronize the worklists into another system. To maintain the worklists in two systems is a bad architectural design typically resulting from shortcuts taken. It usually leads to problems further down the road.}} |
Revision as of 11:27, 16 October 2013
The IWorklistMonitor service provider interface can be used to execute custom code when item are added to or removed from a workflow participant's worklist. Typically this SPI is used to implement push notification to users (UI alerts, email, ...) or other systems.
To use this interface you need to:
- Implement the IWorklistMonitor interface as shown below.
- Create a text file named org.eclipse.stardust.engine.core.spi.monitoring.IWorklistMonitor. The file contents needs to be the fully qualified name of your implementation class, e.g. org.eclipse.stardust.example.WorklistInterceptor .
- Place the file into the META-INF/services folder of the jar that will contain your implementation class
Note: The place the above mentioned file in the services folder that you will need to create in the WebContent/META-INF folder in the project as WebContent/META-INF/services/org.eclipse.stardust.engine.core.spi.monitoring.IWorklistMonitor
Use this interface with caution! We do not recommend to use this functionality to constantly synchronize the worklists into another system. To maintain the worklists in two systems is a bad architectural design typically resulting from shortcuts taken. It usually leads to problems further down the road.
package org.eclipse.stardust.example; import org.eclipse.stardust.engine.api.model.IParticipant; import org.eclipse.stardust.engine.core.runtime.beans.IActivityInstance; import org.eclipse.stardust.engine.core.spi.monitoring.IWorklistMonitor; public class WorklistInterceptor implements IWorklistMonitor { @Override public void addedToWorklist(IParticipant arg0, IActivityInstance arg1) { System.out.println("ADDED TO WORKLIST: " + arg0.getId() + " Activity OID: " + arg1.getOID()); } @Override public void removedFromWorklist(IParticipant arg0, IActivityInstance arg1) { System.out.println("REMOVED FROM WORKLIST: " + arg0.getId() + " Activity OID: "+ arg1.getOID()); } }