我想使用 Grails Activiti 插件构建我自己的工作流系统。执行此操作的程序是什么?谁能帮我吗?
我已经提到了这个 documentation 和一个给定的 example。
我已经在我的项目中安装了 Grails Activiti 插件。我还在我的项目中下载并安装了假期请求示例应用程序,并查看了它是如何工作的。
最佳答案
目前,我认为没有分步说明可以带您完成 Grails Activiti 插件的实现。我在类似的船上(使用 Grails 的开发商店想要实现工作流引擎),到目前为止,Activiti 插件并没有真正有帮助。使用它的人 don't actually seem to be leveraging the integration it provides between GORM and Activiti 。
概括地说,以下是我建议在 Grails 中使用 Activiti 的步骤;您可能会使用或离开 Activiti 插件。
一般来说,我的经验法则是让 Activiti 处理流程,而 Grails 处理其他所有事情(UI、数据持久性和操作、验证等)。
我推荐这种方法,以便您仍然可以使用 Grails 通过 Controller 和 GSP 管理所有用户界面,以及通过域对象和服务管理大部分对象模型。 Activiti 团队正在构建的 UI 没有任何问题,但它基于 Vaadin ,这是它自己的 Java/UI 框架,具有自己的特征和哲学。我确信 super 开发人员可以将它们无缝结合起来,而且可能已经做到了,但除非他/他下山教我,否则我将不得不限制我将尝试的工具数量立即掌握。 :)
如何将 Activiti 作为依赖项包含在内
在您的 BuildConfig.groovy 文件中,在您的依赖项和存储库闭包中包含以下内容:
repositories {
inherits true // Whether to inherit repository definitions from plugins
mavenRepo "https://maven.alfresco.com/nexus/content/groups/public/"
//any other repositories you need go here, including grailsCentral(), etc.
}
dependencies {
compile("org.activiti:activiti-engine:5.13"){
excludes "spring-beans"
}
}
您不必排除 spring-context 依赖项,但 Grails 2.3.1 确实使用了比 Activiti 5.13 更高版本的 Spring。在 2/3 的机器上我试过了,没问题,Grails 只使用 Spring 的更高版本,忽略了 Activiti 要求的旧版本。但是, on one machine, the difference caused a persnickety exception that was difficult to track down 。
关于grails - 如何使用 Grails Activiti 插件构建我们自己的工作流系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15196572/