我們正在使用Grails爲Activiti編寫一個新的前端,用於在處理任務和填充相關數據時向用戶展示自定義UI。FormService中的未知類型'processDefinition'
我們能夠查詢Activiti引擎並返回任務列表;下面的代碼工作,因爲我們所期待和(與視圖一起)給任務的基本清單 - 名稱,說明等:
def index() {
def tasks = activitiService.findAllTasks(["sort": null, "offset": 0, "max": 10])
[tasks: tasks]
}
然而,當我們試圖拉回來的表單數據各個任務(這樣我們可以顯示的形式向用戶完成):
def view(params) {
def taskQuery = taskService.createTaskQuery()
def task = taskQuery.taskId(params.id).singleResult();
def form = formService.getRenderedTaskForm(params.id)
[task: task, form: form]
}
一個錯誤被拋出:
unknown type 'processDefinition' processDefinition
在def form =
線;完整的軌跡是:
Line | Method
->> 55 | parseFormPropertyType in org.activiti.engine.impl.form.FormTypes
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 61 | parseConfiguration in org.activiti.engine.impl.form.DefaultFormHandler
| 34 | parseConfiguration . . . . . . . in org.activiti.engine.impl.form.DefaultStartFormHandler
| 84 | createStartFormHandlers in org.activiti.engine.impl.bpmn.parser.handler.StartEventParseHandler
| 58 | executeParse . . . . . . . . . . in ''
| 38 | executeParse in ''
| 84 | parse . . . . . . . . . . . . . . in org.activiti.engine.impl.bpmn.parser.handler.AbstractBpmnParseHandler
| 27 | parse in org.activiti.engine.impl.bpmn.parser.handler.AbstractFlowNodeBpmnParseHandler
| 36 | parse . . . . . . . . . . . . . . in org.activiti.engine.impl.bpmn.parser.handler.AbstractActivityBpmnParseHandler
| 73 | parseElement in org.activiti.engine.impl.bpmn.parser.BpmnParseHandlers
| 435 | processFlowElements . . . . . . . in org.activiti.engine.impl.bpmn.parser.BpmnParse
| 88 | transformProcess in org.activiti.engine.impl.bpmn.parser.handler.ProcessParseHandler
| 49 | executeParse . . . . . . . . . . in ''
| 35 | executeParse in ''
| 84 | parse . . . . . . . . . . . . . . in org.activiti.engine.impl.bpmn.parser.handler.AbstractBpmnParseHandler
| 73 | parseElement in org.activiti.engine.impl.bpmn.parser.BpmnParseHandlers
| 395 | transformProcessDefinitions . . . in org.activiti.engine.impl.bpmn.parser.BpmnParse
| 231 | execute in ''
| 107 | deploy . . . . . . . . . . . . . in org.activiti.engine.impl.bpmn.deployer.BpmnDeployer
| 50 | deploy in org.activiti.engine.impl.persistence.deploy.DeploymentManager
| 115 | resolveProcessDefinition . . . . in ''
| 65 | findDeployedProcessDefinitionById in ''
| 751 | getTaskDefinition . . . . . . . . in org.activiti.engine.impl.persistence.entity.TaskEntity
| 54 | execute in org.activiti.engine.impl.cmd.GetRenderedTaskFormCmd
| 24 | execute . . . . . . . . . . . . . in org.activiti.engine.impl.interceptor.CommandInvoker
| 57 | execute in org.activiti.engine.impl.interceptor.CommandContextInterceptor
| 47 | doInTransaction . . . . . . . . . in org.activiti.spring.SpringTransactionInterceptor$1
| 45 | execute in org.activiti.spring.SpringTransactionInterceptor
| 31 | execute . . . . . . . . . . . . . in org.activiti.engine.impl.interceptor.LogInterceptor
| 40 | execute in org.activiti.engine.impl.cfg.CommandExecutorImpl
| 35 | execute . . . . . . . . . . . . . in ''
| 46 | getRenderedTaskForm in org.activiti.engine.impl.FormServiceImpl
| 22 | view . . . . . . . . . . . . . . in TasksController.groovy
| 195 | doFilter in PageFragmentCachingFilter.java
| 63 | doFilter . . . . . . . . . . . . in AbstractFilter.java
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 615 | run . . . . . . . . . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 744 | run in java.lang.Thread
我們似乎需要在某一時刻到formService
通過流程定義,或者至少有一個可用的庫,它可以創建一個從;不幸的是,我們一直無法弄清楚如何做到這一點。
那麼 - 我們錯過了什麼會得到這個工作?或者,我們是否完全走錯了路線,對於我們需要的東西還有更好的解決方案(我們試圖避免直接查詢數據庫表)。