一 官方提供的war包
从flowable.org网站下载.zip文件后,可以在wars目录下找到REST应用。要运行这个WAR文件,需要一个servlet容器,例如Tomcat、Jetty等。
使用Tomcat的步骤如下:
-
下载并解压缩最新的Tomcat zip文件(在Tomcat网站中选择’Core’发行版)。
-
将flowable-rest.war文件从解压的Flowable发行版目录中复制到解压的Tomcat目录下的webapps文件夹下。
-
使用命令行,转到Tomcat目录下的bin文件夹。
-
执行'./catalina run'启动Tomcat服务器。
启动tomcat后,tomcat会自动解压flowable-rest.war到同一目录。
在服务启动过程中,会显示一些Flowable日志信息。在最后显示的一条类似'INFO [main] org.apache.catalina.startup.Catalina.start Server startup in xyz ms'的消息标志着服务器已经启动,可以接受请求。请注意默认情况下,使用H2内存数据库,这意味着数据在服务器重启后会丢失。
在下面的章节中,我们使用cURL展示各种REST调用。所有的REST调用默认都使用基本认证保护(flowable-rest使用了spring security),所有的调用的用户都是 kermit,密码为’kermit'。
在启动后,通过执行下列命令验证应用运行正常:
curl --user kermit:kermit http://localhost:8080/flowable-rest/service/management/engine
如果能获得正确的json响应,则说明REST API已经启动并在工作。
或者在浏览器里输入
http://localhost:8080/flowable-rest/service/management/engine
第一次会弹出身份验证的窗口,输入用户名kermit,密码kermit,如果返回如下json字符串,说明已成功调用。
二 整合springboot使用
官方用户手册是这样说的:Flowable在引擎中包含了REST API,可以通过在servlet容器如Apache Tomcat中,部署flowable-rest.war文件来安装。但是也可以在其他的web应用中使用,只要在你的应用中包含这些servlet与其映射,并在classpath中添加所有flowable-rest依赖即可。
那么,怎样和springboot工程整合在一起呢。其实在官方的git上就有demo。
首先新建一个springboot的web工程,引入基本的springboot starter。
引入flowable rest 的starter
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-rest-api</artifactId>
<version>6.2.0</version>
</dependency>
就是这么简单,执行启动类的main方法,启动springboot项目,在浏览器里输入
http://localhost:8080/flowable-rest/service/management/engine,
弹出身份验证的窗口,输入用户名kermit,密码kermit,如果返回如下json字符串,说明已成功调用。
三 去掉身份验证
flowable-rest使用了spring security进行身份验证,如果想跳过验证,只需在启动类的@SpringBootApplication里排除掉spring security的默认配置就行了。
@SpringBootApplication(exclude = {
org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
org.flowable.spring.boot.SecurityAutoConfiguration.class})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
这样,在每次调用flowable rest api时就不用输入用户名和密码了。