when do we use the custom workitem entity and the standard workitem entity while implementing the workque? what is the specific use of implementing the custom workitem over implementing the standard workitem.
I tried implementing the both, custom workitem entity and the standardard workitem entity but i dont see any difference, or may be i have missed something.
The following reasons outline why you would want to define a custom work item type:
Whenever you define a custom work item type, you must implement the createWorkItem method that your custom work queue inherits from WorkQueueBase.
If you create a custom work queue, your writer can pass more fields to the workers than a target field. On StandardWorkItem, the Target field is an object reference to an entity instance, which represents the unit of work for the workers. In a custom work item, you can define as many fields as you want to pass to the workers. Your custom work item itself can be the unit of work.
Guidewire recommends that you use custom work queue types for work queues with typically large batches that potentially run at the same time as other work queues with large batches. Especially if developing a custom work queue for night-time processing, consider using a custom work queue subtype instead of using StandardWorkItem. If you create a custom work item subtype to avoid table contention, you often define a single field for the writer to set, much like the Target field on StandardWorkItem. By convention, you name the single field with the same name as the entity type, not the generic name Target.