0

我是WSO2 EI的新手,我正在尝试开发一个自定义消息处理器,我必须在ESB流中使用它。

这时候我只扩展了SamplingProcessor类,这个:https ://github.com/wso2/wso2-synapse/blob/master/modules/core/src/main/java/org/apache/synapse/message/处理器/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 类的编译版本的 jar 文件。

我的疑问是:我在哪里将生成的SamplingProcessorHeaderRateLimitation-0.0.1-SNAPSHOT.jar文件放入我的WSO2 EI 6.0.0安装中?

4

2 回答 2

1

将 JAR 文件放在libWSO2 EI 的目录中。

<EI_HOME>/lib

另外的选择:

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

于 2017-07-17T16:29:10.513 回答
1

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

但是,我相信您不能将其设为抽象类,因为这样做会阻止 WSO2 实例化它。所以你应该从你的班级中删除'abstract'关键字。

于 2017-07-17T16:27:50.113 回答