JMS 공급자는 Java 클라이언트만 지원해야 합니다. 그러나 그림 1–6에 표시된 것처럼 Message Queue 클라이언트는 Java 또는 공급자별 C API를 사용하여 메시지를 보내거나 받을 수 있습니다. 이러한 인터페이스는 Java 또는 C 런타임 라이브러리에 구현되는데, 브로커와의 연결을 만들고 요청된 연결 서비스에 적절하게 비트를 패키지화하는 실제 작업을 담당합니다.
Java 클라이언트 런타임은 Java 클라이언트에 브로커와의 상호 작용에 필요한 객체를 제공합니다. 이러한 객체에는 연결, 세션, 메시지, 메시지 제작자 및 메시지 소비자가 포함됩니다.
C 클라이언트 런타임은 C 클라이언트에 브로커와의 상호 작용에 필요한 기능과 구조를 제공합니다. C 클라이언트 런타임은 JMS 프로그래밍 모델의 절차상 버전을 지원합니다. C 클라이언트는 JNDI를 사용하여 관리 대상 객체에 액세스할 수 없지만, 연결 팩토리와 대상을 프로그래밍 방식으로 만들 수 있습니다.
Message Queue 서비스는 레거시 C 및 C++ 응용 프로그램이 JMS 기반 메시징에 참여할 수 있도록 C API를 제공합니다. 이러한 두 API에서 제공하는 기능에는 많은 차이가 있으며, 그에 대한 자세한 내용은 Java 및 C 클라이언트를 참조하십시오.
JMS 사양이 Java 클라이언트 전용 표준이라는 점을 명심하십시오. C 지원은 Message Queue 공급자에만 해당되며 다른 공급자에게 연결할 클라이언트 응용 프로그램에서는 사용할 수 없습니다.