当前位置: 首页 > 知识库问答 >
问题:

KIE服务器容器卡在创建状态

宰父冠玉
2023-03-14
docker run -i -p 8080:8080 --name kie-server --mount type=bind,source=$HOME/.m2,target=/opt/jboss/.m2 jboss/kie-server-showcase:latest

我需要使用绑定挂载,因为我只是使用本地的。m2 maven存储库(目前),这是我能看到的让容器获得它的副本的唯一方法。

我在Eclipse中通过“Maven Clean”和“Maven Install”构建了一个kjar。在kjar(.jar)中,我有:

  • META-INF包含kmodule.xml和manifest.mf,也是一个maven子文件夹,在子文件夹中有group-id和artifact-id,即META-INF>maven>group>artifact。工件文件夹包含pom和pom.Properties(然后定义GAV).
  • 我的drl和BPMN

为了在KIE服务器上创建容器,我使用curl命令:

curl -u 'admin:admin' -H "accept: application/xml" -H "content-type: application/xml" -d @myContainer.xml -X PUT http://localhost:8080/kie-server/services/rest/server/containers/MyContainer

然后它开始运行命令,但所花费的时间继续滴答,并且在我离开它30分钟后仍在继续。

我检查了kie-server容器,我添加的容器在那里,但状态是正在创建:

<response type="SUCCESS" msg="List of created containers">
    <kie-containers>
        <kie-container container-id="MyContainer" status="CREATING">
            <release-id>
                <artifact-id>hummingbird.rules.syndicated-kjar</artifact-id>
                <group-id>uk.co.cdl.hummingbird</group-id>
                <version>0.0.1-SNAPSHOT</version>
            </release-id>
            <scanner status="DISPOSED"/>
        </kie-container>
    </kie-containers>
</response>
package somerules

import org.json.JSONObject
import java.util.Map

rule "somerules - do something" ruleflow-group "somerules"
dialect "java"
when
        $root : Map()
then
        insert(new JSONObject());
        delete($root);
end
<?xml version="1.0" encoding="UTF-8"?> 
<definitions id="Definition"
             targetNamespace="http://www.jboss.org/drools"
             typeLanguage="http://www.java.com/javaTypes"
             expressionLanguage="http://www.mvel.org/2.0"
             xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd"
             xmlns:g="http://www.jboss.org/drools/flow/gpd"
             xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
             xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
             xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
             xmlns:tns="http://www.jboss.org/drools">

  <process processType="Private" isExecutable="true" id="somerules" name="somerules" tns:packageName="somerules" >

    <!-- nodes -->
    <startEvent id="_1"  isInterrupting="true"/>
    <endEvent id="_jbpm-unique-0" name="End" >
        <terminateEventDefinition />
    </endEvent>
    <businessRuleTask id="_jbpm-unique-2" name="somerules" g:ruleFlowGroup="somerules" >
      <ioSpecification>
        <inputSet>
        </inputSet>
        <outputSet>
        </outputSet>
      </ioSpecification>
    </businessRuleTask>

    <!-- connections -->
    <sequenceFlow id="_jbpm-unique-2-_jbpm-unique-0" sourceRef="_jbpm-unique-2" targetRef="_jbpm-unique-0" />
    <sequenceFlow id="_1-_jbpm-unique-2" sourceRef="_1" targetRef="_jbpm-unique-2" />

  </process>

  <bpmndi:BPMNDiagram>
    ...
  </bpmndi:BPMNDiagram>

</definitions>

我正在用drools 7.23.0构建kjar。我以前也试过7.22。

任何建议都很感激,谢谢。

共有1个答案

沈高峻
2023-03-14

我发现了问题所在,主要是通过遵循给出的建议并尝试在没有Docker的情况下运行KIE服务器。

我得到了很多关于依赖关系的错误消息(在Docker中我看不到)和类似于“类X和类Y在Z属性上不一致”的错误。

这是因为我的kjar pom在KIE服务器中已经提供了依赖项,并且似乎存在冲突。这是所有的drools依赖。通过在kjar pom中将这些依赖项的作用域设置为“提供”,问题就解决了,我可以创建容器(在Docker和非Docker KIE服务器中)。

 类似资料:
  • 创建 http 服务器 package main   import ( "net/http"   "github.com/hprose/hprose-golang/rpc" )   func hello(name string) string { return "Hello " + name + "!" }   func main() { service := rp

  • 卸载calico后,kubectl-f calico.yaml无法在集群中创建新的豆荚。集群中的任何新吊舱都处于容器创建状态。Kubectl Description显示了以下错误: 警告失败CreatePodSandbox 2M kubelet,10.0.12.2创建吊舱沙箱失败:rpc错误:代码=未知desc=[未能为吊舱设置沙箱容器“F15743177FD70C5EABF70C60BE5B5B

  • 我尝试在英国西部地区创建一个Azure服务容器。我经历了所有的步骤没有问题,但是一旦我点击创建后,我遇到了几分钟: 所提供的位置ukWest不适用于资源类型Microsoft。容器服务/容器服务。资源类型的可用区域列表是“日本东部、中部、东部2、日本西部、东部、南部、澳大利亚东部、澳大利亚东部、巴西南部、南部、西部、北部、西部、西部、北部、北部、北部、北部、东部”。 好吧,我意识到这是我的错误,于

  • “Drools骆驼服务器”和“KIE-WB执行服务器”有什么区别?它们是否服务于在远程服务器中执行规则/进程的相同目的?

  • 我正在使用与Kie执行服务器集成的Drools workbench 7.17。我在workbench中创建了一个项目,该项目部署在kie执行服务器上。 我已经在项目的设置中配置了kie-base和kie-会话。将有状态的kie-会话定义为kieSession。我正在使用Kie ServerJavaClient API将事实插入引擎。 我能够在KieSession上进行查找。我将接收不同用户的数据,

  • 以前我的MySQL pod停留在终止状态,然后我尝试使用如下命令强制删除 后来我再次尝试helm升级,我的吊舱被卡在containercreating状态,这个事件来自吊舱 任何人请帮助我解决这个问题,非常感谢。