Ошибка parsing error at line 2 in resource

I’ve a fixed length content Flatfile which contains sample records like below and has no delimiter as such it contains special hex characters and data is spread across multiple lines too. But each line has constant 2000 bytes/characters and I need to keep picking the bytes from 1-2000, 2001-4000 and so on. I’ve fixed index characters.

Note — Here I don’t want to read all characters from 2000 lines, just wanted to read based on Range.

Customer.java

@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class Customer {
    private String firstValue;
    private String secondValue;
    private String thirdValue;
    private String fourthValue;
}

Error

Java Bean

@Bean
public FlatFileItemReader<Customer> customerItemReader(){

    return new FlatFileItemReaderBuilder<Customer>()
            .name("customerItemReader")
            .linesToSkip(1)
            .resource(new ClassPathResource("/data/test.conv"))
            .fixedLength()
            .columns(new Range[] { new Range(3, 6), new Range(7, 13), new Range(14, 15), new Range(14, 15) })
            .names(new String[] { "firstValue", "secondValue", "thirdValue", "fourthValue" })
            .targetType(Customer.class)
            .build();
}

Error

org.springframework.batch.item.file.FlatFileParseException: Parsing error at line: 2 in resource=[class path resource [data/test.conv]], input=[560000000000411999999992052300000000D 0000        0000000000010000000100000040000000000000  00000000                    NYNNVX      N N 0      N004 000100000001000100000001000100000001000100000001000100000001000100000001000100000001                                                YNYNYYNNNNNYNNNN0004000000070000000300010000000000000000000000020000000000000000NN1N                         N00NNNND                                                                                                                                                       001NNN              00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000O840000000000000000000AN0201000000NNNC840                N  N00N A NN00400000000NNNNNUSAN       NNNN00000000000000NN141900INNNNNN   N                 N000000                 NN           200//0055//20000YNN MO    ¶200528000000       !!B3K555800000001A****00             00             00             00             00             00             00             00             00             00             00             00             00             00             00             00             0005230000000000000000                                                                                                                                                                 ]
    at org.springframework.batch.item.file.FlatFileItemReader.doRead(FlatFileItemReader.java:189) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.read(AbstractItemCountingItemStreamItemReader.java:93) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.item.SimpleChunkProvider.doRead(SimpleChunkProvider.java:99) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.item.SimpleChunkProvider.read(SimpleChunkProvider.java:180) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.item.SimpleChunkProvider$1.doInIteration(SimpleChunkProvider.java:126) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.item.SimpleChunkProvider.provide(SimpleChunkProvider.java:118) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:71) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:407) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:331) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) ~[spring-tx-5.2.6.RELEASE.jar:5.2.6.RELEASE]
    at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:273) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:82) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:375) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:145) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:258) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:208) ~[spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:148) [spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:410) [spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.job.SimpleJob.doExecute(SimpleJob.java:136) [spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:319) [spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:147) [spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50) [spring-core-5.2.6.RELEASE.jar:5.2.6.RELEASE]
    at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:140) [spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) [spring-aop-5.2.6.RELEASE.jar:5.2.6.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) [spring-aop-5.2.6.RELEASE.jar:5.2.6.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.2.6.RELEASE.jar:5.2.6.RELEASE]
    at org.springframework.batch.core.configuration.annotation.SimpleBatchConfiguration$PassthruAdvice.invoke(SimpleBatchConfiguration.java:127) [spring-batch-core-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) [spring-aop-5.2.6.RELEASE.jar:5.2.6.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) [spring-aop-5.2.6.RELEASE.jar:5.2.6.RELEASE]
    at com.sun.proxy.$Proxy57.run(Unknown Source) [na:na]
    at com.example.DatabaseOutputApplication.run(DatabaseOutputApplication.java:39) [classes/:na]
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:784) [spring-boot-2.2.7.RELEASE.jar:2.2.7.RELEASE]
    at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:768) [spring-boot-2.2.7.RELEASE.jar:2.2.7.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:322) [spring-boot-2.2.7.RELEASE.jar:2.2.7.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.7.RELEASE.jar:2.2.7.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.7.RELEASE.jar:2.2.7.RELEASE]
    at com.example.DatabaseOutputApplication.main(DatabaseOutputApplication.java:29) [classes/:na]
