TIL_5

-·2021년 2월 1일
0

TIL

목록 보기
5/15

Tomcat에서 내 프로젝트 폴더를 root context로 인식하게 만들기

  • server.xml 수정

    <Host>
    	<Context paht="" docBase="경로" reloadalbe="false">
    </Host>
  • 배포할 war이름을 ROOT.war로 바꿔서 webapp에 올리기

이클립스 패키지 계층형으로 보이게하기

Project Exploer의 아래 메뉴에서 View Menu->Package Presentation->Hierarchical

Spring tiles

jsp나 spring에서 공통레이아웃을 include시켜서 편하게 쓸수있도록 하는데

이걸 묶어서 편하게 관리할수있도록 도와주는 탬플릿 프레임워크

등록한 tiles.xml파일만 고쳐주면 쉽게쉽게 관리가 가능

ExecutorService

ExecutorService는 병렬작업 시 여러개의 작업을 효율적으로 처리하기 위해 제공되는 JAVA의 라이브러리이다.

간단히 말해서 ThreadPool를 생성해주고 편하게 쓸수있도록 관리해준다.

  • execute()

    작업처리중에 결과를 받을 수 없습니다.

    작업처리중에 예외가 발생하면 스레드가 종료되고 해당스레드는 스레드풀에서 제거되고, 스레드풀은 새로운스레드를 생성합니다.

  • submit()

    작업처리결과를 future타입으로 리턴해줍니다.

    작업처리중에 예외가 발생하면 스레드는 제거되지않고 다음작업에 재사용됩니다.

Future 객체

Future 객체는 작업 결과가 아니라 작업이 완료될 때까지 기다렸다가 최종 결과를 얻는데 사용합니다.

그래서 Future는 지연 완료(pending Completion) 객체라고 합니다. Future의 get() 메소드를 호출하면 스레드가 작업을 완료할 때까지 블로킹되었다가 작업을 완료하면 처리 결과를 리턴합니다.

주의할 점은 작업을 처리하는 스레드가 작업을 완료하기 전까지는 get() 메소드가 블로킹되므로 다른 코드를 실행할 수 없습니다.

다른 코드를 수행중인 스레드가 get() 메소드를 호출하면 작업을 완료하기 전까지 다른 코드를 처리할 수 없게 됩니다.

그렇기 때문에 get() 메소드를 호출하는 스레드는 새로운 스레드이거나 스레드 풀의 또 다른 스레드가 되어야 합니다.

Runnable

Runnable의 run() 메소드는 리턴값이 없습니다.

Callable

Callable의 call() 메소드는 리턴값이 있습니다.

call()의 리턴 타입은 implements Callable 에서 지정한 타입입니다.

제네릭 타입 파라미터 T는 call() 메소드가 리턴하는 타입이 되도록 합니다.

그외

nginx 명령어
  • restart

    service nginx restart

    systemctl restart nginx

    서버를 shutdown 한 뒤 재 기동, 즉 서버가 운영되지 않는 시간이 존재

    설정 파일에 문법적 에러가 존재할 경우, 서버는 죽게 된다.

  • reload

    service nginx reload

    systemctl reload nginx

    새로운 설정 파일을 반영할 때 서버는 살아서 동작한다.

    설정 파일에 문법적 에러가 존재할 경우, reload는 실패하지만 서버는 기존 설정을 기반으로 정상적으로 동작한다.

  • start

    service nginx start

    systemctl start nginx

  • stop

    service nginx stop

    systemctl stop nginx

profile
거북이는 오늘도 걷는다

0개의 댓글