import java.io.File;

public class FileProcessor {
	public static void run(File file) {
		while(true) {
			if (isFileExists(file)) {
				try {
					Process p = null;
					p = Runtime.getRuntime().exec(new String[] {"cmd.exe", "⁄c", file.getPath()}); 
					p.waitFor();
					break;
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
	
	public static void run(String filePath) {
		run(new File(filePath));
	}
	
	public static boolean isFileExists(String filePath) {
		File file = new File(filePath);
		return file.exists();
	}
	
	public static boolean isFileExists(File file) {
		return file.exists();
	}
}


블로그 이미지

행복그리고..

,

통상적으로 JNDI는 Was를 통해 쓰이는 경우가 대부분이다. 결론적으로 Web Application 에서 쓰인다고 봐야한다.

Tomcat 같은경우에는 JNDI Name 앞에 "java:/comp/env/"를 명시해주어야 하기떄문에 서버정보만 있으면 동적으로 처리가 가능하다.

그런데 고맙게도 서버정보는  ServletContext 객체안에 getServerInfo() 메소드를 통하여 얻어올수가 있다. 


1. 객체 생성

String serverInfo = request.getSession().getServletContext().getServerInfo();
JNDIConnection jndiConnection = new JNDIConnection(serverInfo);
Connection connection = jndiConnection.create("jndiName");


JNDIConnection 클래스의 생성자 쪽에 HttpServletRequest 객체를 넘겨줄수도 있다.

하지만 좋지가 않은 방법이다 Connection을 하는 쪽이 일반 JavaProject일 수도 있기때문이다.

일반 JavaProject일 경우 서블릿 jar들을 해당 프로젝트에 추가를 시켜줘야 하기때문이다.


2. 전체소스

import java.sql.Connection;
import java.sql.SQLException;

import javax.naming.InitialContext;
import javax.sql.DataSource;


public class JNDIConnection {
	private String serverInfo;
	private Connection connection;
	
	public JNDIConnection(String serverInfo) {
		this.serverInfo = serverInfo;
	}
	
	public Connection create(String jndiName) {
		try {
			InitialContext initialContext = new InitialContext();
			DataSource dataSource = null;
			if (serverInfo.startsWith("Apache")) {
				dataSource = (DataSource) initialContext.lookup("java:/comp/env/" + jndiName);
			} else {
				dataSource = (DataSource) initialContext.lookup(jndiName);
			}
			connection = dataSource.getConnection();
		} catch (Exception e) {
			/*
			 * NamingException, SQLException catch
			 */
			e.printStackTrace();
		} 
		return connection;
	}
}


Writing...

'JAVA Platform > JAVA' 카테고리의 다른 글

[JAVA] - Swing size, preferredSize 차이점  (0) 2015.03.31
[JAVA] - File 실행하기  (0) 2015.03.22
[JAVA] - DBMS JDBC Connection  (0) 2015.02.13
[JAVA] - Properties File 읽기  (0) 2015.01.25
[JAVA] - Swing JScrollPane 스크롤  (0) 2015.01.21
블로그 이미지

행복그리고..

,

InstallShield에서 Components를 생성할때 동적 파일 링크와, 파일 추가가 있습니다.


Setup 시 진행속도

 파일 크기

 동적 파일 링크

 파일 추가

 작은 용량

 빠르다

 빠르다 

 큰 용량

 느리다 

 Dynamic Link 보다 

 상대적으로 빠르다


상황에 맞게 InstallShield Project를 만들도록 하자

블로그 이미지

행복그리고..

,