返回介绍

19.1. JMX

发布于 2023-09-17 23:40:34 字数 4318 浏览 0 评论 0 收藏 0

19.1.1. 介绍

可以使用标准Java管理扩展(Java Management Extensions, JMX)技术连接Flowable引擎,查询信息或修改配置。任何符合标准的JMX客户端都可以使用。通过JMX可以完成启用与禁用作业执行器、部署新的流程定义文件或删除流程等操作,而不需要写一行代码。

19.1.2. 快速开始

默认情况下没有启用JMX。用Maven或其他方法将flowable-jmx jar文件加入classpath即可使用默认配置启动JMX。如果使用Maven,可以在pom.xml中添加下列依赖:

<dependency>
  <groupId>org.flowable</groupId>
  <artifactId>flowable-jmx</artifactId>
  <version>latest.version</version>
</dependency>

在添加依赖并启动流程引擎后,就可以使用JMX进行连接了。可以使用在标准JDK发行版中提供的jconsole。在本地线程列表中,可以找到运行Flowable的JVM。如果在“本地进程”中没有列出Flowable的JVM,可以尝试使用这个URL从“远程进程”中连接:

service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/flowable

可以在日志文件中找到正确的本地URL。连接成功后,可以看到标准的JVM信息以及MBean。选择MBeans页签,并在右侧面板选择"org.flowable.jmx.Mbeans",查看Flowable的MBean。选择任何MBean,都可以查询相应的信息或修改配置。如下图所示:

jmx.jconsole

不只是jconsole,任何JMX客户端都可以访问 MBeans。大多数数据中心的监控工具都会提供连接至JMX MBeans的连接器。

19.1.3. 属性与操作

下表是目前可用的属性与操作的列表。这个列表可能根据需要在未来版本中扩展。

MBean类型名字描述
ProcessDefinitionsMBean属性processDefinitions已部署流程定义的IdNameVersionIsSuspended等参数,是一个字符串的list
属性deployments当前部署的IdNameTenantId参数
方法getProcessDefinitionById(String id)给定id流程定义的IdNameVersionIsSuspended参数
方法deleteDeployment(String id)删除给定Id的部署
方法suspendProcessDefinitionById(String id)暂停给定Id的流程定义
方法activatedProcessDefinitionById(String id)激活给定Id的流程定义
方法suspendProcessDefinitionByKey(String id)暂停给定key的流程定义
方法activatedProcessDefinitionByKey(String id)激活给定key的流程定义
方法deployProcessDefinition(String resourceName, String processDefinitionFile)部署流程定义文件
JobExecutorMBean属性isJobExecutorActivated返回作业执行器是否在运行
方法setJobExecutorActivate(Boolean active)启用或停用作业执行器

19.1.4. 配置

JMX默认配置为最常使用的配置,以简化部署。但也可以很容易地以代码或配置文件的方式修改默认配置。下列代码展示了如何修改配置文件:

<bean class="...SomeProcessEngineConfigurationClass">
  ...
  <property name="configurators">
  <list>
	  <bean class="org.flowable.management.jmx.JMXConfigurator">

	  <property name="connectorPort" value="1912" />
    <property name="serviceUrlPath" value="/jmxrmi/flowable" />

		...
    </bean>
  </list>
  </property>
</bean>

下表展示了可配置的参数与其默认值:

名字默认值描述
disabledfalse若值为true,即使已添加依赖也不会启动JMX
domainorg.flowable.jmx.MbeansMBean的域
createConnectortrue若值为true,则会创建一个连接器至MbeanServer
MBeanDomainDefaultDomainMBean服务器的域
registryPort1099注册端口,组成服务URL
serviceUrlPath/jmxrmi/flowable组成服务URL
connectorPort-1如果大于0,则作为连接端口组成服务URL

19.1.5. JMX服务URL

JMX服务URL格式如下:

service:jmx:rmi://<hostName>:<connectorPort>/jndi/rmi://<hostName>:<registryPort>/<serviceUrlPath>

hostName自动设置为机器的网络名。可以配置connectorPortregistryPortserviceUrlPath

如果connectionPort小于0,则服务URL不包括这部分,简化为:

service:jmx:rmi:///jndi/rmi://:<hostname>:<registryPort>/<serviceUrlPath>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文