跳转到内容

连接器

重要

在mule集成平台中在与第三方中间件,服务进行集成都会用到连接器。

类别

定义

定义连接器

示例

@Data
@Connector("Dubbo")
public class DubboRegistryConnector {
@ConfigFieldInfo(label = "注册中心地址", inputType = FieldInputType.String, defaultValue = "zookeeper://ZOOKEEPER_HOST:ZOOKEEPER_PORT")
private String address;
@ConfigFieldInfo(label = "应用名", inputType = FieldInputType.String)
private String application;
@ConfigFieldInfo(label = "线程池", inputType = FieldInputType.Integer)
private Integer threads = 500;
}

效果

![image-20210624162646546](/Users/rocky/Library/Application Support/typora-user-images/image-20210624162646546.png)

@Connector

配置连接器名称(value), 顺序(order), 描述信息(描述信息)

@Inherited
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface Connector {
String value();
int order() default Short.MAX_VALUE;
String description() default DalaranConstants.DALARAN_COMPONENT_DEFAULT_DESC;
}

@ConfigFieldInfo

描述连接器的一些属性

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface ConfigFieldInfo {
//默认值
String defaultValue() default "";
//例子
String example() default "";
//标签名
String label() default "";
//是否必填
boolean required() default true;
//是否只读
boolean readonly() default false;
//路径
String path() default "";
//参数
String param() default "";
String show() default "";
//输入类型
String inputType() default FieldInputType.Auto;
boolean dynamic() default false;
Class connectorType() default Void.class;
Class limiterType() default Void.class;
Class authenticatorType() default Void.class;
}