将Camel marshall执行到CSV文件时出错

时间:2017-12-03 09:07:41

标签: apache-camel jbossfuse

我在尝试运行这条骆驼路线时遇到错误:

    <route>
      <from id="_from1" uri="timer:foo?repeatCount=1"/>
      <to id="_to3" uri="sql:select nro_servicio, documentodesconexionsap FROM servicio_cab;?dataSource=dataSource"/>
      <to id="_to2" uri="bean:com.enelint.pangeaent.GlobalDataController?method=processGlobalData(Exchange)"/>
      <marshal id="_marshal1">
       <csv/>
     </marshal>
     <to id="_to1" uri="file:/fs/out?fileName=out.csv"/>
    </route>

堆栈跟踪是:运行main时发生错误:org.apache.camel.test.blueprint.Main。 如果我将marshal更改为string,则会创建输出文件,但显然内容未格式化为逗号分隔。 我使用的是Camel 2.17版。 任何帮助将不胜感激。

更新: 这是我的POJO课程:

package com.enelint.pangeaenelint;

import java.util.Date;

import org.apache.camel.dataformat.bindy.annotation.CsvRecord;
import org.apache.camel.dataformat.bindy.annotation.DataField;

@CsvRecord(separator="\\;")
public class ServicioCab {


    @DataField(pos=1, required=false)
    String documentodesconexionsap;

    @DataField(pos=2, required=false)
    String nro_cuenta_contrato;      

    @DataField(pos=3, required=false)
    String status;             

    @DataField(pos=4, required=true)
    String motivo_accion;           

    @DataField(pos=5, required=false, pattern="dd.MM.yyyy")
    String fecha_corte_repo;

    @DataField(pos=6, required=false)
    String hora_corte_repo;        

    @DataField(pos=7, required=false)
    String reemite;      

    @DataField(pos=8, required=false)
    String dias_reemision;             

    @DataField(pos=9, required=false)
    String enviado_sap;

    public String getDocumentodesconexionsap() {
        return documentodesconexionsap;
    }

    public void setDocumentodesconexionsap(String documentodesconexionsap) {
        this.documentodesconexionsap = documentodesconexionsap;
    }

    public String getNro_cuenta_contrato() {
        return nro_cuenta_contrato;
    }

    public void setNro_cuenta_contrato(String nro_cuenta_contrato) {
        this.nro_cuenta_contrato = nro_cuenta_contrato;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getMotivo_accion() {
        return motivo_accion;
    }

    public void setMotivo_accion(String motivo_accion) {
        this.motivo_accion = motivo_accion;
    }

    public String getFecha_corte_repo() {
        return fecha_corte_repo;
    }

    public void setFecha_corte_repo(String fecha_corte_repo) {
        this.fecha_corte_repo = fecha_corte_repo;
    }

    public String getHora_corte_repo() {
        return hora_corte_repo;
    }

    public void setHora_corte_repo(String hora_corte_repo) {
        this.hora_corte_repo = hora_corte_repo;
    }

    public String getReemite() {
        return reemite;
    }

    public void setReemite(String reemite) {
        this.reemite = reemite;
    }

    public String getDias_reemision() {
        return dias_reemision;
    }

    public void setDias_reemision(String dias_reemision) {
        this.dias_reemision = dias_reemision;
    }

    public String getEnviado_sap() {
        return enviado_sap;
    }

    public void setEnviado_sap(String enviado_sap) {
        this.enviado_sap = enviado_sap;
    }        
}

0 个答案:

没有答案