一 官方提供的war包


从flowable.org网站下载.zip文件后,可以在wars目录下找到REST应用。要运行这个WAR文件,需要一个servlet容器,例如TomcatJetty等。

使用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时就不用输入用户名和密码了。

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