我正在尝试使用docker通过预部署的进程构建kie服务器映像。
下面是使用kjar构建映像的dockerfile
FROM jboss/jbpm-server-full:7.18.0.Final
ENV KIE_SERVER_STARTUP_STRATEGY=LocalContainersStartupStrategy
# set locale
ENV LC_ALL=en_US.UTF-8
USER jboss
RUN mkdir -p "${HOME}/.m2/repository/bpm/bpm/0.1.0"
COPY --chown=jboss:jboss mvn.settings.xml /opt/jboss/.m2/settings.xml
COPY --chown=jboss:jboss target/pensionpayment.jar /opt/jboss/.m2/repository/bpm/bpm/0.1.0/bpm-0.1.0.jar
COPY --chown=jboss:jboss pom.xml /opt/jboss/.m2/repository/bpm/bpm/0.1.0/bpm-0.1.0.pom
然后我运行图像 docker run -p 28080:8080 -p 28001:8001 -d --name kieserver kie:bpm
并尝试使用rest api部署容器。。
curl -u "wbadmin:wbadmin" -X PUT -H "Content-Type: application/xml" -d '@payload.xml' "http://localhost:28080/kie-server/services/rest/server/containers/bpm"
..具有以下有效载荷
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kie-container>
<config-items>
<itemName>RuntimeStrategy</itemName>
<itemValue>SINGLETON</itemValue>
<itemType>java.lang.String</itemType>
</config-items>
<config-items>
<itemName>MergeMode</itemName>
<itemValue>MERGE_COLLECTIONS</itemValue>
<itemType>java.lang.String</itemType>
</config-items>
<config-items>
<itemName>KBase</itemName>
<itemValue></itemValue>
<itemType>java.lang.String</itemType>
</config-items>
<config-items>
<itemName>KSession</itemName>
<itemValue></itemValue>
<itemType>java.lang.String</itemType>
</config-items>
<!-- This is where you define your kjar as an artifactid so that
the kie-server can find and deploy it. -->
<release-id>
<artifact-id>bpm</artifact-id>
<group-id>bpm</group-id>
<version>0.1.0</version>
</release-id>
<scanner poll-interval="5000" status="STARTED"/>
</kie-container>
但是我得到了 java.lang.NoClassDefFoundError
缺少依赖项时出错。作为jbpm和kie服务器的noob,我不确定服务器是否应该在部署期间解决模块的maven依赖关系,还是应该构建和部署fat-jar。另外,除了RESTAPI,还有其他的部署方式吗?出于开发目的,业务中心部署也应该是可能的。正确的方法是什么?
暂无答案!
目前还没有任何答案,快来回答吧!