WSO2 ESB使用Custom Mediator

时间:2013-06-12 11:52:41

标签: class wso2 esb mediator

我喜欢为WSO2 ESB编写自定义中介。 我找到了一些教程,但我没有在WSO2 ESB中使用它。我想我可能在Class Mediator所需的路径上有一个错误,但让我解释一下:

为了编写这个Mediator,我使用WSO2开发人员Studio for Eclipse Juno。

在那里,我使用以下内容创建了一个名为“b64writer”的新ESB Mediator项目:

package org.wso2.carbon;
import org.apache.synapse.MessageContext; 
import org.apache.synapse.mediators.AbstractMediator;
public class B64Mediator extends AbstractMediator { 
    public boolean mediate(MessageContext context) { 
        // TODO Implement your mediation logic here         
        String inhalt = context.getEnvelope().toString();
        trace.trace("Message: " + inhalt);
        return true;
    }
}

在下一步中,我创建了一个新的Carbon Application Project,并在“Dependencies”上选择了Mediator。这个配置是:

  • 组ID:org.wso2.carbon.b64mediator
  • 工件ID:b64mediator
  • 版本:1.0.0

我使用右侧的按钮创建档案。这个档案我复制到“C:\ wso2esb \ repository \ carbonapps \ 0”。

现在我的问题是:我如何使用这个Mediator? 它应该像这样工作:

<class name="org.wso2.carbon.B64Mediator" />

但事实并非如此。 WSO2 ESB无法找到该课程。哪里是我的错?

4 个答案:

答案 0 :(得分:1)

好的,我和你有同样的问题,我设法通过使用eclipse的WSO2 Developer Studio插件来创建中介库来添加中介。 (打开新的向导框,然后选择WSO2 / Extensions / Project Types / Mediator Project)

然后创建您的介体或放入项目,并将其作为jar文件导出到/ repository / components / lib文件夹。每次更新jar时都必须重新启动ESB,或者在添加jar时运行ESB。

我希望这会有所帮助。

答案 1 :(得分:0)

将存档放在repository/components/dropinsrepository/components/lib (if you don't build it as an osgi bundle)目录中。

答案 2 :(得分:0)

您应该将类​​调解器部署为java Library工件,并从类Mediators中引用它们。也就是说,你从开发工作室那里得到了jar,并保留在repository / components / lib文件夹中并重新启动服务器。 请参考;

<class name="org.wso2.carbon.B64Mediator" />

来自你的序列

答案 3 :(得分:0)

我不知道你是否解决了问题。我有同样的问题,但我可以解决它。

我使用WSO2 Developer Studio&#34; Mediator Project&#34;创建了我的中介。在Eclipse Kepler中。接下来,我导出到Java / JAR文件,右键单击我的项目并选择&#34;导出生成的类文件和资源&#34;在属性中。

您必须将JAR文件放入repository / components / lib文件夹并重新启动ESB