{"id":22465,"date":"2024-03-15T23:38:37","date_gmt":"2024-03-15T23:38:37","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/"},"modified":"2024-03-21T22:56:51","modified_gmt":"2024-03-21T22:56:51","slug":"how-can-activiti-fetch-the-next-step-node","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/","title":{"rendered":"How can activiti fetch the next step node?"},"content":{"rendered":"<p>In Activiti, you can obtain the next step node by using the following method:<\/p>\n<ol>\n<li>Use the getOutgoingTransitions() method of TaskService to retrieve all outgoing transitions of the current task. This will return a List object containing information for each outgoing transition.<\/li>\n<li>To obtain the target node for each exit transition, you can use the getDestination() method of the Transition object.<\/li>\n<li>By accessing the target node, you can use the getId() method of the Node object to retrieve the node&#8217;s ID.<\/li>\n<\/ol>\n<p>Here is an example of obtaining the next step node using Java code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> org.activiti.engine.task.Task;\r\n<span class=\"hljs-keyword\">import<\/span> org.activiti.engine.TaskService;\r\n<span class=\"hljs-keyword\">import<\/span> org.activiti.engine.RepositoryService;\r\n<span class=\"hljs-keyword\">import<\/span> org.activiti.engine.RuntimeService;\r\n<span class=\"hljs-keyword\">import<\/span> org.activiti.engine.repository.ProcessDefinition;\r\n<span class=\"hljs-keyword\">import<\/span> org.activiti.engine.repository.ProcessDefinitionQuery;\r\n<span class=\"hljs-keyword\">import<\/span> org.activiti.engine.runtime.ProcessInstance;\r\n\r\n<span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u4e0b\u4e00\u6b65\u8282\u70b9\u7684\u4ee3\u7801\u793a\u4f8b<\/span>\r\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">GetNextNode<\/span> {\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title function_\">main<\/span><span class=\"hljs-params\">(String[] args)<\/span> {\r\n        <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">processDefinitionKey<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"yourProcessDefinitionKey\"<\/span>;\r\n        <span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">processInstanceId<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-string\">\"yourProcessInstanceId\"<\/span>;\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u83b7\u53d6TaskService\u3001RepositoryService\u548cRuntimeService\u5bf9\u8c61<\/span>\r\n        <span class=\"hljs-type\">TaskService<\/span> <span class=\"hljs-variable\">taskService<\/span> <span class=\"hljs-operator\">=<\/span> activitiEngine.getTaskService();\r\n        <span class=\"hljs-type\">RepositoryService<\/span> <span class=\"hljs-variable\">repositoryService<\/span> <span class=\"hljs-operator\">=<\/span> activitiEngine.getRepositoryService();\r\n        <span class=\"hljs-type\">RuntimeService<\/span> <span class=\"hljs-variable\">runtimeService<\/span> <span class=\"hljs-operator\">=<\/span> activitiEngine.getRuntimeService();\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5f53\u524d\u4efb\u52a1<\/span>\r\n        <span class=\"hljs-type\">Task<\/span> <span class=\"hljs-variable\">task<\/span> <span class=\"hljs-operator\">=<\/span> taskService.createTaskQuery()\r\n                .processInstanceId(processInstanceId)\r\n                .singleResult();\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u5f53\u524d\u4efb\u52a1\u7684\u51fa\u53e3\u6d41\u8f6c<\/span>\r\n        List&lt;SequenceFlow&gt; outgoingTransitions = repositoryService.getBpmnModel(task.getProcessDefinitionId())\r\n                .getMainProcess().getFlowElement(task.getTaskDefinitionKey())\r\n                .getOutgoingFlows();\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u4e0b\u4e00\u6b65\u8282\u70b9<\/span>\r\n        List&lt;String&gt; nextNodeIds = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">ArrayList<\/span>&lt;&gt;();\r\n        <span class=\"hljs-keyword\">for<\/span> (SequenceFlow flow : outgoingTransitions) {\r\n            nextNodeIds.add(flow.getTargetFlowElement().getId());\r\n        }\r\n\r\n        <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\u4e0b\u4e00\u6b65\u8282\u70b9\u7684ID<\/span>\r\n        <span class=\"hljs-keyword\">for<\/span> (String nodeId : nextNodeIds) {\r\n            System.out.println(<span class=\"hljs-string\">\"Next Node ID: \"<\/span> + nodeId);\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Please note that this example assumes you already have a running process instance, and you know the ID of the current task and the key of the process definition. You will need to replace yourProcessDefinitionKey and yourProcessInstanceId with your specific values.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Activiti, you can obtain the next step node by using the following method: Use the getOutgoingTransitions() method of TaskService to retrieve all outgoing transitions of the current task. This will return a List object containing information for each outgoing transition. To obtain the target node for each exit transition, you can use the getDestination() [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-22465","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How can activiti fetch the next step node? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How can activiti fetch the next step node?\" \/>\n<meta property=\"og:description\" content=\"In Activiti, you can obtain the next step node by using the following method: Use the getOutgoingTransitions() method of TaskService to retrieve all outgoing transitions of the current task. This will return a List object containing information for each outgoing transition. To obtain the target node for each exit transition, you can use the getDestination() [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T23:38:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T22:56:51+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noah Thompson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"How can activiti fetch the next step node?\",\"datePublished\":\"2024-03-15T23:38:37+00:00\",\"dateModified\":\"2024-03-21T22:56:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/\"},\"wordCount\":143,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/\",\"name\":\"How can activiti fetch the next step node? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T23:38:37+00:00\",\"dateModified\":\"2024-03-21T22:56:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How can activiti fetch the next step node?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How can activiti fetch the next step node? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/","og_locale":"en_US","og_type":"article","og_title":"How can activiti fetch the next step node?","og_description":"In Activiti, you can obtain the next step node by using the following method: Use the getOutgoingTransitions() method of TaskService to retrieve all outgoing transitions of the current task. This will return a List object containing information for each outgoing transition. To obtain the target node for each exit transition, you can use the getDestination() [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T23:38:37+00:00","article_modified_time":"2024-03-21T22:56:51+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"How can activiti fetch the next step node?","datePublished":"2024-03-15T23:38:37+00:00","dateModified":"2024-03-21T22:56:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/"},"wordCount":143,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/","name":"How can activiti fetch the next step node? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T23:38:37+00:00","dateModified":"2024-03-21T22:56:51+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-activiti-fetch-the-next-step-node\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How can activiti fetch the next step node?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=22465"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22465\/revisions"}],"predecessor-version":[{"id":56389,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/22465\/revisions\/56389"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=22465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=22465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=22465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}