private int initStepTransactionTimeout ( ) { logger . entering ( sourceClass , "initStepTransactionTimeout" ) ; Properties p = runtimeStepExecution . getProperties ( ) ; int timeout = DEFAULT_TRAN_TIMEOUT_SECONDS ; // default as per spec. if ( p != null && ! p . isEmpty ( ) ) { String propertyTimeOut = p . getProperty ( "javax.transaction.global.timeout" ) ; if ( logger . isLoggable ( Level . FINE ) ) { logger . log ( Level . FINE , "javax.transaction.global.timeout = {0}" , propertyTimeOut == null ? "<null>" : propertyTimeOut ) ; } if ( propertyTimeOut != null && ! propertyTimeOut . isEmpty ( ) ) { timeout = Integer . parseInt ( propertyTimeOut , 10 ) ; } } logger . exiting ( sourceClass , "initStepTransactionTimeout" , timeout ) ; return timeout ; }
Note we can rely on the StepContext properties already having been set at this point .