The Kaazing Java WebSocket Universal Clients library uses the same Java AMQP Client Libraries Facade and Java JMS Client Libraries Facade for interaction with Kaazing AMQP and JMS client libraries. Please, refer to the links above for the details about the details of the usage and implementations.
Kaazing Universal Clients for Java Application requires Java version 8 or above.
- Using Gradle
'com.kaazing.client:universal-client:1.0+'
- Using Maven
<dependency>
<groupId>com.kaazing.client</groupId>
<artifactId>universal-client</artifactId>
<version>1.0+</version>
</dependency>
The Kaazing Universal WebSocket clients depend on the Kaazing WebSocket Gateway (KWG) being installed on one or more servers. KWG supports two protocols, AMQP and JMS. Read Obtaining and configuring Kaazing Gateways and related Servers for more information.
-
Create an instance of the Universal Client Library.
try (UniversalClient universalClient = UniversalClientFactory.createUniversalClient(UniversalClientProtocol.amqp, // Protocol new URI("ws://localhost:8001/amqp"), // Kaazing Gateway URL "guest", // Login to use to connect to Kaazing Gateway "guest", // Password to use to connect to Kaazing Gateway new ErrorsListener() { // Error listener callback - simply printerrors @Override public void onException(ClientException exception) { System.err.println("Exception occurred! " + exception.getMessage()); } });) { ... };
-
Establish a connection
try (UniversalClient universalClient = UniversalClientFactory.createUniversalClient(UniversalClientProtocol.amqp, // Protocol new URI("ws://localhost:8001/amqp"), // Kaazing Gateway URL "guest", // Login to use to connect to Kaazing Gateway "guest", // Password to use to connect to Kaazing Gateway new ErrorsListener() { // Error listener callback - simply printerrors @Override public void onException(ClientException exception) { System.err.println("Exception occurred! " + exception.getMessage()); } });) { ClientSubscription subscription = universalClient.subscribe("test", // publishing point "test", // subscription point new MessagesListener() { // Message listener - simply print messages @Override public void onMessage(Serializable message) { System.out.println("Received message: " + message.toString()); } };
-
Send message
try (UniversalClient universalClient = UniversalClientFactory.createUniversalClient(UniversalClientProtocol.amqp, // Protocol new URI("ws://localhost:8001/amqp"), // Kaazing Gateway URL "guest", // Login to use to connect to Kaazing Gateway "guest", // Password to use to connect to Kaazing Gateway new ErrorsListener() { // Error listener callback - simply printerrors @Override public void onException(ClientException exception) { System.err.println("Exception occurred! " + exception.getMessage()); } });) { ClientSubscription subscription = universalClient.subscribe("test", // publishing point "test", // subscription point new MessagesListener() { // Message listener - simply print messages @Override public void onMessage(Serializable message) { System.out.println("Received message: " + message.toString()); } // Send as a text subscription.sendMessage(text); // Send as an object subscription.sendMessage(new SomeObjectMessage()); };
As shown on the diagram above, Kaazing Universal Client works as following:
- Instantiates required Client Facade Library based on specified protocol that will interact with necessary Kaazing Java Client Libraries
- Pass the data to and from the Kaazing Java Client libraries via instantiated Client Facade Library
For more information about Client Facade libraries see AMQP Client Libraries Facade and JMS Client Libraries Facade.
