Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Websocket practice #1

Open
SarahhhC opened this issue Oct 6, 2018 · 4 comments
Open

Websocket practice #1

SarahhhC opened this issue Oct 6, 2018 · 4 comments
Assignees

Comments

@SarahhhC
Copy link
Owner

SarahhhC commented Oct 6, 2018

No description provided.

@SarahhhC SarahhhC self-assigned this Oct 6, 2018
@SarahhhC
Copy link
Owner Author

SarahhhC commented Oct 6, 2018

@SarahhhC
Copy link
Owner Author

SarahhhC commented Oct 6, 2018

Thread 관련

https://docs.spring.io/spring/docs/2.0.x/reference/scheduling.html

https://blog.outsider.ne.kr/1066

26.2.1 TaskExecutor의 종류
스프링 배포본에 포함된 다수의 TaskExecutor 구현체들이 있다. 아마 직접 구현할 일은 거의 없을 것이다.

SimpleAsyncTaskExecutor
이 구현에는 어떤 스레드도 재사용하지 않고 호출마다 새로운 스레드를 시작한다. 하지만 이 구현체는 동시접속 제한(concurrency limit)을 지원해서 제한 수가 넘어서면 빈 공간이 생길 때까지 모든 요청을 막을 것이다. 실제 풀링(pooling)을 원한다면 뒷부분을 더 봐야 한다.

SyncTaskExecutor
이 구현체는 호출을 비동기적으로 실행하지 않고 대신, 각 호출이 호출 스레드에 추가된다. 간단한 테스트 케이스처럼 멀티스레드가 필요하지 않은 상황에서 주로 사용한다.

ConcurrentTaskExecutor
이 구현체는 Java 5 java.util.concurrent.Executor의 래퍼다. 또 다른 대안은 빈 프로퍼티로 Executor 설정 파라미터를 노출하는 ThreadPoolTaskExecutor다. ConcurrentTaskExecutor를 사용해야 하는 경우는 드물지만 ThreadPoolTaskExecutor가 원하는 만큼 안정적이지 않다면 ConcurrentTaskExecutor를 대신 사용할 수 있다.

SimpleThreadPoolTaskExecutor
이 구현체는 실제로 Quartz SimpleThreadPool의 하위클래스로 스프링의 생명주기 콜백을 받는다. 이는 Quartz와 Quartz가 아닌 컴포넌트 간에 공유해야 하는 스레드 풀이 있는 경우에 보통 사용한다.

ThreadPoolTaskExecutor
이 구현체는 자바 5 환경에서만 사용할 수 있지만, 자바 5 환경에서는 가장 일반적으로 사용한다. 이 구현체는 java.util.concurrent.ThreadPoolExecutor를 구성하는 빈 프로퍼티를 노출하고 이를 TaskExecutor로 감싼다. ScheduledThreadPoolExecutor같은 고급 기능이 필요하다면 ConcurrentTaskExecutor를 대신 사용하기를 권장한다.

TimerTaskExecutor
이 구현체는 지원 구현체로 단일 TimerTask를 사용한다. SyncTaskExecutor와 다른 부분은 같은 스레드에서 동기로 동작하더라도 메서드 호출을 다른 스레드에서 한다는 점이다.

WorkManagerTaskExecutor
이 구현체는 CommonJ WorkManager를 지원 구현체로 사용하고 스프링 컨텍스트에서 CommonJ WorkManager 참조를 구성하는 핵심 클래스다. SimpleThreadPoolTaskExecutor와 유사하게 이 클래스는 WorkManager 인터페이스를 구현했으므로 WorkManager처럼 직접 사용할 수 있다.

@SarahhhC
Copy link
Owner Author

SarahhhC commented Oct 6, 2018

SocketJS

Client side

https://github.com/sockjs/sockjs-client
https://socket.io/

@SarahhhC
Copy link
Owner Author

SarahhhC commented Oct 6, 2018

대박좋은 가이드가 있었음
https://spring.io/guides/gs/messaging-stomp-websocket/

스프링이었음..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant