繁体   English   中英

ule子定制变压器

[英]Mule custom transformer with

我在查找如何创建可以在Mule 3.2中输入和输出文件的自定义转换器时遇到了一些麻烦。 我已经为转换编写了代码原型,并且可以正常工作,但是我找不到任何有关如何在转换器中获取文件的文档。

这是我目前所拥有的,但是即使这样也会引发错误:

@ContainsTransformerMethods
  public class xmlToJson {

  @Transformer
  public File xmlIn(File file) {
    // logic to go here
    return file;
  }
}

这是抛出的异常:

ERROR 2012-06-27 14:08:37,664 [main] org.mule.tooling.server.application.
ApplicationDeployer: null
java.lang.IllegalStateException: Cannot convert value of type [convert.xmlToJson]
to required type [org.mule.api.processor.MessageProcessor] for property 'messageProcessors[0]': no matching editors or conversion strategy found

我似乎找不到任何文档或教程来显示如何构建自定义转换器以接收文件。

带注释的变压器通常用于自动转换,如下所示:

http://www.mulesoft.org/documentation/display/MULE3USER/Creating+Custom+Transformers

您可能更适合用例的方法是,通过扩展AbstractTransformer来创建自定义变换,如下所示:

http://www.mulesoft.org/documentation/display/MULE3USER/Creating+Custom+Transformer+Class

您可以在以下链接中找到有关如何使用这两种方法的很好的教程

http://www.mulesoft.org/documentation/display/MULE3EXAMPLES/Invoking+Component+Methods

为了创建具有自定义逻辑的自定义转换器,您需要创建自定义类,该自定义类扩展了AbstractMessageTransformer,然后应从此Abstract类中覆盖transformMessage()。 之后,只有您可以在任何转换器标签中提供自定义类。 带注释的转换器将在Mule中注册,如果Mule需要从sourceType转换为returnType,它们将被自动调用。

@ContainsTransformerMethods
public class MyCustomTransformers
{
 @Transformer
  public URL stringToURL(String string) throws MalformedURLException
   {
     return new java.net.URL(string);
   }
}

这里的sourceType是String,returnType是URL。 因此,每当Mule本身需要从String转换为URL时,都将使用此转换器。

这是一个在Mule中创建自定义转换器的好链接

http://javacodinggeeks.blogspot.in/2015/05/writing-custom-transformers-in-mule.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM