https://www.irfanview.com/

 

IrfanView - Official Homepage - One of the Most Popular Viewers Worldwide

I would like to sincerely thank all you faithful IrfanView users who send me messages of good wishes, congratulations and appreciation. THANKS ! Irfan Skiljan. About the Author

www.irfanview.com

 

최신 이미지 자동으로 보는 방법

- 기능중에, "Options > Hotfolder (watch folder)..." 를 설정하면, 해당 폴더의 최신 이미지가 업데이트되면 자동으로 표시된다.

 

728x90

 

https://supawer0728.github.io/2018/03/22/spring-multi-transaction/

 

(Spring)다중 DataSource 처리

서론Spring Application을 만들면서 여러 DataSource와 transaction이 존재하고 하나의 transaction 내에 commit과 rollback이 잘 동작하도록 하려면 어떻게 설정해야 할까? 실제로 구현을 해본 적은 없지만 세 가지

supawer0728.github.io

 

 

https://goodwoong.tistory.com/126

 

[Spring boot] 분산 트랜젝션

분산 트랜젝션이란 ? 2개 그 이상의 네트워크 상의 시스템 간의 트랜잭션. 2개의 Phase Commit으로 분산 리소스간의 All or Nothing 보장 Spring Boot 내에서 XA protocol을 사용해서 two phase commit을 진행한다. XA

goodwoong.tistory.com

 

 

https://kindloveit.tistory.com/120

 

[Spring boot] atomikos 라이브러리 활용 XA 멀티 DBMS Transacaction 구현

백엔드 개발을 할때 하나의 DB 가 아닌 여러 DB를 활용해서 개발을 해야 할 경우가 있을 수 있다. 여러 DB에 데이터를 write 할 경우에 데이터 정합성을 위한 transaction 관리가 쉽지 않을텐데 Spring boot

kindloveit.tistory.com

 

참조.

- atomikos : https://www.atomikos.com/Documentation

 

 

 

728x90

'Tools > Spring' 카테고리의 다른 글

Spring 관련 한글 문서  (0) 2023.10.06
[SpringBoot 2.7.*] H2 Jdbc 설정, schema(DDL) 및 data(DML)  (0) 2023.09.16
spring application.properties 정보  (0) 2023.08.18
J2DBC 참조  (0) 2023.05.09
web Flux 참조  (0) 2023.05.09

 

jsp 를 이용한 로직, 또는 windows 의 tasklist 나, unix/linux의 ps 를 이용할 수도 있다.

	private static boolean checkRunningJarProcesses(String checkProcess) {
        boolean jarProcessFound = false;
        if(checkProcess == null) {
        	return jarProcessFound;
        }        	
        
        checkProcess = checkProcess.trim();
        
    	// 환경설정. 1) JAVA_HOME 정의하고, 2) path에 %JAVA_HOME%\bin 추가할 것.  
    	String command = "jps";
        String line;
        Process process = null;
        try {
            process = new ProcessBuilder(command).start();
            logger.debug("Checking for running JAR processes...");
            try(BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
                while ((line = reader.readLine()) != null) {
                    // "java -jar"가 포함된 프로세스를 찾음
                	String[] columns = line.split(" "); // 1: pid, 2: process
                    if (columns.length > 1 && checkProcess.equalsIgnoreCase(columns[1])) {
                    	logger.debug("Found JAR process: " + line);
                        jarProcessFound = true;
                    }
                }            
            }        	
            // int returnCode = process.waitFor();
            // logger.debug("returnCode: {}", returnCode);
        } catch (IOException e) {
        	logger.error(e.toString());
	    } finally {
	    	if(process != null) {
	            process.destroy();
	    	}
	    }
		
		return jarProcessFound;
	}

 

end.

728x90

 

cmd script - jar application 이 미실행 중일 때만, start 수행하는 스크립트. (@ChatGPT)

 

@echo off
set JAR_NAME=your_application.jar

REM JPS 명령어로 현재 JAR 파일이 실행 중인지 확인
for /f "tokens=2" %%i in ('jps -l ^| findstr /I "%JAR_NAME%"') do (
    set RUNNING=true
)

REM 실행 중이 아니라면 애플리케이션 시작
if not defined RUNNING (
    echo Starting Java application...
    start "JavaApp" java -jar "%JAR_NAME%"
) else (
    echo Java application is already running.
)

 

end.

 

728x90

+ Recent posts