Caused by: org.springframework.batch.item.file.transform.IncorrectLineLengthException: Line is longer than max range 15
    at org.springframework.batch.item.file.transform.FixedLengthTokenizer.doTokenize(FixedLengthTokenizer.java:113) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.item.file.transform.AbstractLineTokenizer.tokenize(AbstractLineTokenizer.java:130) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.item.file.mapping.DefaultLineMapper.mapLine(DefaultLineMapper.java:43) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]
    at org.springframework.batch.item.file.FlatFileItemReader.doRead(FlatFileItemReader.java:185) ~[spring-batch-infrastructure-4.2.2.RELEASE.jar:4.2.2.RELEASE]

I also tried this

 @Bean
public FlatFileItemReader<Customer> customerItemReader(){
    FixedLengthTokenizer tokenizer = new FixedLengthTokenizer();
    tokenizer.setNames("firstValue", "secondValue", "thirdValue", "fourthValue", "fifthValue", "sixthValue", "seventhValue", "eighthValue", "ninethValue", "dummyRange");
    tokenizer.setColumns(
            new Range(3, 6), new Range(7, 13), new Range(14,15), new Range(16,24), new Range(25, 28), new Range(29,32), new Range(33, 36), new Range(1322, 1324),
            new Range(1406, 1408), new Range(1409));

    DefaultLineMapper<Customer> customerLineMapper = new DefaultLineMapper<>();
    customerLineMapper.setLineTokenizer(tokenizer);
    customerLineMapper.setFieldSetMapper(new CustomerFieldSetMapper());
    customerLineMapper.afterPropertiesSet();

    FlatFileItemReader<Customer> reader = new FlatFileItemReader<>();
    reader.setLinesToSkip(1);
    reader.setResource(new ClassPathResource("/data/test.conv"));
    reader.setLineMapper(customerLineMapper);
    reader.setStrict(false);
    return reader;
}

These solution doesn’t works when you’ve no delimiter and your data is spread across multiple lines. here 1406 column index is present in different line and delimiter has generated in file by mainframe. Please guide here.

средство чтения файлов — FlatFileParseException Весенняя партия

Задавать вопрос

спросил
7 лет, 11 месяцев назад

Изменено
4 года, 2 месяца назад

Просмотрено
14 тысяч раз

Я получаю исключение при разборе плоского файла, когда использую FlatFileItemReader в своей конфигурации задания.

На самом деле все работало нормально, но с последними файлами выдавало ошибку.

 org.springframework.batch.item.file.FlatFileParseException: ошибка синтаксического анализа в строке: 1 в ресурсе = [URL [файл:/prod/users/cdi/crh537/Java_All/input/xaaaaa]], input=[16910203315393417SEVAN Q DANG18711 PARK GROVE LNDALLASTX7528751224609645044438000VANVETTE98@YAHOO.COM586404562MAR CL197311192013042504Закрыто (нулевой баланс DDA)220PUSA]
 

Основное отличие состоит в том, что записи текущего файла содержат некоторые специальные символы, такие как @ и ().

Ниже приведена конфигурация считывателя.

 <область_компонента="шаг">
        
        <имя свойства="lineMapper">
            <бин>
                
                    <боб
                       >
                        
                        
                    
                
                
                    <боб />
                
            
        
    
 
  • spring-batch
  • программа для чтения файлов

2

Думаю, в вашем файле есть скрытые символы. Вы можете следовать инструкциям по этой ссылке, чтобы проверить, есть ли символы в вашем файле и какие. 9А .

Обновление:

Фактическая ошибка была при печати всей трассировки стека последнее поле в записи/строке, за которым следует разделитель и $, а не просто $, поэтому есть один дополнительный токен.

5

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Неправильные номера строк при синтаксическом анализе ошибок

Ответы Lightrun были разработаны, чтобы уменьшить постоянное гугление, связанное с отладкой сторонних библиотек. Он собирает ссылки на все места, на которые вы могли бы обратить внимание, выискивая опасную ошибку.

И, если вы все еще застряли в конце, мы будем рады ответить на звонок, чтобы узнать, как мы можем помочь.

См. исходную проблему GitHub

