문제

Java SE 7 및 Guice 와 함께 javax.batch 1.0을 사용하여 일괄 처리를 시도하고 있습니다.

JSREE 7 문서를 읽는 JSR-352 GlassFish에서 실행할 코드를 분명히 설정하고 외부에서 실행하는 방법에 대해 언급하지 않았습니다.

지금 내 문제는 CDI 을 통해 자동으로 주입 해야하는 JobContext 인터페이스에 관한 것입니다.다음과 같은 것을 시도하십시오 :

@Provides
@Inject
JobContext providesJobContext(Provider<JobContext> provider) {
    return provider.get()
}
.

는 개념적으로 잘못되어 StackOverflowerROR (그래서 여기에 있습니다 :>). 정말로 필요합니까?예제 작업 속성에 도달하는 데 주입됩니다.내가 그들을 도달 할 수 있을까요, 어쩌면,

jobOperator.getParameters(<executionID>)
.

?

고맙습니다.

나는 결코 용접을 사용하지 않았습니다 (그것은 이해할 때, Java SE에 CDI를 제공 할 것입니다).

도움이 되었습니까?

해결책

API 설명

첫째, "작업 속성"과 "작업 매개 변수"사이를 명확히하기 위해

"작업 매개 변수"는 JobOperator#start(String,Properties)JobOperator#restart(long,Properties)에 전달 된 속성 입니다.

generacodicicetagcode를 통해 액세스 할 수있는 "작업 속성"은 / job / properties 요소의 자식입니다.

e.g. 이 작업은 객체에 반환 된 두 가지 속성이 있습니다. JobContext#getProperties()

<job>
   <properties>
    <property name="initialAmount" value="100" />
    <property name="bonusAmount" value="#{jobParameters['bonusAmount']}?:100;" />
   </properties>
</job>
.

작업 매개 변수는 작업 속성 정의에 대한 값의 하나의 값을 하나의 가능합니다.

Parameters Access, PergenacodiceTag 코드에 대해서는 현재 실행 ID를 가져 오는 가장 자연스러운 방법이 삽입되는 데 문제가있는 것과 동일한 컨텍스트에서 가장 자연스러운 방법이기 때문에 많은 도움이되지 않습니다.

guice

GLASSFISH에 포함 된 JSR 352 참조 구현 ( JBATCH )을 참조하는 것처럼 들린다.

우리는 유도 의존성 주사로 많은 생각을주지 않았고, 나는 심지어 언급하는 데 도움이되는지 여부를 알 수있는 전문가가 충분하지 않다는 것이 사실입니다.

용접을 사용하여 GlassFish에서 우리는 일괄 런타임이 배치 정의 된 주입 지점을 채우기 위해 실제로 기술을 사용합니다.

public class BatchProducerBean {
...
@Produces
@Dependent
public JobContext getJobContext() {
    ...
        return JobContextImpl;
    }
}
.

JBATCH와의 유도 통합에 대해 더 많이 듣게되어 기쁩니다. 당신은 프로젝트 소스의 집에서 후속 조치를 취할 수 있습니다 (아직 아직 실제 위키 없음)

다른 팁

용접은 JAVAEE 6에서 CDI를 가져 오는 JSR-299의 참조 구현입니다. 이 참조 구현은 GlassFish에 포함되어 효과적으로 사용할 수 있습니다.

Oracle에서 발견 된 예제 여기 :

@Named
public class SimpleItemReader
       extends AbstractItemReader {

       @Inject
       private JobContext jobContext; 
       ...
}
.

인용구 :

나는 용접을 사용하지 않았다

여기서는 JSR의 사양을 구현하기 때문에 구현이 중요하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top