【问题标题】:Camunda springboot project not deploying on Camunda-ee tomcat serverCamunda springboot项目未部署在Camunda-ee tomcat服务器上
【发布时间】:2017-08-22 14:36:59
【问题描述】:

我正在关注本指南 - https://camunda.github.io/camunda-bpm-spring-boot-starter/docs/2.2.0/index.html 并创建我自己的新 springboot-camunda 项目。

我想将之前创建的 war 文件部署到 Camunda-ee 本地服务器。我希望在 Camunda 驾驶舱中看到这一点。但它不存在。对于如何将 Camunda springboot webapp 项目部署到 Camunda 服务器的任何有用信息,我将不胜感激。 这是我的代码:

@SpringBootApplication
@EnableProcessApplication
public class SlognSpringBootProcessApplication {

    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(SlognSpringBootProcessApplication.class);

        springApplication.run(args);
    }
}

processes.xml:

<?xml version="1.0" encoding="UTF-8"?>
<process-application
        xmlns="http://www.camunda.org/schema/1.0/ProcessApplication"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <process-archive>
        <process-engine>default</process-engine>
        <properties>
            <property name="isDeleteUponUndeploy">true</property>
            <property name="isScanForProcessDefinitions">true</property>
        </properties>
    </process-archive>

</process-application>

application.properties:

camunda.bpm.auto-deployment-enabled=true

pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>net.slogn.camunda.bpm.spring.social</groupId>
    <artifactId>camunda-bpm-spring-boot-starter-social-integration</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>

    <properties>
        <camunda-spring-starter.version>2.2.0</camunda-spring-starter.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.camunda.bpm.extension.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
        </dependency>

        <dependency>
            <groupId>org.camunda.bpm.extension.springboot</groupId>
            <artifactId>camunda-bpm-spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.camunda.bpm.extension.springboot</groupId>
                <artifactId>camunda-bpm-spring-boot-starter-bom</artifactId>
                <version>${camunda-spring-starter.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

【问题讨论】:

  • 日志中有错误吗?

标签: spring tomcat spring-boot camunda


【解决方案1】:

第一个注意:使用@EnableProcessApplication时,自动部署是禁用的,所以你可以省略这个设置:camunda.bpm.auto-deployment-enabled=true

主要问题:您要做的是将 Spring Boot 应用程序打包为 war 并部署在应用程序服务器上。

结帐https://github.com/camunda/camunda-bpm-spring-boot-starter/tree/master/examples/example-war,我猜你忘了扩展初始化程序:

    @SpringBootApplication
    @EnableProcessApplication
    public class SlognSpringBootProcessApplication extends SpringBootServletInitializer {...}

所以引擎是在战争部署时创建的。

【讨论】:

    【解决方案2】:

    我知道你的问题是什么。

    您正在尝试创建 war 文件并将其部署在共享的 Camunda 引擎上。 所以让我告诉你,这不是正确的做法。由于 Camunda starter jar 嵌入在 Tomcat 中;并且您生成的战争文件将使用您已经使用启动器 jar 提供的 Camunda 引擎。

    要解决这个问题,你需要使用混合版本的spring boot和spring framework。 为您的项目使用 spring boot,但对于 Camunda 引擎使用 spring 框架。 您需要使用作为上下文的共享引擎运行时。 在这里你可以看到 pom 示例和你必须提到的类。 http://javaint4bytes.blogspot.com/2019/11/camunda-spring-boot-with-shared-engine.html

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 2018-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-13
      • 2013-10-19
      • 1970-01-01
      • 2015-03-20
      相关资源
      最近更新 更多