Описание проблемы

Я пытался реализовать пример Relay / Connection, случайно допустил ошибку в файле схемы, и консоль выдавала ошибки синтаксического анализа.
Это выглядело примерно так:

Причина: org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [graphql.kickstart.tools.SchemaParser]: фабричный метод schemaParser выдал исключение; вложенным исключением является graphql.parser.InvalidSyntaxException: Invalid Syntax: оскорбительный токен '(' в строке 9столбец 17

Моя схема Содержит две корневые функции

 type Query {
    поставщики (имя: строка, сначала: Int, после: строка): SupplierConnection @connection (для: «Поставщик»)
    компоненты (имя: строка, сначала: Int, после: строка): ComponentConnection @connection (для: «Компонент»)
}
. ...
 

Хотя ошибка была в строке 2, столбце 19 из-за отсутствия пробела между аргументом и типом, было невозможно определить, где проблема сохраняется, из-за нечитаемых выходных данных об ошибках.

Я знаю, что это старая проблема и требует доработки, а документация предполагает многие вещи, которые пользователь должен знать перед началом работы. Есть ли способ отформатировать ошибки, по крайней мере, правильно, чтобы это могло быть полезно?

Аналитика проблем

  • Состояние:
  • Создано 3 года назад
  • Реакций:1
  • Комментарии:5 (2 от сопровождающих)
Лучшие результаты из сети

open

при синтаксическом анализе ошибка

Привет еще раз, я только что провел небольшое тестирование и получил ошибку синтаксического анализа, потому что данные в одной строке CSV-файла не…

Читать дальше >

Неверный номер строки в анализе Исключение — python — Stack Overflow

Анализ работает хорошо, но проблема заключается в сообщениях об ошибках. Они показывают неправильный номер строки. Я показываю основные…

Подробнее >

сообщаются неверные номера строк для ошибок синтаксического анализа?

Привет, я только что установил PHP на Mac, и мне очень сложно отлаживать код, потому что когда есть синтаксический анализ…

Подробнее >

Ошибка синтаксического анализа: неопределенный объект, номер строки 744, столбец 15.

Firefox не загружается. Я получаю сообщение об ошибке синтаксического анализа: неопределенный объект, номер строки 744, столбец 15. Я удалил Firefox и переустановил его, но ……

Подробнее >

как хранить сообщения об ошибках с номером строки при анализе . ..

Сообщение об ошибке создается синтаксическим анализатором json, и, вероятно, вы мало что можете сделать. Может быть, ваш…

Подробнее >

Top Related Medium Post

Результатов не найдено

Самый популярный вопрос StackOverflow

Результатов не найдено

Устранение неполадок в реальном коде

Lightrun позволяет разработчикам добавлять журналы, метрики и моментальные снимки в работающий код — без перезапуска или повторного развертывания.

Я получаю IncorrectTokenCountException, когда пытаюсь разобрать CSV файл из FlatFileItemReader.The CSV файл разделен запятыми, и даже разрывы строк являются запятыми. Я хочу извлечь 13 полей, которые являются SYMBOL, SERIES, OPEN, HIGH, LOW, CLOSE, LAST, PREKCLOSE, TOTTRDQTY, TOTTRDVAL, TIMESTAMP, TotalTrades.

Но он читает дополнительные «,» со входа. вход =

[20MICRONS, эквалайзер, 29.75,29.75,28.5,28.75,28.85,29,48937,1421432.2,04-DEC-2015,238, INE144J01027,]

Уже ответившие вопросы, похоже, не помогают мне. Как я могу убедиться, что только первые 13 токенов считаются одной линией.

Исключение:

