[TIBCO Rendezvous 8.4] CMD에서 통신 테스트 및 Java 예제 실습 방법
TIBCO Rendezvous는 고속 데이터 통신을 위한 미들웨어로, CMD(Command Prompt)와 Java를 활용해 직접 통신 테스트가 가능합니다. 이 글에서는 TIBCO Rendezvous 통신 구조 개요부터 CMD 환경 테스트, Java 예제 실습까지 순서대로 설명합니다.
목차
- TIBCO Rendezvous(RV)란?
- CMD 환경에서 Rendezvous 통신 테스트
- JAVA로 구현하는 Tibrv 통신 예제
- 통신 중 발생 가능한 오류 및 해결 팁
- 참고 자료 및 공식 문서
1. TIBCO Rendezvous(RV)란?
**TIBCO Rendezvous(줄여서 RV)**는 TIBCO에서 제공하는 미들웨어 솔루션으로, UDP 기반의 피어 투 피어 아키텍처를 사용해 고속 통신을 가능하게 합니다.
주로 실시간 대용량 메시지 전송이 필요한 금융, 통신, 제조 시스템에서 사용되며, 다양한 언어의 API를 지원합니다.
설치 경로 내 example 폴더에 각 언어별 샘플 코드와 문서가 포함되어 있습니다.
2. CMD 환경에서 TIBCO Rendezvous 통신 테스트
2-1. 데몬 구성 및 환경변수 설정
먼저 설치 경로에서 tibrvcfg.bat를 실행해 데몬을 설정합니다.
cd %TIBRV_HOME%\bin
tibrvcfg.bat
발생 가능 오류:
- TIBRV_HOME is not set: 환경 변수 설정 필요
- bin\java.exe not found: JAVA_HOME 설정 확인
팁: tibrvcfg.bat 없이도 tibrvlisten 실행 시 자동으로 데몬이 구동됩니다.
2-2. 리스너와 메시지 전송 테스트
리스너 실행
tibrvlisten -service 7500 -network ;;127.0.0.1 -daemon tcp:7500 TEST.MESSAGE
메시지 전송
tibrvsend -service 7500 -network ;;127.0.0.1 -daemon tcp:7500 TEST.MESSAGE Hello RV
- 메시지를 전송하면 리스너 측에서 수신 메시지를 바로 확인할 수 있습니다.
- 서비스 포트와 데몬 포트 개념을 이해하면 테스트가 훨씬 쉬워집니다.
2-3. 라이선스 경고 해결 방법
테스트 중 아래와 같은 경고가 출력될 수 있습니다:
ADV_CLASS="WARN" ADV_SOURCE="SYSTEM" ADV_NAME="LICENSE.EXPIRE"
이는 tibrv.tkt 라이선스 파일이 누락되어 발생하며, TIBCO 홈 디렉토리에 해당 파일을 복사하고 시스템을 재부팅하면 해결됩니다.
3. JAVA로 구현하는 Tibrv 통신 예제
TIBCO 설치 폴더 내 src/example/java 디렉토리에서 Java 예제 소스를 확인할 수 있습니다.
3-1. Client → Server Request 코드
TibrvTransport transport = new TibrvRvdTransport(service, network, daemon);
TibrvMsg query_msg = new TibrvMsg();
query_msg.addField(new TibrvMsgField("AAA", "전송할 데이터", TibrvMsg.STRING));
TibrvMsg reply_msg = transport.sendRequest(query_msg, timeout);
System.out.println(reply_msg.getField("BBB").data);
3-2. Server → Client Reply 코드
public void onMsg(TibrvListener listener, TibrvMsg msg) {
TibrvMsg reply_msg = new TibrvMsg();
reply_msg.addField(new TibrvMsgField("BBB", "리턴할 데이터", TibrvMsg.STRING));
listener.getTransport().sendReply(reply_msg, msg);
}
주의: 동일 ID로 두 번째 요청을 보낼 경우 "id already in use" 오류가 발생할 수 있습니다.
4. 통신 중 발생 가능한 오류 및 해결 팁
오류 메시지 원인 해결 방법
id already in use | 동일한 ID 재사용 | 메시지 생성 시 ID 중복 피하기 |
LICENSE.EXPIRE | 라이선스 파일 없음 | tibrv.tkt 복사 후 재부팅 |
JAVA_HOME not found | JAVA 경로 설정 누락 | 환경변수에 JAVA_HOME 등록 |
XML 포맷을 사용할 경우 TibrvXml 관련 오류가 발생할 수 있으니 포맷 설정에 주의하세요.