Mulesoft Anypoint Studio DevKit - @Connector vs @Module(不需要config-ref)

时间:2015-04-30 04:23:41

标签: mule mule-studio mule-component

我正在尝试创建一个不需要连接到另一个源的组件或者这个事实的连接策略......但无论我尝试什么,我都无法阻止组件进行"基本设置&# 34; > "连接器配置" " Mule Properties"中的下拉/创建/编辑部分使用组件设置时的部分。

有谁知道我是如何创建一个不需要"连接器配置的Anypoint DevKit组件" ?

我的理解是注释在定义它时发挥了重要作用,并且连接器使用@Connector并且有人向我提到需要用@Module注释替换它,因为这表明不需要连接。但即使这样做,配置选项仍保留在组件上。

请参阅以下代码: (注意:我正在尝试创建一个自定义记录器,只需要有几个输入和一个下拉操作,我已经可以使用了。)

package au.com.company.companylogger;

import org.mule.api.annotations.Configurable;
import org.mule.api.annotations.Module;
import org.mule.api.annotations.Processor;
import org.mule.api.annotations.param.Default;
import org.mule.api.annotations.param.Optional;



@Module(name="company-logger", friendlyName="companyLogger", schemaVersion="1.0.0-SNAPSHOT")
public class companyLoggerConnector {




    @Processor(name="company-logger-trace", friendlyName="TRACE")
    public String companyLoggerTrace(String strStep) {
        /*
         * MESSAGE PROCESSOR CODE GOES HERE
         */
        return "TRACE : " + strStep;
    }




    @Processor(name="company-logger-debug", friendlyName="DEBUG")
    public String companyLoggerDebug(String strStep) {
        /*
         * MESSAGE PROCESSOR CODE GOES HERE
         */
        return "DEBUG : " + strStep;
    }
}

遗憾的是,我没有足够的声誉为您提供我不需要的配置图像。

欢迎任何帮助或建议。

2 个答案:

答案 0 :(得分:1)

使用Anypoint Devkit 3.6," config-ref"元素的属性变得必需,因此您需要为连接器创建全局元素定义。据我所知,目前还没有办法解决这个问题。

HTH

答案 1 :(得分:0)

可以使用@Connector或@Module中的configElementName属性更改配置元素名称

@Module(name="company-logger", friendlyName="companyLogger", configElementName="xx", schemaVersion="1.0.0-SNAPSHOT")

如果您未设置此属性,则默认为" config"。可能是如果你提供一个空字符串或null,那么它将不会显示。我之前没有尝试过。