no message

main
이범준 1 year ago
parent a2d801789e
commit 1e6ffef78d

@ -1,111 +0,0 @@
package cokr.xit.fims.framework.core.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class XitCommandExecutor {
public static void main(String[] args) {
// 실행
XitCommandExecutor.execute("ipconfig");
}
/**
* cmd
*
* @param cmd
*/
@SuppressWarnings("finally")
public static String execute(String cmd) {
String charset = System.getProperty("sun.jnu.encoding");
Process process = null;
Runtime runtime = Runtime.getRuntime();
StringBuffer successOutput = new StringBuffer(); // 성공 스트링 버퍼
StringBuffer errorOutput = new StringBuffer(); // 오류 스트링 버퍼
StringBuffer sbResult = new StringBuffer(); // 처리 결과
BufferedReader successBufferReader = null; // 성공 버퍼
BufferedReader errorBufferReader = null; // 오류 버퍼
String msg = null; // 메시지
/**
*
* - .
* -windows linux .
*/
String[] cmdarray;
if (System.getProperty("os.name").indexOf("Windows") > -1) { //운영체제(OS)가 Windows이면
cmdarray = new String[]{"cmd", "/c", cmd};
} else { //운영체제(OS)가 Windows가 아니면
cmdarray = new String[]{"/bin/sh", "-c", cmd};
}
/**
*
*/
try {
// 명령어 실행
process = runtime.exec(cmdarray);
// shell 실행이 정상 동작했을 경우
successBufferReader = new BufferedReader(new InputStreamReader(process.getInputStream(), charset));
while ((msg = successBufferReader.readLine()) != null) {
successOutput.append(msg + System.getProperty("line.separator"));
}
// shell 실행시 에러가 발생했을 경우
errorBufferReader = new BufferedReader(new InputStreamReader(process.getErrorStream(), charset));
while ((msg = errorBufferReader.readLine()) != null) {
errorOutput.append(msg + System.getProperty("line.separator"));
}
// 프로세스의 수행이 끝날때까지 대기
process.waitFor();
// shell 실행이 정상 종료되었을 경우
if (process.exitValue() == 0) {
System.out.println("성공");
System.out.println(successOutput.toString());
sbResult = successOutput;
} else {
// shell 실행이 비정상 종료되었을 경우
System.out.println("비정상 종료");
System.out.println(successOutput.toString());
sbResult = successOutput;
}
// shell 실행시 에러가 발생
if (XitCmmnUtil.notEmpty(errorOutput.toString())) {
// shell 실행이 비정상 종료되었을 경우
System.out.println("오류");
System.out.println(errorOutput.toString());
sbResult = errorOutput;
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
try {
process.destroy();
if (successBufferReader != null) successBufferReader.close();
if (errorBufferReader != null) errorBufferReader.close();
} catch (IOException e1) {
e1.printStackTrace();
}
return sbResult.toString();
}
}
}

@ -1,97 +0,0 @@
package cokr.xit.fims.framework.core.utils;
import java.io.*;
import java.util.Scanner;
import java.util.concurrent.Executors;
public class XitCommandExecutor2 {
public static void main(String[] args) {
// 실행
XitCommandExecutor2.execute("ipconfig");
}
/**
* cmd
*
* @param cmd
*/
public static void execute(String cmd) {
try {
//Linux의 경우는 /bin/bash
//Process process = Runtime.getRuntime().exec("/bin/bash");
Process process = Runtime.getRuntime().exec("cmd");
//Process의 각 stream을 받는다.
//process의 입력 stream
OutputStream stdin = process.getOutputStream();
//process의 에러 stream
InputStream stderr = process.getErrorStream();
//process의 출력 stream
InputStream stdout = process.getInputStream();
//쓰레드 풀을 이용해서 3개의 stream을 대기시킨다.
//출력 stream을 BufferedReader로 받아서 라인 변경이 있을 경우 console 화면에 출력시킨다.
Executors.newCachedThreadPool().execute(() -> {
// 문자 깨짐이 발생할 경우 InputStreamReader(stdout)에 인코딩 타입을 넣는다. ex) InputStreamReader(stdout, "euc-kr")
// try (BufferedReader reader = new BufferedReader(new InputStreamReader(stdout, "euc-kr"))) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(stdout))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
});
//에러 stream을 BufferedReader로 받아서 에러가 발생할 경우 console 화면에 출력시킨다.
Executors.newCachedThreadPool().execute(() -> {
// 문자 깨짐이 발생할 경우 InputStreamReader(stdout)에 인코딩 타입을 넣는다. ex) InputStreamReader(stdout, "euc-kr")
// try (BufferedReader reader = new BufferedReader(new InputStreamReader(stderr, "euc-kr"))) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(stderr))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println("err " + line);
}
} catch (IOException e) {
e.printStackTrace();
}
});
//입력 stream을 BufferedWriter로 받아서 콘솔로부터 받은 입력을 Process 클래스로 실행시킨다.
Executors.newCachedThreadPool().execute(() -> {
// Scanner 클래스는 콘솔로 부터 입력을 받기 위한 클래스 입니다.
try (Scanner scan = new Scanner(System.in)) {
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(stdin))) {
while (true) {
// 콘솔로 부터 엔터가 포함되면 input String 변수로 값이 입력됩니다.
String input = scan.nextLine();
// 콘솔에서 \n가 포함되어야 실행된다.(엔터의 의미인듯 싶습니다.)
input += "\n";
writer.write(input);
// Process로 명령어 입력
writer.flush();
// exit 명령어가 들어올 경우에는 프로그램을 종료합니다.
if ("exit\n".equals(input)) {
System.exit(0);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
});
} catch (Throwable e) {
e.printStackTrace();
}
}
}

@ -1,72 +0,0 @@
package cokr.xit.fims.framework.core.utils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
/**
*
* @: XitHttpRequestHelper
* @: HTTP Request .
* @: 2020. 9. 16. 4:23:03
* @:
* @author ()
* @since 2002. 2. 2.
* @version 1.0 Copyright(c) XIT All rights reserved.
*/
public class XitHttpRequestHelper {
public static boolean isInHttpRequest() {
try {
getCurrentRequest();
} catch (IllegalStateException ise) {
return false;
}
return true;
}
/**
* <pre> : HttpServletRequest .</pre>
* @return HttpServletRequest
* @author:
* @date: 2020. 9. 16.
*/
public static HttpServletRequest getCurrentRequest() {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return sra.getRequest();
}
/**
* <pre> : request Client IP .</pre>
* @return String
* @author:
* @date: 2020. 9. 16.
*/
public static String getRequestIp() {
return getCurrentRequest().getRemoteAddr();
}
/**
* <pre> : request URL .</pre>
* @return String
* @author:
* @date: 2020. 9. 16.
*/
public static String getRequestURI() {
return getCurrentRequest().getRequestURI();
}
/**
* <pre> : request session .</pre>
* @return HttpSession
* @author:
* @date: 2020. 9. 16.
*/
public static HttpSession getCurrentSession() {
return getCurrentRequest().getSession();
}
}

@ -1,34 +0,0 @@
package cokr.xit.fims.framework.core.utils.egov;
import org.egovframe.rte.fdl.cmmn.exception.handler.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovComExcepHndlr.java
* @Description : exception
* @Modification Information
*
*
* ------- ------- -------------------S
* 2009. 3. 13.
*
* @author
* @since 2009. 3. 13.
* @version
* @see
*
*/
public class EgovComExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComExcepHndlr.class);
/**
* Exception .
*/
@Override
public void occur(Exception ex, String packageName) {
LOGGER.debug("[HANDLER][PACKAGE]::: {}", packageName);
LOGGER.debug("[HANDLER][Exception]:::", ex);
}
}

@ -1,16 +0,0 @@
package cokr.xit.fims.framework.core.utils.egov;
import org.egovframe.rte.fdl.cmmn.exception.handler.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class EgovComOthersExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComOthersExcepHndlr.class);
public void occur(Exception exception, String packageName) {
//log.debug(" EgovServiceExceptionHandler run...............");
LOGGER.error(packageName, exception);
}
}

@ -1,31 +0,0 @@
package cokr.xit.fims.framework.core.utils.egov;
import lombok.extern.slf4j.Slf4j;
import org.egovframe.rte.fdl.cmmn.trace.handler.TraceHandler;
/**
* @Class Name : EgovComTraceHandler.java
* @Description : trace
* @Modification Information
*
*
* ------- ------- -------------------
* 2011. 09. 30. JJY
*
* @author JJY
* @since 2011. 9. 30.
*
*/
@Slf4j
public class EgovComTraceHandler implements TraceHandler {
/**
* .
*/
@Override
public void todo(Class<?> clazz, String message) {
log.debug("[TRACE]CLASS::: {}", clazz.getName());
log.debug("[TRACE]MESSAGE::: {}", message);
//이곳에서 후속처리로 필요한 액션을 취할 수 있다.
}
}
Loading…
Cancel
Save