본문 바로가기

JAVA79

[ JAVA ] Socket 의 timeout 설정 JAVA 에서 Socket 으로 연결 할 때 서버 측에서 read 를 하다가 client 에서 요청이 얼마간 안오면 time out 이 발생 하도록 설정을 하고 싶은데 이걸 직접 Thread 를 사용하여 구현하자니 상당히 귀찮아 지는데 JAVA 에서는 이미 친절하게도 기본 API를 통해 이를 가능하도록 해 놓았다. 다름이 아니라 Socket 클래스의 setSoTimeout 메소드를 통해서 인데 아래와 같은 예제를 보면 확인 해 볼 수 있다. //*************** //서버 로직 //*************** package test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader.. 2012. 7. 20.
[ JAVA ] apache commons cli ( command line interface ) 위의 그림 처럼 command line 에서 실행 하는 application (여기서의 예는 java) 은 프로그램을 실행 시키려고 했을 때 -h 또는 --help 같이 도움말을 주거나 정상적인 옵션을 않넣었을 때 사용법을 안내 해 줄 수 있다. 그런데 java 프로그램을 그런 식으로 만들려고 하면 쉘에서 조작을 해주거나 자바에서 볼품 없이 argument String 배열을 가지고 조작을 해주어야 한다. 하지만 아래와 같이 자바 프로그램을 만들 어 준다면 위와 같은 방식의 처리가 쉽게 되며 옵션이 들어왔을 때 자바 어플리케이션상에서 처리도 깔끔히 분기 시킬 수 있다. //목적 //java cli.CliTest -p aaa 를 실행 할 경우 //aaa 를 출력 함 //java cli.CliTest -h .. 2012. 6. 27.
[ JAVA ] Unsupported major.minor version xx Unsupported major.minor version xx 와 같은 에러 메시지가 나타나면 jar 나 class 파일들이 서버에 설치 되어 있는 java version 보다 높은 version 으로 컴파일 됨 이란 뜻이다. 상세한 내용은 아래와 같으며 Unsupported major.minor version 48 : 1.4 로 컴파일 됨 Unsupported major.minor version 49 : 1.5 로 컴파일 됨 Unsupported major.minor version 50 : 1.6 로 컴파일 됨 Unsupported major.minor version 51 : 1.7 로 컴파일 됨 해결 방법은 당연하겠지만 서버의 자바를 높은 버전으로 설치해 주던가 아니면 컴파일을 낮은 버전으로 하면 된다. 2012. 6. 13.
[ JAVA ] 자바 property 파일 위치 찾는 법 과 사용법 2 apache commons library 를 사용하면 앞의 글 처럼 길게 파일을 찾지 않아도 간단히 가능 하다. 다운로드 경로는 http://commons.apache.org/configuration/ 이고 예제 소스는 package config; import org.apache.commons.configuration.DataConfiguration; import org.apache.commons.configuration.PropertiesConfiguration; public class ConfigTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { DataCo.. 2012. 4. 5.