У меня есть это приложение, используя mqtt-client java library для подключения к брокеру ActiveMQ через mqtt. Подписка, публикация и получение сообщений работают нормально, пока моя тема не имеет косой черты (/).Как избежать специального символа (косая черта) в теме mqtt?
Я понимаю, что косые черты являются специальными символами в mqtt и согласно activemq mqtt support"/"
будет преобразован в "."
. Однако, в моем случае, мне нужно подключиться к тем, которые были созданы с использованием JMS и которые написаны как uri (пример http://activemq.apache.org/) и поэтому будут иметь «/» на их имена.
Есть ли все-таки, чтобы просмотреть "/"
на mqtt? На данный момент, если я пытаюсь подключиться к теме под названием http://activemq.apache.org/
это на самом деле подключиться к http:..activemq.apache.org.
Вы не можете избежать "/"на mqtt, я не уверен, что предложить. – ralight
Это действительно нужно, чтобы кто-то был знаком с реализацией activemq. Ваша проблема связана с тем, как они выбрали переписывание тем - казалось бы, нет возможности остановить это. Если вы не получите полезный ответ здесь, вам следует попробовать через один из каналов поддержки activemq. – knolleary
@knolleary Я проверил их [источник] (https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-mqtt/src/main/java/ org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java; h = ac598e7c38825b88c233de52b5b81f205797f737; hb = a63a8320eabbe4e988b6d67eb6cf84aa0d294e0a), и они заменяют «/» на «.». Знаете ли вы случайно, если согласно стандарту mqtt, mqtt должен принимать темы с «/», каким-то образом избегающим их имен?Если это так, я могу попытаться внести изменения в источник брокера (или изменить его самостоятельно), иначе я не должен был бы убеждать его здесь не использовать такие имена тем – Thomas