Camunda springboot项目未部署在Camunda-ee tomcat服务器上

时间:2017-08-22 14:36:59

标签: spring tomcat spring-boot camunda

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

Project structure: 我想将之前创建的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>

2 个答案:

答案 0 :(得分:3)

首先注意:使用@EnableProcessApplication时,会禁用自动部署,因此您可以省略此设置:“camunda.bpm.auto-deployment-enabled = true”。

对于主要问题:您正在尝试的是将Spring启动应用程序打包为war并在应用程序服务器上部署。

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

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

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

答案 1 :(得分:0)

我知道你怎么了。

您正在尝试创建war文件并将其部署在共享的camunda引擎上。 所以让我告诉您,这不是您的正确做法。 Camunda入门罐在侧面装有tomcat。并且生成的战争文件将使用您已经通过启动程序jar提供的camunda引擎。

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