org.springframework.batch.item.file.FlatFileParseException: Parsing error at line: 2 in resource=[class path resource [cm04DEC2015bhav.csv]], input=[20MICRONS,EQ,29.75,29.75,28.5,28.75,28.85,29,48937,1421432.2,04-DEC-2015,238,INE144J01027,]
at org.springframework.batch.item.file.FlatFileItemReader.doRead(FlatFileItemReader.java:183)
at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.read(AbstractItemCountingItemStreamItemReader.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy1.read(Unknown Source)
at org.springframework.batch.core.step.item.SimpleChunkProvider.doRead(SimpleChunkProvider.java:91)
at org.springframework.batch.core.step.item.SimpleChunkProvider.read(SimpleChunkProvider.java:155)
at org.springframework.batch.core.step.item.SimpleChunkProvider$1.doInIteration(SimpleChunkProvider.java:114)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144)
at org.springframework.batch.core.step.item.SimpleChunkProvider.provide(SimpleChunkProvider.java:108)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:69)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:131)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195)
at org.springframework.batch.core.job.SimpleStepHandler.handleStep(SimpleStepHandler.java:137)
at org.springframework.batch.core.job.flow.JobFlowExecutor.executeStep(JobFlowExecutor.java:64)
at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:60)
at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:152)
at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:131)
at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:135)
at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:301)
at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:134)
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:127)
at com.equities.batch.App.main(App.java:37)
Caused by: org.springframework.batch.item.file.transform.IncorrectTokenCountException: Incorrect number of tokens found in record: expected 13 actual 14
at org.springframework.batch.item.file.transform.AbstractLineTokenizer.tokenize(AbstractLineTokenizer.java:124)
at org.springframework.batch.item.file.mapping.DefaultLineMapper.mapLine(DefaultLineMapper.java:43)
at org.springframework.batch.item.file.FlatFileItemReader.doRead(FlatFileItemReader .java:180)
... 41 more

Пример CSV Содержимое файла: SYMBOL, SERIES, OPEN, HIGH, LOW, CLOSE, LAST, PREKCLOSE, TOTTRDQTY, TOTTRDVAL, TIMESTAMP, TOTALTRADES, ISIN, 20MICRONS, EQ, 29.75,29.75,28.5,28.75,28.85,29,48937,1421432.2, 04-декабря-2015,238, INE144J01027,3IINFOTECH, EQ, 4.3,5.15,4,5.15,5.15,4.3,16790313,81105043.75,04-DEC-2015,5998, INE748C01020,3MINDIA, EQ, 11279.05,11356.85,11115, 11174.25,11150,11279.8,633,7096578.7,04-DEC-2015,212, INE470A01017,

Spring config file :
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:batch="http://www.springframework.org/schema/batch"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/batch
http://www.springframework.org/schema/batch/spring-batch-2.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd">

<import resource="../config/context.xml" />
<import resource="../config/database.xml" />

<bean id="report" class="com.equities.batch.Report" scope="prototype" />
<bean id="itemProcessor" class="com.equities.batch.CustomItemProcessor" />

<batch:job id="eodBatchJob" restartable="true">
<batch:step id="step1">
<batch:tasklet>
<batch:chunk reader="csvFileItemReader" writer="xmlItemWriter"
processor="itemProcessor" commit-interval="10">
</batch:chunk>
</batch:tasklet>
</batch:step>
</batch:job>

<bean id="csvFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step">
<property name="linesToSkip" value="1"></property>

<property name="resource" value="classpath:#{jobParameters['FILE']}" />

<property name="lineMapper">
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer">
<bean
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="delimiter">
<util:constant
static-field="org.springframework.batch.item.file.transform.DelimitedLineTokenizer.DELIMITER_COMMA" />
</property>
<property name="names" value="SYMBOL,SERIES,OPEN,HIGH,LOW,CLOSE,LAST,PREVCLOSE,TOTTRDQTY,TOTTRDVAL,TIMESTAMP,TOTALTRADES,ISIN" />
</bean>
</property>
<property name="fieldSetMapper">
<bean class="com.equities.batch.ReportFieldSetMapper" />

<!-- if no data type conversion, use BeanWrapperFieldSetMapper to map by name
<bean
class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="report" />
</bean>
-->
</property>
</bean>
</property>

</bean>

<bean id="xmlItemWriter" class="org.springframework.batch.item.xml.StaxEventItemWriter">
<property name="resource" value="file:xml/outputs/report.xml" />
<property name="marshaller" ref="reportMarshaller" />
<property name="rootTagName" value="report" />
</bean>

<bean id="reportMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.equities.batch.Report</value>
</list>
</property>
</bean>

Класс карты:

package com.equities.batch;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.batch.item.file.mapping.FieldSetMapper;
import org.springframework.batch.item.file.transform.FieldSet;
import org.springframework.validation.BindException;

