我正在使用 REST API 将 KJAR 部署到 kie 服务器。我正在使用具有默认配置的 jboss/jbpm-server-full docker 镜像来启动 kie 服务器和业务中心。
curl -u "wbadmin:wbadmin" -X PUT -H "Content-Type: application/xml" -d '@/opt/jboss/kie_deploy_msg.xml' "http://localhost:8080/kie-server/services/rest/server/containers/pensionpayment"
<?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>pensionpayment</artifact-id>
<group-id>pensionpayment</group-id>
<version>0.1.0</version>
</release-id>
<scanner poll-interval="5000" status="STARTED"/>
</kie-container>
部署成功,流程定义和实例正确显示。引擎工作正常。
但是,业务中心部署是空的,当我尝试单击远程服务器时,出现错误。
| Uncaught exception: CDI Event exception: CommandType=CDIEvent, BeanType=org.kie.server.controller.api.model.events.ServerInstanceUpdated, ToSubject=cdi.event:org.kie.server.controller.api.model.events.ServerInstanceUpdated, BeanReference=ServerInstanceUpdated{serverInstance=ServerInstanceKey{serverInstanceId='sample-server@localhost:8080', serverName='sample-server@localhost:8080', serverTemplateId='sample-server', url='http://localhost:8080/kie-server/services/rest/server'}} sent to [unavailable] Caused by: Parameter named 'value' should be not null! | Uncaught exception: CDI Event exception: CommandType=CDIEvent, BeanType=org.kie.server.controller.api.model.events.ServerInstanceUpdated, ToSubject=cdi.event:org.kie.server.controller.api.model.events.ServerInstanceUpdated, BeanReference=ServerInstanceUpdated{serverInstance=ServerInstanceKey{serverInstanceId='sample-server@localhost:8080', serverName='sample-server@localhost:8080', serverTemplateId='sample-server', url='http://localhost:8080/kie-server/services/rest/server'}} sent to [unavailable] Caused by: Parameter named 'value' should be not null! | Uncaught exception: CDI Event exception: CommandType=CDIEvent, BeanType=org.kie.server.controller.api.model.events.ServerInstanceUpdated, ToSubject=cdi.event:org.kie.server.controller.api.model.events.ServerInstanceUpdated, BeanReference=ServerInstanceUpdated{serverInstance=ServerInstanceKey{serverInstanceId='sample-server@localhost:8080', serverName='sample-server@localhost:8080', serverTemplateId='sample-server', url='http://localhost:8080/kie-server/services/rest/server'}} sent to [unavailable] Caused by: Parameter named 'value' should be not null!
这个警告也出现在服务器日志中
08:39:01,007 WARN [org.kie.server.common.KeyStoreHelperUtil] (Thread-196) Unable to load key store. Using password from configuration
为什么没有显示部署和远程服务器,以及如何修复它?
这是我的 Dockerfile 中的相关示例
RUN mkdir -p "${HOME}/.m2/repository/pensionpayment/pensionpayment/0.1.0"
COPY --chown=jboss:jboss kie.m2.settings.xml /opt/jboss/.m2/settings.xml
COPY --chown=jboss:jboss target/pensionpayment.jar /opt/jboss/.m2/repository/pensionpayment/pensionpayment/0.1.0/pensionpayment-0.1.0.jar
COPY --chown=jboss:jboss pom.xml /opt/jboss/.m2/repository/pensionpayment/pensionpayment/0.1.0/pensionpayment-0.1.0.pom
COPY --chown=jboss:jboss kie_deploy_msg.xml /opt/jboss/
RUN nohup bash -c "/opt/jboss/wildfly/bin/start_jbpm-wb.sh &" && \
( tail --retry -f /opt/jboss/wildfly/standalone/log/server.log & ) | sed '/Initialize deployments task finished successfully/ q' && \
echo "Deploying pensionpayment.jar..." && \
curl -u "wbadmin:wbadmin" -X PUT -H "Content-Type: application/xml" -d '@/opt/jboss/kie_deploy_msg.xml' "http://localhost:8080/kie-server/services/rest/server/containers/pensionpayment"