第三节:在Sashulin中自定义组件

上一节讲解了如何建立一个业务消息流,流程是由组件构成的。目前SMS提供了General、Database、MessageQueue、Socket、WebService、Http、Internet等系列常用组件,如果不满足业务需求,可以进行自定义组件开发。

一、组件开发

1、建立一个Jar项目

本例使用idear创建一个jar工程,名命为"SashulinComponent"。

2、引用jar文件

项目中引用Sashulin.jar和json-20140107.jar,这两个jar在Sashulin_v2.2.0中的lib目录。

3、新建组件类

组件继承于sashulin.Flows.Component。

package com.xx.comps;

import sashulin.AppServer;

import sashulin.Flows.Component;
import sashulin.Flows.MessageFlow;
import sashulin.Models.MessageModel;

public class SayHello extends Component{

    public SayHello(MessageFlow msgFlow, MessageModel messageModel) {
        super(msgFlow, messageModel);
    }

    public void execute(){
        String name = this.properties.getString("name");
        onMessage("{\"name\":\"hello,\""+name+"}");
    }
}

组件带自properties变量,保存了在开发环境中定义的属性,如图中的属性都保存在properties中:

4、打包jar

在工程属性配置好输出jar的名称后,再进行整个项目的编译和jar的构建

Rebuild Project编译组件工程,然后通过Build Artifacts构建jar文件,最终生成名为exampleComponent.jar文件。

二、组件安装

1、引用组件

将exampleComponent.jar拷贝到Sashulin_v2.2.0中的lib目录中即可。

2、在SMB中安装组件

在SMB中点击菜单Edit->Components,弹出组件管理窗口:

在左侧树中会显示所有组件。点周某个节点,在右边显示组件的名称、图标、和属性。

新建组件分类,命名为NewGroup1,点击ok即可建立分组:

新建组件:

填好属性后,按Apply进行保存。

三、组件应用

通过组件开发和安装后,那么就可以使用组件了,我们打开第二节中建立的工程csdnProject.epr,在流程编排界面中就看到新加的组件了。

我们把它加入到我们流程中:

保存工程,并点击Deploy部署。然后我们跑起来看看效果吧:

输出的结果是自定义组件中的内容,证明组件开发成功。

例子下载地址:https://download.csdn.net/download/lllllllllluoyi/88931416

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/440862.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二维码门楼牌管理系统应用场景:推动旅游与文化产业的智慧化升级

文章目录 前言一、二维码门楼牌管理系统在旅游领域的应用二、二维码门楼牌管理系统在文化产业的应用三、结语 前言 随着信息技术的不断发展,二维码门楼牌管理系统作为一种创新的信息化手段,正在逐渐渗透到旅游和文化领域。它通过为文化景点、旅游景点和…

面试经典150题——两数相加

​Anything is worth "fighting for," and when you get it, dont doubt it, you deserve it, you deserve it. 1. 题目描述 2. 题目分析与解析 2.1 思路一 这个题目虽然标的是中等,但是大家看一下应该还是比较容易想到思路的,这不就相当于…

华为通过FTP 进行文件操作示例

通过FTP进行文件操作示例 组网图形 图1 通过FTP进行文件操作组网图 通过FTP进行文件操作简介配置注意事项组网需求配置思路操作步骤配置文件相关信息 通过FTP进行文件操作简介 配置设备作为FTP服务器,用户可以在终端通过FTP客户端软件访问设备,在本…

深入理解 HTTP Authorization 头:基础知识

在当今的互联网世界中,安全性贯穿于 web 应用的每个方面,HTTP Authorization 头的使用在这个过程中扮演着不可或缺的角色。它是 HTTP 请求中的一个重要部分,用来在客户端和服务器之间安全地传输认证信息。用途广泛,无论是浏览器还…

外包干了1个多月,技术退步明显...

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 这次来聊一个大家可能也比较关心的问题,那就是就业城…

JS-04-javaScript数据类型和变量

一、数据类型 计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在JavaScript中定义了以下几种数据类型: 1-1、Number JavaScript不区分整数和浮点数&…

听 GPT 讲 client-go 源代码 (23)