public class ReportFieldSetMapper implements FieldSetMapper<Report>{

/* (non-Javadoc)
* @see org.springframework.batch.item.file.mapping.FieldSetMapper#mapFieldSet(org.springframework.batch.item.file.transform.FieldSet)
*/
public Report mapFieldSet(FieldSet fieldSet) throws BindException {

Report report =new Report();
System.out.println("Count"+fieldSet.getFieldCount());
report.setSymbol(fieldSet.readString(0));
report.setSeries(fieldSet.readString(1));
report.setOpenPrice(fieldSet.readBigDecimal(2));
report.setHighPrice(fieldSet.readBigDecimal(3));
report.setLowPrice(fieldSet.readBigDecimal(4));
report.setClosePrice(fieldSet.readBigDecimal(5));
report.setLastTradedPrice(fieldSet.readBigDecimal(6));
report.setPrevClosePrice(fieldSet.readBigDecimal(7));
report.setTotalTradedQty(fieldSet.readInt(8));
report.setTotalTradedValue(fieldSet.readBigDecimal(9));

String date=fieldSet.readString(10);
System.out.println("DATE"+date);
SimpleDateFormat formatter=new SimpleDateFormat("dd-MMM-yy");

try {
System.out.println("DATE formatted"+formatter.parse(date));

report.setDate(formatter.parse(date));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

report.setTotalTrades(fieldSet.readInt(11));
report.setISIN(fieldSet.readString(12));

return report;
}

}

Всем привет! Не пойму в чем может быть ошибка

http://prntscr.com/j79cdh

В самом низу файла вроде теги закрываются, файл спокойно открывает, но проверку не проходит

    </Документ>

</Файл>

Сам файл xml был создан так

ФайлОбмена = Новый ЗаписьТекста;

ИмяВременногоФайла = ПолучитьИмяВременногоФайла(«.xml»);

Попытка

    ФайлОбмена.Открыть(ИмяВременногоФайла, КодировкаТекста.UTF8);        

Исключение

    Продолжить;

КонецПопытки;

СтрокаИнформацииОXML = «<?xml version=»»1.0″» encoding=»»windows-1251″»?>»;

ФайлОбмена.ЗаписатьСтроку(СтрокаИнформацииОXML);

                                XML_Запись           = Новый ЗаписьXML;

XML_Запись.ЗаписатьНачалоЭлемента(«Файл»);

