vertx eventbus 예제

JSON 구성은 프로그래밍 방식으로 배포되는 verticle에 전달될 수 있습니다. 배포된 verticle 내부에서 구성은 구성 속성으로 액세스됩니다. 예를 들어, NetSocket 인스턴스를 처리기에서 제공하는 NetServer를 만드는 verticle을 배포한 경우 verticle의 이벤트 루프에서 해당 소켓 인스턴스에 항상 액세스하는 것이 가장 좋습니다. 이 예제에서는 NPM 모듈에 종속된 다른 언어 verticle을 배포하는 verticle을 보여 주며, 필터와 일치하는 디렉터리 내용만 나열합니다. 다음은 디렉터리에서 확장자 txt가 있는 파일만 나열하는 예제입니다. 이 예제에서는 모든 유형의 개체를 송신/게시/수신에 대한 사용자 지정 MessageCodec를 작성하는 방법을 보여 줍니다. 즉, String과 같은 기본 형식뿐만 아니라 EventBus를 통해 직접 사용자 지정 데이터 형식 개체를 보내거나 받을 수 있습니다. 이것은 에코 예제와 동일하지만 SSL을 사용하여 연결을 암호화하려면 vertx 인스턴스를 만들 수 있습니다. RouteMatcher및 HTTP 서버에서 처리기로 사용합니다. HTTP 처리기 설정에 대한 자세한 내용은 HTTP 서버의 장을 참조하십시오. 다음은 이러한 프레임을 보내려면 응답에서 writeCustomFrame을 사용할 수 있습니다.

다음은 문자열 /svc가 메시지를 게시하고 사용하는 것을 선호하는 경우 주제 또는 주소입니다. 위의 예에서는 주소 /svc로 전송(또는 게시된) 모든 것에 대한 이벤트 버스를 듣고 있습니다. 주소의 이름을 지정하는 방법은 전적으로 여러분에게 달려 있습니다. Node.js가 이 패턴을 구현하기 때문에 이전에 들어본 적이 있을 수 있습니다. 이 예제에서는 수신자와 보낸 자 간의 게시/구독 메시징을 보여 줍니다. Pub/sub 메시징을 사용하면 모두 게시자로부터 메시지를 받는 여러 구독자를 가질 수 있습니다. 예제에서 가장 먼저 수행하는 것은 이벤트 버스의 인스턴스를 만드는 것입니다 VertxOptions 개체는 많은 설정을 가지고 있으며 클러스터링, 고가용성, 풀 크기 및 기타 다양한 설정을 구성할 수 있습니다. 이는 배포 예제와 유사하지만 verticle의 시작 및 중지가 비동기적일 수 있는 방법을 보여 주며, 이를 보여 주며, 이를 보여 주며, 이러한 현상을 보여 주며, 이 기능은 verticle에 약간의 시간이 걸리는 시작 또는 정리가 있고 이벤트 루프를 차단하지 않으려는 경우에 유용합니다. Java 임베디드 예제는 그 예입니다. IDE의 클래스를 마우스 오른쪽 버튼으로 클릭하여 직접 실행합니다.

UDP의 특성상 패킷을 드롭할 수 있는 응용 프로그램(예: 모니터링 응용 프로그램)에 가장 적합합니다. 이전 예제에서는 유창한 API가 사용되었습니다. 작업자 verticle을 만들 수 있는 방법을 설명 하는 간단한 예제 및 스레드와 상호 작용할 때 전환 합니다. 작업자 버티클은 System.out.println(Thread.currentThread()이 아닙니다. 이벤트 루프에서 ed 그래서 차단 작업을 수행 할 수 있습니다. 이렇게 하면 해당 이벤트 루프가 차단된 동안에는 다른 작업을 수행할 수 없습니다. Vertx 인스턴스의 모든 이벤트 루프를 차단하면 응용 프로그램이 완전히 중단됩니다! Vert.x가 지원하는 다른 언어의 코어를 사용할 수 있습니다. 그러나 여기에 멋진 비트 – 우리는 자바 스크립트 또는 루비에서 직접 자바 API를 사용하도록 강요하지 않습니다 – 결국, 다른 언어는 다른 관습과 숙어를 가지고 있으며, 루비 개발자 (예를 들어)에 자바 숙어를 강제로 이상한 것입니다. 대신 각 언어에 대한 핵심 Java API와 동일한 관용구를 자동으로 생성합니다.

또한 클래스 경로에 ClusterManager 구현(예: Hazelcast 클러스터 관리자)이 있는지 확인해야 합니다. 이 예제에서는 RAM이 부족하지 않지만 쓰기 큐가 가득 차면 데이터가 손실됩니다. 쓰기 대기열이 가득 차면 NetSocket을 일시 중지하고 싶은 작업입니다.