프로그램에 의한 트랜잭션 txManager, transaction

servlet-context.xml <beans:beans ... xmlns:tx="http://www.springframework.org/schema/tx" ... > ... <tx:jta-transaction-manager/> ... </beans:beans> Test.java public class Test { ... @Autowired private DataSourceTransactionManager txManager; ... public ResponseEntity<String> txTest(HttpServletRequest req){ ... DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); TransactionStatus status = txManager.getTransaction(def); try{ ... txTestMapper.deleteTxTest(param); txTestMapper.updateTxTest(param); txTestMapper.insertTxTest(param); txManager.commit(status); ... }catch(Exception e){ e.printStackTrace(); txManager.rollback(status); ... } ... }

jstl 함수

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ${fn:substring(name, 1, 10)} fn:contains(string, substring) string이 substring을 포함하면 true 리턴. fn:containsIgnoreCase(string,substring) 대소문자에 관계없이, string이 substring을 포함하면 true 리턴. fn:endsWith(string, suffix) string이 suffix로 끝나면 true 리턴. fn:escapeXml(string) string에 XML과 HTML에서 특별한 의미를 가진 문자들이 있으면, XML 엔티티 코드로 바꿔준 뒤 문자열 리턴. fn:indexOf(string,substring) string에서 substring이 처음으로 나타나는 인덱스 리턴. fn:join(array, separator) … 계속 읽기 jstl 함수

java watch service

import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardWatchEventKinds; import java.nio.file.WatchEvent; import java.nio.file.WatchEvent.Kind; import java.nio.file.WatchKey; import java.nio.file.WatchService; public class Watch { /* * 디렉토리 감시 */ final static Kind<Path> ENTRY_CREATE = StandardWatchEventKinds.ENTRY_CREATE; final static Kind<Path> ENTRY_DELETE = StandardWatchEventKinds.ENTRY_DELETE; final static Kind<Path> ENTRY_MODIFY = StandardWatchEventKinds.ENTRY_MODIFY; final static Kind<Object> OVERFLOW = StandardWatchEventKinds.OVERFLOW; public static void watchService(){ … 계속 읽기 java watch service