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

jBPM 6.0 ksession集群

文心思
2023-03-14

我的应用程序基于JBPM5,由于一些集群问题,我正在测试JBPM6以替换旧版本。我使用的示例来自:https://github.com/jsvitak/jbpm-6-examples/tree/master/rewards-basic

不幸的是,据我测试,它仍然存在与多个节点共享同一个KSession的问题。

RuntimeManager设置为使用单例策略。

  RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get()
            .newDefaultBuilder()
            .entityManagerFactory(emf)
            .addAsset(ResourceFactory.newClassPathResource("rewards-basic.bpmn"), ResourceType.BPMN2)
            .get();

        environment.getEnvironment().set(EnvironmentName.USE_PESSIMISTIC_LOCKING, true);
    singletonManager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment);
    RuntimeEngine runtime = singletonManager.getRuntimeEngine(new Context() {
        @Override
        public Object getContextId() {
            return singletonManager.getIdentifier();
        }
    });

 KieSession ksession = runtime.getKieSession();

        Map<String, Object> params = new HashMap<String, Object>();
        params.put("recipient", recipient);
        ProcessInstance processInstance = ksession.startProcess(
                "com.sample.rewards-basic", params);

测试很简单:

  1. 在节点1上创建第一个进程
  2. 在节点2上创建第二个进程

我的应用程序有这样的要求:相同的流程实例必须可以被登录到不同节点的不同用户访问。流程具有人工任务,是有状态的,并且被认为是长期运行的(天、月)。任务执行迅速。

所以,我的问题是:

  1. 我可以在多个节点上使用相同的KSession吗?
  2. 如果不是,那么JBPM6还有什么其他机制来同步所有节点之间的进程状态?
  3. 如果我使用不同的方法,计时器和事件是否可以在多节点环境中工作?

共有1个答案

鄢英毅
2023-03-14

以上问题的一些答案已经写在jbpm论坛:https://community.jboss.org/message/863749#863749

 类似资料:
  • 问题内容: 我对SQL(Server2008)的较低层次的了解是有限的,现在我们的DBA对此提出了挑战。让我解释一下这种情况:(我已经提到一些明显的陈述,希望我是对的,但是如果您发现有问题,请告诉我)。 我们有一张桌子,上面放着人们的“法院命令”。创建表(名称:CourtOrder)时,我的创建方式如下: 然后,我将非聚集索引应用于主键(以提高效率)。我的理由是,这是一个唯一字段(主键),应该像我

  • 我是新点燃的。 步骤1:我在两个VM(ubuntu)中安装了Ignite 2.6.0,在一个VM中启动了节点。下面有COMAND。bin/ignite.sh examples/config/example-ignite.xml 步骤2:我的所有配置都在example-default.xml中 步骤3:在其他VM中执行包含datagrid逻辑的client.jar(该VM既是客户机也是节点)。 步骤

  • 有人能建议从节点集群收集指标的最佳模式吗(每个节点都是带有Java应用程序的Tomcat Docker容器)? 我们计划使用ELK堆栈(ElasticSearch、Logstash、Kibana)作为可视化工具,但我们的问题是如何将指标交付给Kibana? 我们使用DropWizard度量库,它提供每个实例的度量(量表、计时器、直方图)。 显然,应该收集每个实例的一些指标(例如,cpu、内存等..

  • Cluster Cluster.EdsClusterConfig Cluster.OutlierDetection Cluster.LbSubsetConfig Cluster.LbSubsetConfig.LbSubsetSelector Cluster.LbSubsetConfig.LbSubsetFallbackPolicy (Enum) Cluster.RingHashLbConfig C

  • 一、负载均衡 负载均衡算法 转发实现 二、集群下的 Session 管理 Sticky Session Session Replication Session Server 一、负载均衡 集群中的应用服务器(节点)通常被设计成无状态,用户可以请求任何一个节点。 负载均衡器会根据集群中每个节点的负载情况,将用户请求转发到合适的节点上。 负载均衡器可以用来实现高可用以及伸缩性: 高可用:当某个节点故障

  • 集群为一组LBAgent转发节点的集合。 负载均衡集群是一组转发节点LBAgent的集合,一般情况下一个集群下配置两个LBAgent节点互为主备即可,同一集群下的LBAgent节点的VRRP路由ID必须相同。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/负载均衡集群/集群” 菜单项,进入集群页面。 创建集群 该功能用于创建负载均衡集群。 单击列表上方 “新建” 按钮,弹出

  • 帮助用户快速搭建Kubernetes集群。 云管平台支持创建和纳管Kubernetes集群,目前支持以下纳管集群的方式。 基于 云联壹云 、Aliyun、AWS 平台的虚拟机创建 Kubernetes 集群。 导入已创建的集群,支持纳管 Kubernetes 集群和 OpenShift 集群。 Kubernetes集群是容器运行所需要的云资源的集合。一个Kubernetes集群由1~3个控制节点和

  • 集群章节帮助用户快速搭建集群,并帮助用户管理节点、命名空间以及RBAC授权管理等。 集群 帮助用户快速搭建Kubernetes集群。 节点 节点是Pod的实际运行环境。 存储类 存储类用于定义容器集群中的不同存储类型。 命名空间 命名空间用于逻辑上隔离Kubernetes集群中的资源。 角色 角色定义了对集群的指定命名空间下资源的权限。 集群角色 集群角色定义了对集群下资源的权限。 角色绑定 角色