                XML_Запись.ЗаписатьАтрибут(«ДатаДок»         , Формат(ТекущаяДата(), «ДФ=dd.MM.yyyy»));

…………..

Стр = XML_Запись.Закрыть();        

Стр = СтрЗаменить(Стр, «/>», «>»);

ФайлОбмена.ЗаписатьСтроку(Стр);

ФайлОбмена.Закрыть();

[Enter steps to reproduce:]

Atom: 1.41.0 x64
Electron: 4.2.7
OS: Microsoft Windows 10 Enterprise
Thrown From: emmet package 2.4.3

Stack Trace

Uncaught ParseError: CSS parsing error at line 2, char 1: Unrecognized character ‘ ‘
   background: #11CDD4;
^

At C:UsersMg1AppDataLocalatomapp-1.41.0resourcesappstatic<embedded>:11

ParseError: CSS parsing error at line 2, char 1: Unrecognized character ' '
   background: #11CDD4;
^
    at raiseError (/packages/emmet/node_modules/emmet/lib/parser/css.js:111:16)
    at tokenize (/packages/emmet/node_modules/emmet/lib/parser/css.js:371:3)
    at Object.lex (/packages/emmet/node_modules/emmet/lib/parser/css.js:389:6)
    at Object.parse (/packages/emmet/node_modules/emmet/lib/parser/css.js:407:22)
    at extractPropertiesFromSource (/packages/emmet/node_modules/emmet/lib/editTree/css.js:246:26)
    at consumeProperties (/packages/emmet/node_modules/emmet/lib/editTree/css.js:217:14)
    at child.initialize (/packages/emmet/node_modules/emmet/lib/editTree/css.js:316:4)
    at child.EditContainer (/packages/emmet/node_modules/emmet/lib/editTree/base.js:66:19)
    at /packages/emmet/node_modules/emmet/lib/vendor/klass.js:35:12)
    at Object.parse (/packages/emmet/node_modules/emmet/lib/editTree/css.js:550:11)
    at Object.parseFromPosition (/packages/emmet/node_modules/emmet/lib/editTree/css.js:566:16)
    at Object.propertyFromPosition (/packages/emmet/node_modules/emmet/lib/editTree/css.js:580:49)
    at Object.gradientsFromCSSProperty (/packages/emmet/node_modules/emmet/lib/resolver/cssGradient.js:335:30)
    at Object.expandAbbreviationHandler (/packages/emmet/node_modules/emmet/lib/resolver/cssGradient.js:365:25)
    at /packages/emmet/node_modules/emmet/lib/assets/handlerList.js:93:19
    at /packages/emmet/node_modules/emmet/lib/utils/common.js:600:10
    at Array.some (<anonymous>)
    at Object.find (/packages/emmet/node_modules/emmet/lib/utils/common.js:599:9)
    at HandlerList.exec (/packages/emmet/node_modules/emmet/lib/assets/handlerList.js:92:10)
    at Object.expandAbbreviationAction (/packages/emmet/node_modules/emmet/lib/action/expandAbbreviation.js:110:20)
    at Object.expandAbbreviationWithTabAction (/packages/emmet/node_modules/emmet/lib/action/expandAbbreviation.js:140:14)
    at Object.run (/packages/emmet/node_modules/emmet/lib/action/main.js:150:21)
    at Object.run (/packages/emmet/node_modules/emmet/lib/emmet.js:81:23)
    at runAction (/packages/emmet/lib/emmet.coffee:94:9)
    at /packages/emmet/lib/emmet.coffee:62:9
    at Object.exec (/packages/emmet/lib/editor-proxy.coffee:80:10)
    at /packages/emmet/lib/emmet.coffee:61:19
    at TextBuffer.transact (~/AppData/Local/atom/app-1.41.0/resources/app/static/<embedded>:11:492395)
    at TextEditor.transact (~/AppData/Local/atom/app-1.41.0/resources/app/static/<embedded>:11:24215)
    at /packages/emmet/lib/emmet.coffee:60:24)

Commands

     -6:40 core:save (input.hidden-input)
     -6:08.8.0 core:move-up (input.hidden-input)
  4x -6:05.0 core:backspace (input.hidden-input)
  2x -5:54.4.0 core:move-down (input.hidden-input)
  2x -5:53.6.0 core:backspace (input.hidden-input)
     -5:33.1.0 emmet:expand-abbreviation-with-tab (input.hidden-input)
  4x -5:31.7.0 core:backspace (input.hidden-input)
 12x -5:25.1.0 emmet:expand-abbreviation-with-tab (input.hidden-input)
     -0:35.9.0 editor:newline (input.hidden-input)
     -0:31.3.0 core:backspace (input.hidden-input)
     -0:31.2.0 emmet:expand-abbreviation-with-tab (input.hidden-input)
     -0:10.6.0 core:move-up (input.hidden-input)
  5x -0:10.5.0 core:move-down (input.hidden-input)
     -0:08.8.0 autocomplete-plus:confirm (input.hidden-input)
     -0:08.7.0 autocomplete-plus:activate (atom-text-editor.editor.is-focused)
     -0:00.1.0 autocomplete-plus:confirm (input.hidden-input)

Non-Core Packages

atom-beautify 0.33.4 
atom-html-preview 0.2.6 
atom-ternjs 0.20.0 
autoclose 0.0.2 
busy-signal 2.0.1 
csslint 1.2.0 
emmet 2.4.3 
intentions 1.1.5 
language-ejs 0.4.0 
linter 2.3.1 
linter-eslint 8.5.5 
linter-jshint 3.1.17 
linter-ui-default 1.8.0 
pigments 0.40.2 
Sublime-Style-Column-Selection 1.7.5 

Понравилась статья? Поделить с друзьями:
  • Ошибка parse error как исправить
  • Ошибка parse error syntax error unexpected expecting or
  • Ошибка parse error at line 1 column 1
  • Ошибка parking brake malfunction audi a4 b8
  • Ошибка park brake ауди а6 с6