Class WSO2 ESB使用自定义中介
我喜欢为WSO2 ESB编写自定义中介。 我找到了一些这方面的教程,但在WSO2 ESB中无法使用。我想我可能在类中介器所需的路径中有错误,但让我解释一下: 为了编写这个中介,我使用了EclipseJuno的WSO2开发人员工作室 在那里,我创建了一个名为“b64writer”的新ESB中介项目,内容如下:Class WSO2 ESB使用自定义中介,class,wso2,esb,mediator,Class,Wso2,Esb,Mediator,我喜欢为WSO2 ESB编写自定义中介。 我找到了一些这方面的教程,但在WSO2 ESB中无法使用。我想我可能在类中介器所需的路径中有错误,但让我解释一下: 为了编写这个中介,我使用了EclipseJuno的WSO2开发人员工作室 在那里,我创建了一个名为“b64writer”的新ESB中介项目,内容如下: package org.wso2.carbon; import org.apache.synapse.MessageContext; import org.apache.synapse.m
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;
}
}
在下一步中,我创建了一个新的碳应用程序项目,并在“依赖项”上选择了调解人。其配置为:
- 组ID:org.wso2.carbon.b64mediator
- 工件ID:b64mediator
- 版本:1.0.0
<class name="org.wso2.carbon.B64Mediator" />
但事实并非如此。WSO2 ESB找不到该类。我的错误在哪里?将归档文件放在
存储库/组件/dropins
或存储库/组件/lib(如果您不将其构建为osgi捆绑包)
目录中。您应该将类中介部署为java库工件,并从类中介中引用它们。也就是说,从dev studio中取出您装箱的jar,并将taht保存在repository/components/lib文件夹中,然后重新启动服务器。
然后引用like
<class name="org.wso2.carbon.B64Mediator" />
从您的顺序来看,我遇到了与您相同的问题,我通过使用WSO2 Developer Studio插件for eclipse创建中介库,成功地添加了中介。(打开新建向导框,选择WSO2/扩展/项目类型/中介项目) 然后创建中介或放入项目中,并将其作为jar文件导出到/repository/components/lib文件夹。每次更新jar时,或者如果在添加jar时正在运行ESB,则必须重新启动ESB
我希望这有帮助 我不知道你的问题是否解决了。我也有同样的问题,但我能解决它 我使用EclipseKepler中的WSO2开发者工作室“中介项目”创建了我的中介。接下来,我在项目中右键单击并在属性中选择“导出生成的类文件和资源”,导出到Java/JAR文件
您必须将JAR文件放入repository/components/lib文件夹并重新启动ESB尝试了这两种方法,但均无效。如果单击“加载类”按钮,我仍然在路径中找不到错误类。它仍然不起作用。ESB无法找到该类。请检查我的包路径,是否正确?您的r包/类名是正确的..您是否需要构建那个JAR?也就是说,当您尝试exposr您的中介项目时,它将创建一个jar。如果您提取并查看,您将在那里看到类fiels。因此,如果您将其放在提到的lib文件夹中,它应该在calsspath中可用。但是您需要重新启动服务器“expsor”是什么意思?我尝试右键单击我的项目,并将其导出为JavaJAR文件。我还尝试将其导出为可部署的WSO2 Archiv。我得到一个双向的jar文件,但在WSO2 ESB中找不到该类。