public class AsyncBatchExecutor extends AbstractJobBatchExecutor
修飾子とタイプ | クラスと説明 |
---|---|
protected static class |
AsyncBatchExecutor.BatchServantTaskEndTracker
BatchServantのrunメソッドの終了を検知して、
ジョブ実行時に新たに作成されていたThreadGroupを、破棄候補に加えるためのクラス。
|
修飾子とタイプ | フィールドと説明 |
---|---|
protected static long |
availableThreadThresholdCount
空きスレッド残数閾値
|
protected static long |
availableThreadThresholdWait
空きスレッド残数閾値以下の場合のウェイト時間(ミリ秒)
|
protected static long |
DEFAULT_AVAILABLE_THREADTHRESHOLD_COUNT
空きスレッド残数閾値のデフォルト値
|
protected static long |
DEFAULT_AVAILABLE_THREADTHRESHOLD_WAIT
空きスレッド残数閾値以下の場合のウェイト時間(ミリ秒)のデフォルト値
|
protected static long |
DEFAULT_EXECUTE_RETRY_COUNTMAX
ジョブ実行リトライ回数のデフォルト値
|
protected static long |
DEFAULT_EXECUTE_RETRY_INTERVAL
ジョブ実行リトライ間隔(ミリ秒)のデフォルト値
|
protected static List<ThreadGroup> |
destroyCandidateThreadGroupList
破棄候補の(activeCountが0になったら破棄してよい)ThreadGroupのList。
|
protected static long |
executeRetryCountMax
ジョブ実行リトライ回数
|
protected static long |
executeRetryInterval
ジョブ実行リトライ間隔(ミリ秒)
|
static String |
THREAD_GROUP_PREFIX
スレッドグループプリフィックス.
|
static String |
THREAD_GROUP_SEPARATOR
スレッドグループセパレータ.
|
static String |
THREAD_NAME_PREFIX
スレッド名プリフィックス.
|
static String |
THREAD_NAME_SEPARATOR
スレッド名セパレータ.
|
protected static AtomicInteger |
threadGroupNo
スレッドグループ番号.
|
changeStartStatus, DEFAULT_EXECUTOR_END_MONITORING_FILE, DEFAULT_EXECUTOR_JOB_TERMINATE_WAIT_INTERVAL_TIME, DEFAULT_EXECUTOR_LOOP_INTERVAL_TIME, DEFAULT_EXECUTOR_QUEUE_CHECK_INTERVAL_TIME, DEFAULT_JOB_AFTER_GC, DEFAULT_JOB_INTERVAL_TIME, EXECUTOR_END_MONITORING_FILE, EXECUTOR_JOB_TERMINATE_WAIT_INTERVAL_TIME, executorEndMonitoringFile, executorJobTerminateWaitIntervalTime, JOB_INTERVAL_TIME, jobIntervalTime
APPLICATION_CONTEXT, ARGUMENT_COUNT, BEAN_DEFINITION_ADMIN_CLASSPATH_KEY, BEAN_DEFINITION_BUSINESS_CLASSPATH_KEY, BEAN_DEFINITION_DATASOURCE, BEAN_DEFINITION_DEFAULT, BEAN_MESSAGE_ACCESSOR_DEFAULT, cl, DEFAULT_BLOGIC_BEAN_NAME_SUFFIX, DEFAULT_BLOGIC_EXCEPTION_HANDLER_BEAN_NAME, DEFAULT_BLOGIC_EXCEPTION_HANDLER_BEAN_NAME_SUFFIX, defaultApplicationContext, ENABLE_JOBCOMPONENT_ANNOTATION, enableJobComponentAnnotation, ENV_BLOGIC_APP_STATUS, ENV_CUR_APP_STATUS, ENV_JOB_APP_CD, ENV_JOB_ARG_MAX, ENV_JOB_ARG_NM, ENV_JOB_ARG_NM1, ENV_JOB_ARG_NM10, ENV_JOB_ARG_NM11, ENV_JOB_ARG_NM12, ENV_JOB_ARG_NM13, ENV_JOB_ARG_NM14, ENV_JOB_ARG_NM15, ENV_JOB_ARG_NM16, ENV_JOB_ARG_NM17, ENV_JOB_ARG_NM18, ENV_JOB_ARG_NM19, ENV_JOB_ARG_NM2, ENV_JOB_ARG_NM20, ENV_JOB_ARG_NM3, ENV_JOB_ARG_NM4, ENV_JOB_ARG_NM5, ENV_JOB_ARG_NM6, ENV_JOB_ARG_NM7, ENV_JOB_ARG_NM8, ENV_JOB_ARG_NM9, ENV_JOB_BEAN_DEFINITION_PATH, ENV_JOB_SEQ_ID, FIELD_JOB_ARG, PROPERTY_BEAN_FILENAME_SUFFIX, REPLACE_STRING_JOB_APP_CD, REPLACE_STRING_JOB_APP_CD_LOWER, REPLACE_STRING_JOB_APP_CD_UPPER, REPLACE_STRING_JOB_ARG, REPLACE_STRING_JOB_ARG_MAX, REPLACE_STRING_PREFIX, REPLACE_STRING_SUFFIX, sysQueryDAO, SYSTEM_DATASOURCE_QUERY_DAO, SYSTEM_DATASOURCE_TRANSACTION_MANAGER, SYSTEM_DATASOURCE_UPDATE_DAO, sysTransactionManager, sysUpdateDAO
修飾子 | コンストラクタと説明 |
---|---|
protected |
AsyncBatchExecutor()
コンストラクタ
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected static boolean |
checkEndFile(String endFilePath)
終了フラグファイルチェック
|
protected static boolean |
checkTaskQueue(org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor taskExecutor)
タスクエグゼキュータに空きがあるかチェック
|
protected static void |
closeRootApplicationContext(org.springframework.context.ApplicationContext context)
ApplicationContextをクローズする.
|
protected static void |
destroyThreadGroupsIfPossible()
破棄候補の各ThreadGroupのアクティブスレッド数を検査し、
アクティブスレッド数が0のThreadGroupのdestroyメソッドを実行する。
|
protected static boolean |
executeJob(AsyncBatchExecutor executor,
org.springframework.context.ApplicationContext ctx,
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor taskExecutor,
String batchTaskServantName,
BatchJobListResult batchJobListResult)
バッチ処理実行.
|
static int |
executorMain(String[] args)
エグゼキュータメインメソッド.
|
protected static void |
logActiveThreadGroupsInfo()
アクティブThreadGroupsの情報をデバッグログ出力する。
|
protected static void |
logOutputTaskExecutor(org.apache.commons.logging.Log log,
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor taskExec)
スレッドプールタスクエグゼキュータのステータスをデバッグログに出力
|
static void |
main(String[] args)
メインメソッド.
|
endBatchStatus, executeBatch, getExecutorEndMonitoringFile, getExecutorJobTerminateWaitIntervalTime, getJobIntervalTime, initDefaultAppContext, initParameter, initSystemDatasourceDao, judgmentStatus, setChangeStartStatus, startBatchStatus, updateBatchStatus
argumentCopy, closeApplicationContext, convertBLogicParam, executeBatch, executeBatchClass, getApplicationContext, getBeanFileName, getBlogicBeanName, getDataSourceBeanFileName, getDefaultApplicationContext, getDefaultBeanFileName, getDefaultExceptionHandlerBeanName, getExceptionHandlerBeanName, getMethod, getSysQueryDAO, getSysTransactionManager, getSysUpdateDAO, getThreadMessage, init, initDefaultErrorMessage, initJobAppContext, replaceString, setMethod
protected static final long DEFAULT_EXECUTE_RETRY_INTERVAL
protected static final long DEFAULT_EXECUTE_RETRY_COUNTMAX
protected static final long DEFAULT_AVAILABLE_THREADTHRESHOLD_COUNT
protected static final long DEFAULT_AVAILABLE_THREADTHRESHOLD_WAIT
public static final String THREAD_GROUP_PREFIX
public static final String THREAD_NAME_PREFIX
public static final String THREAD_GROUP_SEPARATOR
protected static AtomicInteger threadGroupNo
protected static long executeRetryInterval
protected static long executeRetryCountMax
protected static long availableThreadThresholdCount
protected static long availableThreadThresholdWait
protected static List<ThreadGroup> destroyCandidateThreadGroupList
public static void main(String[] args)
args
- public static int executorMain(String[] args)
args
- protected static boolean executeJob(AsyncBatchExecutor executor, org.springframework.context.ApplicationContext ctx, org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor taskExecutor, String batchTaskServantName, BatchJobListResult batchJobListResult)
executor
- AsyncBatchExecutorctx
- ApplicationContexttaskExecutor
- ThreadPoolTaskExecutorbatchTaskServantName
- StringbatchJobListResult
- BatchJobListResultprotected static boolean checkTaskQueue(org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor taskExecutor)
taskExecutor
- タスクエグゼキュータprotected static boolean checkEndFile(String endFilePath)
endFilePath
- 終了フラグファイルパスprotected static void logOutputTaskExecutor(org.apache.commons.logging.Log log, org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor taskExec)
log
- LogtaskExec
- ThreadPoolTaskExecutorprotected static void closeRootApplicationContext(org.springframework.context.ApplicationContext context)
context
- protected static void destroyThreadGroupsIfPossible()
protected static void logActiveThreadGroupsInfo()
Copyright © 2014 NTT DATA Corporation.