Intelli Message
Intelli Message — это сервис для пересылки и обработки корпоративных сообщений, основанный на Apache Camel. В настоящее время он поддерживает распространённые протоколы обмена сообщениями Kafka и AMQP.
Требования к среде установки:
Компоненты приложения:
Руководство по использованию:
Пользователь может ввести информацию о сервере конфигурации очереди сообщений через http://127.0.0.1:9999/api/v1/msg.
Этот сервис не поддерживает использование одного и того же компонента для пересылки сообщений на один и тот же адрес, поэтому в приведённом ниже примере маршрута используются компоненты AMQP и RabbitMQ.
/* 1 */
{
"_id" : ObjectId("5f979080c5419a018f3b86c6"),
"virtualHost" : "/",
"code" : "fromcode",
"duribility" : true,
"exchangeName" : "fromexchange",
"routingName" : "fromrouting",
"messageType" : "TOPIC",
"queueName" : "fromqueue",
"autoDelete" : false,
"url" : "172.17.3.100",
"port" : 5672,
"username" : "guest",
"password" : "guest",
"version" : "3.8.8",
"type" : "AMQP",
"createTime" : ISODate("2020-10-27T03:14:08.061Z"),
"updateTime" : ISODate("2020-10-27T03:14:08.061Z"),
"_class" : "com.favccxx.message.domain.message.entity.endpoint.AmqpEndPoint"
}
/* 2 */
{
"_id" : ObjectId("5f979092c5419a018f3b86c7"),
"virtualHost" : "/",
"duribility" : true,
"code" : "tocode",
"exchangeName" : "toexchange",
"routingName" : "torouting",
"messageType" : "TOPIC",
"queueName" : "toqueue",
"autoDelete" : false,
"url" : "172.17.3.100",
"port" : 5672,
"username" : "guest",
"password" : "guest",
"version" : "3.8.8",
"type" : "RabbitMQ",
"createTime" : ISODate("2020-10-27T03:14:26.483Z"),
"updateTime" : ISODate("2020-10-27T03:14:26.483Z"),
"_class" : "com.favccxx.message.domain.message.entity.endpoint.RabbitmqEndPoint"
}
Процессор сообщений может преобразовывать данные имени и типа сообщения и выполнять соответствующую обработку. Подробнее см. в исходном коде.
{
"_id" : ObjectId("5f9790d6c5419a018f3b86c8"),
"routerName" : "cxtestrouter",
"fromEndPoint" : "5f979080c5419a018f3b86c6",
"messageFormat" : "JSON",
"filterInstance" : "",
"preprocessor" : "",
"persistence" : false,
"processor" : "EntityMessageProcessor",
"processRules" : "{\"level\":\"PROCESS\",\"name\":\"TargetEntity\",\"rules\":[{\"sourceType\":\"String\",\"sourceExpression\":\"$.dateTime\",\"targetName\":\"sendTime\",\"targetType\":\"String\",\"targetDefaultValue\":\"Analog\"},{\"sourceType\":\"String\",\"sourceExpression\":\"$.data.*.id\",\"targetName\":\"myId\",\"targetType\":\"String\",\"targetDefaultValue\":\"hello\"},{\"sourceType\":\"String\",\"sourceExpression\":\"$.data.*.type\",\"targetName\":\"myType\",\"targetType\":\"String\",\"targetDefaultValue\":\"helloType\"},{\"sourceType\":\"String\",\"sourceExpression\":\"$.data.*.value\",\"targetName\":\"myValue\",\"targetType\":\"String\",\"targetDefaultValue\":\"helloValue\"}]}",
"toEndPoint" : "5f979092c5419a018f3b86c7",
"status" : true,
"createTime" : ISODate("2020-10-27T03:15:34.608Z"),
"updateTime" : ISODate("2020-10-28T10:32:23.030Z"),
"_class" : "com.favccxx.message.domain.message.entity.router.MessageRouter"
}
Исходное сообщение:
{
"dateTime": "2020-10-21 11:59:42",
"data": [
{
"id": "36341",
"value": "0",
"type": "Analog"
},
{
"id": "36343",
"value": "0",
"type": "Analog"
}]
}
Сообщение после пересылки:
{
"name": "TargetEntity",
"dataMap": [
{
"myId": "36341",
"myType": "Analog",
"myValue": "0",
"sendTime": "2020-10-21 11:59:42"
},
{
"myId": "36343",
"myType": "Analog",
"myValue": "0",
"sendTime": "2020-10-21 11:59:42"
}
]
}
Лицензия на использование.
В этом проекте используется лицензия Think How to Use It (THOU). Пожалуйста, строго соблюдайте её требования.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )