kr.co.hit.live.batch
Class BatchAdapter

java.lang.Object
  extended by kr.co.hit.live.batch.BatchAdapter
All Implemented Interfaces:
Runnable

public class BatchAdapter
extends Object
implements Runnable

배치 프로그램을 실행시키기 위한 클래스이다. 실행할 배치 클래스는 실행시 시스템 프로퍼티를 사용하여 다음의 두가지 방식 중 하나를 사용하여 지정한다.

또한 다음과 같이 배치 실행 방식을 시스템 프로퍼티로 지정할 수 있다. 위에서 runtime, until, iterate 등이 함께 지정된 경우 어느 하나라도 먼저 종료 조건에 되는 시점에 배치 실행은 종료된다.

배치 실행 시 ServiceContext로 전달할 내용은 다음과 같은 방법으로 Java의 시스템 프로퍼티를 사용한다.

위와 같이 지정한 시스템 프로퍼티들은 ServiceContext객체의 getRole() 메소드를 사용하여 아래와 같이 배치프로그램에서 가져올 수 있다.
 String userId = getServiceContext().getRole("userid");
 

배치 프로그램에서 트랜젝션 처리는 WAS에 의존하지 않고 자체적으로 제공하는 DataSource와 Transaction 기능을 사용한다.

Since:
4.0
Author:
kimhd

Field Summary
static String BATCH_SERVICE_CONTAINER_NAME
           
static int MAX_BATCH_THREAD
           
static String SYSPROP_NAME_CLASS
           
static String SYSPROP_NAME_INTERVAL
           
static String SYSPROP_NAME_ITERATE
           
static String SYSPROP_NAME_LOCKFILE
           
static String SYSPROP_NAME_RUNTIME
           
static String SYSPROP_NAME_SERVICE
           
static String SYSPROP_NAME_THREAD
           
static String SYSPROP_NAME_UNTIL
           
 
Constructor Summary
BatchAdapter()
           
 
Method Summary
protected static ValueObject argsToVo(String[] args)
          실행 파라메터를 ValueObject로 변환한다.
protected  void clearServiceContext()
          ServiceContext 정보를 모두 클리어 한다.
protected  BatchLogger getBatchLogger()
          live configuration 파일에서 "live.batch.logger.class"를 Key로하여 실제 BatchLogger 클래스 명을 얻어와서 BatchLogger 객체를 생성한다.
protected  BatchLogger getBatchLogger(ServiceContainer svcContainer)
          live configuration 파일에서 "live.batch.logger.service"를 Key로하여 실제 BatchLogger 서비스 명을 얻어와서 BatchLogger 객체를 서비스컨네이너로부터 받는다.
static void main(String[] args)
           
protected static String[] parseArgument(String[] args)
          명령 파라메터에서 BatchAdapter용 파라메터들을 처리한 후 그것들을 제외한 나머지 파라메터들을 반환한다.
protected static void parseBatchProperties()
           
 void run()
           
protected  ServiceContext setServiceContext()
          "live.batch."
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BATCH_SERVICE_CONTAINER_NAME

public static final String BATCH_SERVICE_CONTAINER_NAME
See Also:
Constant Field Values

MAX_BATCH_THREAD

public static final int MAX_BATCH_THREAD
See Also:
Constant Field Values

SYSPROP_NAME_ITERATE

public static final String SYSPROP_NAME_ITERATE
See Also:
Constant Field Values

SYSPROP_NAME_THREAD

public static final String SYSPROP_NAME_THREAD
See Also:
Constant Field Values

SYSPROP_NAME_RUNTIME

public static final String SYSPROP_NAME_RUNTIME
See Also:
Constant Field Values

SYSPROP_NAME_UNTIL

public static final String SYSPROP_NAME_UNTIL
See Also:
Constant Field Values

SYSPROP_NAME_LOCKFILE

public static final String SYSPROP_NAME_LOCKFILE
See Also:
Constant Field Values

SYSPROP_NAME_INTERVAL

public static final String SYSPROP_NAME_INTERVAL
See Also:
Constant Field Values

SYSPROP_NAME_CLASS

public static final String SYSPROP_NAME_CLASS
See Also:
Constant Field Values

SYSPROP_NAME_SERVICE

public static final String SYSPROP_NAME_SERVICE
See Also:
Constant Field Values
Constructor Detail

BatchAdapter

public BatchAdapter()
Method Detail

main

public static void main(String[] args)

run

public void run()
Specified by:
run in interface Runnable

getBatchLogger

protected BatchLogger getBatchLogger()
                              throws LiveException
live configuration 파일에서 "live.batch.logger.class"를 Key로하여 실제 BatchLogger 클래스 명을 얻어와서 BatchLogger 객체를 생성한다.

Throws:
LiveException

getBatchLogger

protected BatchLogger getBatchLogger(ServiceContainer svcContainer)
                              throws LiveException
live configuration 파일에서 "live.batch.logger.service"를 Key로하여 실제 BatchLogger 서비스 명을 얻어와서 BatchLogger 객체를 서비스컨네이너로부터 받는다.

Throws:
LiveException

clearServiceContext

protected void clearServiceContext()
ServiceContext 정보를 모두 클리어 한다.


setServiceContext

protected ServiceContext setServiceContext()
"live.batch."로 시작하는 시스템 프로퍼티들의 값을 모두 ServiceContext를 설정한다.


parseBatchProperties

protected static void parseBatchProperties()
                                    throws Exception
Throws:
Exception

parseArgument

protected static String[] parseArgument(String[] args)
                                 throws Exception
명령 파라메터에서 BatchAdapter용 파라메터들을 처리한 후 그것들을 제외한 나머지 파라메터들을 반환한다.

Parameters:
args -
Returns:
BatchAdapter용 파라메터가 제외된 나머지 파라메터들
Throws:
IOException
Exception

argsToVo

protected static ValueObject argsToVo(String[] args)
실행 파라메터를 ValueObject로 변환한다. 실행 파라메터는 key:value 형태이며 같은 key에 대하여는 Index를 주어 key,idx:value 형태로 지정할 수 있다.

Parameters:
args -
Returns:
ValueObject


Copyright © 2014. All Rights Reserved.