Spring batch에서 JobParameters에 입력되지 않은 값에 대한 default value를 설정 해야 할때는 아래와 같이 하자. <property name="userId" value=" #{jobParameters['userId']==null?'-':jobParameters['userId']} "></property> 위의 userId 속성 값 지정을 jobparameters로 di받아서 사용하는데. 위 방식으로 하면 userId가 입력 되지 않았을 경우, 즉 null인 경우 '-' 로 설정 되고, 입력되었을 경우 값이 전달 된다. 다른 방식은 SpEL를 더 찾아봐야 겠지만...나의 요구 사항은 여기 까지 ^^
- webapp 초기 시작 시 문제가 없으나 tomcat manager 에서 Stop -> Start 시 오류 발생 <<<오류 메세지>> java.sql.SQLException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@f3811c1a[file =C:\myhsql\db\sjdb.lck, exists=true, locked=false, valid=false, ] method: checkHeartbeat read: 2010-10-19 12:46:09 heartbeat - read: -6750 ms. 문제는 Lock 파일이였음. Lock 파일의 기능에 대한 설명은 아직 못 찾음 <<Lock 파일의 생성 규칙>> a lock file is created for each file database that is opened for read and write. Lock 파일이 잘못된건 hsqlServer를 잘못 종료 한 것 인가? 라고 판단 종료는 spring bean으로 등록 한 후 destroy-method로 지정 <<해당 코드>> server.stop(); server.shutdown(); server = null; server는 제대로 종료 하였지만... 오류가 발생? 여기서 부터는 =_=; 감으로 작업 lock 파일을 hsql server 종료 시 마다 지우는 건 =_=; 하수 같은 플레이 같고... ... =_=; 이렇게 해볼까 ? 하고 sql문을 shutdown 명령어 수행 후 서버 셧 다운 =_=; 어...된다.. 그래서 수정된 코드 jdbcTemplate.execute("shutdown"); try { ((BasicDataSour...
댓글
댓글 쓰기