大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 實現簡單的Java工作流

實現簡單的Java工作流

更新時間:2022-10-24 10:44:03 來源:動力節點 瀏覽3621次

本教程展示了如何使用開源 Neuro4j Workflow 創建和運行一個簡單的 java 工作流應用程序。工作流框架使您的程序更具可讀性和更易于維護,而不會影響性能。

本文使用的技術:

Neuro4j 工作流程 3.4.1

Maven 4.0

Neuro4j Studio 3.0(基于 Eclipse Neon)

JDK 1.8

1.用Maven生成項目結構

發出以下 Maven 命令以創建標準 Java 項目結構。

mvn archetype:generate -DgroupId =org.neuro4j.workflow.tutorial -DartifactId =WorkflowExample 
    		 -DarchetypeArtifactId =maven-archetype-quickstart -DinteractiveMode = false

2. 將項目導入Neuro4j Studio

3. 添加 Neuro4j Workflow 3.3.1 依賴

在 Maven pom.xml文件中添加下面列出的 Neuro4j Workflow 3.3.1 依賴項 。

<project  xmlns="http://maven.apache.org/POM/4.0.0"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http:// /maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > 
	<modelVersion> 4.0.0 </modelVersion> 
	<groupId> org.neuro4j.workflow.tutorial < /groupId> 
	<artifactId> WorkflowExample </artifactId> 
	<packaging> jar </packaging> 
	<version> 1.1-SNAPSHOT </version> 
	<name> WorkflowExample </name> 
	<url> http://maven.apache.org < /網址>
	<properties> 
		<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> 
		<org.neuro4j.version> 3.3.1 </org.neuro4j.version> 
		<java.version> 1.8 </java.version > 
	</屬性>
	<dependencies> 
		<dependency> 
			<groupId> org.neuro4j </groupId> 
			<artifactId> neuro4j-workflow-common </artifactId> 
			<version> ${org.neuro4j.version} </version> 
		</dependency> 
		<dependency> 
			<groupId> junit </groupId> 
			<artifactId> junit </artifactId> 
			<version> 4.8.2 </version> 
			<scope> test </scope> 
		</dependency> 		
	</dependencies> 
	<build> 
		<resources> 
			<resource > 
				<目錄>src/main/java </directory> 
				<includes> 
					<include> **/*.n4j</include> 
				</includes> 
			</resource> 
			<resource> 
				<directory> src/main/resources </directory> 
				<includes> 
					<include> **/*.png </include> 
				</includes> 
			</resource > 
		</resources> 
		<testResources> 
			<testResource> 
				<directory> src/test/java </directory> 
				<includes> 
					<include> **/** </include> 
				</includes> 
			</testResource> 
			<testResource> 
				<目錄> src/test/resources </directory> 
				<includes> 
					<包括> **/** </include> 
				</includes> 
			</testResource>
		</testResources> 
		<plugins> 
			<plugin> 
				<groupId> org.apache.maven.plugins </groupId> 
				<artifactId> maven-compiler-plugin </artifactId> 
				<version> 3.1 </version> 
				<configuration> 
					<source> ${java.version} </source> 
					<target> ${java.version} </target> 
				</configuration> 
			</plugin> 
		</plugins> 
	</build> 
</project>

4.自定義塊

打開 Neuro4j 工作室

切換到 Neuro4j Flow 透視圖

選擇包“org.neuro4j.workflow.tutorial”

選擇新建自定義塊向導

點擊下一步。

單擊完成。

更新方法“執行”。

一個簡單的 java CustomBlock。

包組織。神經4j 。工作流程。教程;
導入 靜態組織。神經4j 。工作流程。教程。你好世界。IN_NAME ; 
導入 靜態組織。神經4j 。工作流程。教程。你好世界。OUT_MESSAGE ;
導入 org.neuro4j.workflow.ActionBlock ;
導入 org.neuro4j.workflow.FlowContext ;
導入 org.neuro4j.workflow.common.FlowExecutionException ;
導入 org.neuro4j.workflow.common.ParameterDefinition ;
導入 org.neuro4j.workflow.common.ParameterDefinitionList ;
導入 靜態組織。神經4j 。工作流程。枚舉。動作塊緩存.*; 
導入 org.neuro4j.workflow.enums.CachedNode ;
導入 org.slf4j.Logger ;
導入 org.slf4j.LoggerFactory;
/** 
* HelloWorld 塊接收名稱作為輸入參數并返回消息作為輸出參數。
*   
*/ 
@ParameterDefinitionList ( input =  {  @ParameterDefinition ( name = IN_NAME , isOptional =  true , type =  "java.lang.String" )  },  
                         output =  {  @ParameterDefinition ( name = OUT_MESSAGE , isOptional =  true , type =  "java .lang.String")  })
