https://github.com/litongjava/mica-mqtt-client-native
mica-mqtt-client-native
https://github.com/litongjava/mica-mqtt-client-native
Last synced: about 2 months ago
JSON representation
mica-mqtt-client-native
- Host: GitHub
- URL: https://github.com/litongjava/mica-mqtt-client-native
- Owner: litongjava
- Created: 2023-12-10T15:27:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T16:09:04.000Z (over 2 years ago)
- Last Synced: 2025-06-05T23:38:39.058Z (12 months ago)
- Language: Java
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Mica MQTT Client Native
Mica MQTT Server Native is a high-performance messaging server based on Mica MQTT Server, supporting TCP, HTTP, and WebSocket protocols. It also supports building into binary files using GraalVM.
Mica MQTT Server Native is the client that interfaces with Mica MQTT Server Native.
## Build Process
### Install GraalVM
1. Download and extract GraalVM:
```shell
wget https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_linux-x64_bin.tar.gz
mkdir -p ~/program/
tar -xf graalvm-jdk-21_linux-x64_bin.tar.gz -C ~/program/
```
2. Set environment variables:
```shell
export JAVA_HOME=~/program/graalvm-jdk-21.0.1+12.1
export GRAALVM_HOME=~/program/graalvm-jdk-21.0.1+12.1
export PATH=$JAVA_HOME/bin:$PATH
```
### Install Maven
1. Download and extract Maven:
```shell
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.zip
unzip apache-maven-3.8.8-bin.zip -d ~/program/
```
2. Set environment variables:
```shell
export MVN_HOME=~/program/apache-maven-3.8.8/
export PATH=$MVN_HOME/bin:$PATH
```
### Download Code
```shell
git clone https://github.com/litongjava/mica-mqtt-client-native.git
cd mica-mqtt-client-native/
```
### Build Java Jar (Optional)
```shell
mvn package
java -jar target/mica-mqtt-client-native.jar
```
### Build Binary Image
```shell
mvn clean package -DskipTests -Pmqtt-client-graal
```
Successfully tested on GraalVM JDK 21 and GraalVM JDK 17.0.9+11.1.