Верблюд Apache: исключение недопустимого аргумента Bindy

Я делаю преобразование формата данных между POJO в CSV и наоборот. В этом случае при преобразовании CSV в объектный файл (Unmarshalling) я получаю исключение недопустимого аргумента для типа данных int. Только для строки он работает нормально. Ниже мой POJO

@CsvRecord(separator="//|",crlf="UNIX",generateHeaderColumns=false)
public class EmployeeVO implements Serializable{

    private static final long serialVersionUID = -663135747565879908L;

    @DataField(pos=1)
    private String name;

    @DataField(pos=3)
    private Integer age;

    @DataField(pos=2)
    private String grade;
        // getter setter
}   

CSV-данные

sumit|4th standrad|22

вышеуказанный csv генерируется из вышеуказанного POJO. Но во время преобразования CSV в POJO я получаю следующее исключение

java.lang.IllegalArgumentException: Parsing error detected for field defined at the position: 3, line: 1

Ниже приведен мой файл контекста верблюда для справки.

маршал

<route>
        <from uri="cxf:bean:rtoemplyeeService"/>
        <convertBodyTo type="java.lang.String" id="stringInput"/>
        <bean ref="govtEmpBean" method="getEmployeeCSV" beanType="govtEmpBean" id="govtEmp"/>
        <log message="before marshalling ================== ${body}"/>
        <marshal ref="bindyDataformat">
            <bindy type="Csv" packages="com.mycompany.converter.vo"/>
        </marshal>
        <log message="after marshalling ================== ${body}"/>
        <to uri="file://D:/JATO_WORK/repo_bkp/csv/"/>
        <setBody>
            <simple>CSV output is generated at file system </simple>
        </setBody>
    </route>

маршал

 <route id="csvtoobject">
        <from uri="file://D:/JATO_WORK/repo_bkp/csv?delay=10000&amp;initialDelay=10"/>
        <log message="csv string ============= ${body}"/>
        <unmarshal ref="bindyDataformat"/>
        <log message="${body}"/>
        <bean ref="govtEmpBean" method="printCSVObject" beanType="govtEmpBean" id="govtEmp"/>
    </route>

person vashishth    schedule 17.12.2013    source источник
comment
является POJO термином java для типа POD?   -  person Tim Seguine    schedule 17.12.2013
comment
это обычный старый java-объект, простой java-бин со свойствами и геттерами   -  person vashishth    schedule 17.12.2013


Ответы (1)


Вам нужно указать запись csv следующим образом

@CsvRecord(separator = "\\|")
person Claus Ibsen    schedule 17.12.2013