如何创建WorkQueue Guidewire?

Dou*_*nde 1 gosu guidewire

我需要在guidewire中创建工作队列,但找不到与此相关的guidewire文档。有人可以帮我吗?

问候,道格拉斯·里曾德

小智 5

您需要满足以下条件:

  1. 在BatchProcessType typekey中创建一个新的Typecode(例如MyNewCode)。另外,您需要根据需要添加类别:Schedulable,UIRunnable或APIRunnable。
  2. 制作一个新类来扩展WorkQueueBase,如下所示
class MyWorkQueue extends WorkQueueBase<Message, StandardWorkItem> {
  private final static var _batchProcessType = BatchProcessType.TC_MYNEWCODE
  construct() {
    super(_batchProcessType, StandardWorkItem, Message)
  }

  override function findTargets(): Iterator<Message> {
    return Query.make(Message).select().iterator()
  }

  override function processWorkItem(p0: StandardWorkItem) {
    var bean = extractTarget(p0)
    // My process
  }
}

Run Code Online (Sandbox Code Playgroud)
  1. 在work-queue.xml中注册新类。您可以在文档中搜索其他参数,例如retryLimit,retryInterval,server,env,maxpollinterval等。
<work-queue workQueueClass="example.MyWorkQueue" progressinterval="600000">
        <worker instances="1" batchsize="5" />
</work-queue>
Run Code Online (Sandbox Code Playgroud)
  1. 在scheduler-config.xml中注册新的BatchProcessType(可选)。为使它正常工作,类型代码需要Schedulable类别(第一步)
<ProcessSchedule process="MyNewCode">
    <CronSchedule minutes="*/10" />
</ProcessSchedule>
Run Code Online (Sandbox Code Playgroud)