Retry JDBC Query execution under specified sql error code (Vendor specific) JDBC API를 이용하여 DML 수행중 Lock이 걸려있거나 특정 이유로 인해 에러가 발생된 경우, SQL Error Code를 설정하여 해당 Query를 재 실행할 수 있도록 설정할 수 있다. Retry로 설정할 SQL Error Code는 DBMS Vendor 별로 상이하니, 설정시에는 DBMS별 Error Code를 확인한 후 설정하면 된다. 아래 참조할 수 있.. Language/Java 2012.05.24
[펌] BufferedReader와 RandonAccessFile을 연계한 대용량 파일 처리 이전글에 이어서 실제 프로젝트에서 발생했던 문제와 그 처리 방안에 대해서 적어보고자 한다. 1. 프로젝트 내용 1) 특정 파일의 데이터를 읽어서 가공한 후 Web에 전달한다. 2) 특정 파일의 내용을 다른 프로세스에 의해서 계속 가공되고 있으며, 따라서 파일에 접근했을 당시에 파일의 내.. Language/Java 2012.05.21
[펌] RandomAccessFile과 BufferedReader의 한계점과 해결 방안 Java에서 File을 다루는데 가장 많이 사용하는 클래스 중 하나가 BufferedReader일 것이다. 그러나 쓰다보니 몇가지 문제점을 발견하게 되어서 적어보고자 한다. 1. BufferedReader의 장단점(?) - 장점 가장 쓰기 좋았던 점은 쓰기 쉽다는 점이다. InputStreamReader를 이용하면 UTF-8 Encoding을 통한 한글 처리.. Language/Java 2012.05.21
Start java application in background mode on Window 보통 java application을 실행할 때 java.exe를 이용해서 실행한다. 하지만, java.exe 는 console window command 이므로 java.exe 를 이용해서 application을 실행한 후 cmd 창을 닫게되면 해당 application이 같이 종료되게 된다. Background로 실행하기 위해서 Unix에서는 & 명령어를 이용해서 쉽게 실행가능 하지만, Win.. Language/Java 2012.05.06
[펌] 프로그램의 프로세스를 하나만 허용하기 보통 프로그램의 실행 시킬 때 단 하나의 프로세스만을 허용해야 할 경우가 있습니다. 자바에서는 이런 요구사항을 어떻게 해결 할까요?? NIO의 FileLock클래스를 이용하는 방법이 있습니다. NIO의 FileLock은 파일에 락을 걸어서 JVM 간의 파일 동기화를 시켜주는 클래스 입니다. 그러니까 OneProc.. Language/Java 2012.05.05
[펌] Interrupting Java threads Interrupting Java threadsBy Alexandre Pereira CalsavaraFebruary 3, 2004, 8:00am PST Writing multithreaded programs in Java, with its built-in support for threads, is fairly straightforward. However, multithreading presents a whole set of new challenges to the programmer that, if not correctly addressed, can lead to unexpected behavior and subtle, hard-to-find errors. In this a.. Language/Java 2012.04.03
[펌] Shutting Down Threads Cleanly Shutting Down Threads Cleanly 2002-09-16 The Java Specialists' Newsletter [Issue 056] - Shutting down threads cleanlyAuthor: Dr. Heinz M. KabutzIf you are reading this, and have not subscribed, please consider doing it now by going to our subscribe page. You can subscribe either via email or RSS. Welcome to the 56th edition of The Java(tm) Specialists' Newsletter sent to 4609 .. Language/Java 2012.04.03
Java String ltrim & rtrim Java API java.lang.String class에서 지원하는 trim 방식은 전체 trim 만 지원한다. 특별히 쓸일은 많지 않지만, 아쉬울때가 종종 있다. 그래서, ltrim(), rtrim() method를 구현했다. 전체 trim을 할거라면, java.lang.String class의 trim() method를 사용하시라.. /** * * @param s * @return */ public static String rtrim(String s) { cha.. Language/Java 2012.03.14
[JAXB] XML 읽기, 쓰기 (생성, 수정) 1. JAXB datasets.xml 읽기. /** * JAXB - datasets.xml data 읽기 */ public Datasets readXml() { Datasets datasets = null; try { JAXBContext jaxbContext = JAXBContext.newInstance("com.fdi.jaxb.xml.datasets"); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); datasets = (Datasets) unmarshaller.unmarshal(new File("d:/datasets.xml")); List<DatasetComplex.. Language/Java 2012.02.22
[JAXB] XSD 정의 및 Java 파일 생성 1. datasets.xsd 정의 <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/datasets" elementFormDefault="qualified" xmlns:xs="http://www.example.org/datasets"> <xsd:element name="datasets"> <xsd:complexType> <xsd:sequence> <xsd:element name="dataset" t.. Language/Java 2012.01.30