在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:intellimessage开源软件地址:https://gitee.com/favccxx/intellimessage开源软件介绍:Intelli messageIntelli Message是基于Apache Camel实现的企业消息转发与处理服务,目前已支持常用的Kafka消息协议与ANMQP消息协议。 安装环境
应用组件
使用教程
用户通过 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" } ]} 使用许可本项目采用 想怎么用就怎么用 许可,请务必严格遵循其规范。 |
请发表评论