分享更多精彩内容,欢迎关注! File: client-go/kubernetes/scheme/register.go 在client-go项目中,client-go/kubernetes/scheme/register.go文件的作用是进行Kubernetes API对象的Scheme注册。 Scheme是一个用于序列化和反序列化Kubernetes A…

Redis核心数据结构之字典(二)

字典 解决键冲突 当有两个或以上数量的键被分配到了一个哈希表数组的同一个索引上面,我们称这些键发生了冲突(collision)。 Redis的哈希表使用链地址法(separate chaining)来解决键冲突,每个哈希表节点都有一个next指针,多个哈希表节点可以…

官网正在被哪些产品蚕食,定制网站又被哪些建站产品挤占。

2023-12-09 16:22贝格前端工场 官网建设是一个被大多数人看衰的市场,本文来理性分析下,谁在蚕食这个市场,谁又在挤占这个产品生存空间,欢迎大家评论,探讨。 网站正在被以下产品形式取代: 1. 移动应用&…

探索数据结构:单链表的实战指南

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty‘s blog 前言 在上一章节中我们讲解了数据结构中的顺序表,知道了顺序…

【Spring知识体系】1.1 Java 注解(Annotation)

文章目录 1.1 注解(Annotation)1.1.1 什么是注解1.1.2 内置注解1.1.3 元注解(5种)1.14 自定义注解1.15 注解使用场景介绍※ 本文小结 1.1 注解(Annotation) 1.1.1 什么是注解 注解的定义:它提…

Java中接口新增的方法(默认方法,静态方法,私有方法)

Java中接口新增的方法(默认方法,静态方法,私有方法)

遗传算法理解与代码实战(二)- demo(python+deap)

前文介绍了遗传算法,并且手动python代码进行了实践,但是在遇到复杂的问题时(遗传算法理解与代码实战(三)会介绍),手写代码很麻烦,所以需要借助专门的遗传算法库来实现,这…

使用Python快速提取PPT中的文本内容

直接提取PPT中的文本内容可以方便我们进行进一步处理或分析,也可以直接用于其他文档的编撰。通过使用Python程序,我们可以快速批量提取PPT中的文本内容,从而实现高效的信息收集或对其中的数据进行分析。本文将介绍如何使用Python程序提取Powe…

Vue | 基于 vue-admin-template 项目的跨域问题解决方法

目录 一、现存问题 二、解决方法 2.1 修改的第一个地方 2.2 修改的第二个地方 2.3 修改的第三个地方 自存 一、现存问题 报错截图如下: 二、解决方法 2.1 修改的第一个地方 在 .env.development 文件中: # base api # VUE_APP_BASE_API /d…

阿里云服务器地域和可用区选择及关系说明

阿里云服务器地域和可用区怎么选择?地域是指云服务器所在物理数据中心的位置,地域选择就近选择,访客距离地域所在城市越近网络延迟越低,速度就越快;可用区是指同一个地域下,网络和电力相互独立的区域&#…

如何使用Python的Open3D 库LAS对点云进行重建

在 Python 中对点云进行重建也可以使用 PCL 库,不过更为常见的是使用 Open3D 库。Open3D 是一个开源的现代化 3D 数据处理库,提供了许多用于点云和三维几何数据处理的功能,包括点云重建。 下面是一个简单的示例代码,演示了如何使…

人工智能|机器学习——k-近邻算法(KNN分类算法)

1.简介 k-最近邻算法,也称为 kNN 或 k-NN,是一种非参数、有监督的学习分类器,它使用邻近度对单个数据点的分组进行分类或预测。虽然它可以用于回归问题,但它通常用作分类算法,假设可以在彼此附近找到相似点。 对于分类…

灵魂指针,教给(二)

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看,已成习惯 创作不易,多多支持! 目录 一、数组名的理解 二、使用指针访问数组 三、一维数组传参本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组…

Go语言物联网开发安科瑞ADW300/4G电能表数据上传mqtt平台-电表接线到传输数据完整流程

电能表功能说明 ADW300是方便用户进行用电监测、集抄和管理,可灵活安装在配电箱中,可用于电力运维、环保监管等在线监测类平台中。我们本案例是用于工业售电公司对出售电的管理,设备可以监控用电情况、故障监控及警报,售电公司可…