// 將在工作流中只創建一個 HelloWorld 類的實例
@CachedNode ( type = SINGLETON ) 
public  class  HelloWorld  implements ActionBlock {	
	私有 靜態 最終Logger logger = LoggerFactory 。getLogger ( HelloWorld.class ) ; _
	static  final String IN_NAME =  "name" ;
	靜態 最終字符串 OUT_MESSAGE =  "消息" ;
	公共 int 執行( FlowContext ctx ) 拋出FlowExecutionException {
		字符串名稱=  (字符串) ctx 。獲取( IN_NAME );
		字符串消息=  "Hello World!" ;
		如果 (名稱!=  null ) {
			消息+=名稱;
		}		
		記錄器。調試(“消息:{}” ,消息);		
		ctx _ 放( OUT_MESSAGE ,消息);
		返回下一個;
	}
}

5. 工作流程

創建工作流

選擇包“org.neuro4j.workflow.tutorial”

選擇新建工作流向導

將開始節點、自定義節點和結束節點添加到流中

將開始節點重命名為“開始”

選擇自定義節點。在屬性視圖上選擇實現類

選擇類“org.neuro4j.workflow.tutorial.HelloWorld”

保存流量。

6.客戶端java代碼

客戶端運行工作流的 java 代碼。

包組織。神經4j 。工作流程。教程;
導入 java.util.HashMap ;
導入 java.util.Map ;
導入 org.neuro4j.workflow.ExecutionResult ;
導入 org.neuro4j.workflow.common.WorkflowEngine ;
導入 org.neuro4j.workflow.common.WorkflowEngine.ConfigBuilder ;
/** 
* 這是客戶端的類。
*/
公共 類 App  
{	
    公共 靜態 無效 主要(字符串[]參數)
    {    	
    	// 使用默認配置創建引擎
    	WorkflowEngine engine =  new WorkflowEngine ( new ConfigBuilder ());    	
    	// 輸入參數
    	Map < String , Object > parameters =  new HashMap < String , Object >(); 
    	參數。放(“名稱” , “工作流程” );
    	//執行流程
    	ExecutionResult result =   engine . 執行(“org.neuro4j.workflow.tutorial.HelloFlow-Start” ,參數);    	
    	if  ( result.getException ( ) == null ) { String 
    		message = ( String )結果。獲取流上下文()。獲取(“消息” );
    		系統。出來。println ( "消息:" +消息);      	      		
    	} 其他 {
    		結果. 打印();
    	}
    } 
}

7.運行代碼

使用 maven 或 Eclipse 運行代碼。

mvn 干凈安裝
mvn compile exec:java -Dexec.mainClass="org.neuro4j.workflow.tutorial.App"

結果:

消息:世界你好!工作流程

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久久99视频 | 亚洲精品一区二区观看 | 国产精品嫩草研究所永久网址 | 成人在线a| 欧美做爰孕妇群 | 日韩欧美理论 | 欧美jizzhd精品欧美4k | 欧美视频在线观在线看 | 日日舔夜夜摸 | 91精品免费在线观看 | 一级一片免费播放 | 久久青草免费97线频观 | 久久久久久久国产精品影院 | 日日摸日日| 成人伊人 | 在线播放波多野结衣 | 5x性区m免费毛片视频看看 | 99re9精品视频在线 | 成人在线免费视频播放 | 国产一级在线视频 | 99热这里只有精品在线观看 | 久久精品一区 | 男人的天堂在线精品视频 | 国产高清在线精品二区一 | 久久永久视频 | 2020国产成人精品视频人 | 国内精品久久久久久久999下 | 狠狠色噜噜狠狠狠狠888奇米 | 精彩视频一区二区 | 99国产精品免费视频观看 | 国产日韩欧美在线观看免费视频 | 久久青 | 奇米线在人线免费视频 | 污宅男666在线永久免费观看 | 国产精品亚洲一区二区三区正片 | 亚欧中文字幕 | 免费观看男女羞羞的视频网站 | 国产成+人+综合+亚洲 欧美 | 男女乱淫真视频免费一级毛片 | 91模特| 久久久视频在线 |