2014-09-20 5 views
0

Partition план не будет работать, если внутри расколаJSR 352 Java Batch: План раздела не будет работать, если внутри раскола

Следующий пример просто: работа -> сплит -> поток -> шаг -> chunk -> partition

Проблема в том, что параметры, установленные в плане разделов, не будут работать, если я поставлю поток внутри раскола. Если вы удалите раскол и просто поместите поток внутри задания, он работает правильно. Следующий пример Виль печать просто: нуля нуля

, но если я удалю раскол, он будет печатать valueTest1 valueTest2

Спасибо! Матиас

Работа XML

<job id="myJob" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0"> 
     <split id="mySplit"> 
     <flow id="myFlow"> 
      <step id="myStep" > 
       <chunk> 
        <reader ref="testbatch.MyItemReader"> 
         <properties> 
          <property name="prop1" value="#{partitionPlan['prop1']}"/> 
         </properties> 
        </reader> 
        <writer ref="testbatch.MyItemWriter"/> 
       </chunk> 
       <partition> 
        <plan partitions="2" > 
         <properties partition="0"> 
          <property name="prop1" value="valueTest1"/> 
         </properties> 
         <properties partition="1"> 
          <property name="prop1" value="valueTest2"/> 
         </properties> 
        </plan> 
       </partition> 
      </step> 
     </flow> 
    </split> 
</job> 

READER

package testbatch; 

import javax.batch.api.BatchProperty; 
import javax.batch.api.chunk.AbstractItemReader; 
import javax.inject.Named; 

@Named 
public class MyItemReader extends AbstractItemReader { 

    @BatchProperty 
    String prop1; 

    @Override 
    public Object readItem() throws Exception { 
     System.out.println(prop1); 
     return null; 
    } 
} 

ГЛАВНАЯ

package testbatch; 

import javax.batch.operations.JobOperator; 
import javax.batch.runtime.BatchRuntime; 

public class TestBatch { 

    public static void main(String[] args) { 
     JobOperator jobOperator = BatchRuntime.getJobOperator(); 
     jobOperator.start("myJob", null); 
    } 
} 

ответ

0

Это сообщает ошибка here на реализацию jbatch (JSR 352 RI).

Версия 1.0.1 должна содержать исправление при выпуске (в настоящее время проводится тестирование интеграции Glassfish).

Смежные вопросы