我应该在哪里将包含 WSO2 ESB 自定义消息处理器的 jar 文件放入我的 WSO2 EI 安装中?

Where have I to put the jar file containing a WSO2 ESB custom message processor into my WSO2 EI installation?

我是 WSO2 EI 的新手,我正在尝试开发一个 自定义消息处理器 ,我必须将其用于 ESB流.

此时我只扩展了SamplingProcessorclass,这个:https://github.com/wso2/wso2-synapse/blob/master/modules/core/src/main/java/org/apache/synapse/message/processor/impl/sampler/SamplingProcessor.java

进入 Maven 项目。

我正在尝试一个简约的场景,我只覆盖 setParameters() 方法插入一个简单的日志,这是我的代码:

package com.mycompany.toolkit.messageprocessor;

import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.message.processor.impl.ScheduledMessageProcessor;
import org.apache.synapse.message.processor.impl.sampler.SamplingProcessor;

public abstract class SamplingProcessorHeaderRateLimitation extends SamplingProcessor {

    private static final Log logger = LogFactory.getLog(ScheduledMessageProcessor.class.getName());


    @Override
    public void setParameters(Map<String, Object> parameters) {
        logger.info("setParameters() START");
        // TODO Auto-generated method stub
        super.setParameters(parameters);

        logger.info("setParameters() END");
    }
}

我使用 Maven 创建了包含 thi class 编译版本的 jar 文件。

我的疑问是:我要把生成的 SamplingProcessorHeaderRateLimitation-0.0.1-SNAPSHOT.jar 文件放到我的 WSO2 EI 6.0.0 的什么地方 安装?

你应该把它放在 wso2ei-6.0.0\lib。然后,您应该能够在 XML 中将其引用为 com.mycompany.toolkit.messageprocessor.SamplingProcessorHeaderRateLimitation.

但是,我认为您不能将其设为抽象 class,因为这样做会阻止 WSO2 实例化它。因此,您应该从 class.

中删除 'abstract' 关键字

将JAR文件放在WSO2 EI的lib目录下。

<EI_HOME>/lib

另一个选项:

工件也可以通过管理控制台上传。参考以下link https://docs.wso2.com/display/EI600/Uploading+Artifacts