Comments (6)
In the old MQTT operators, we support a format parameter: bin / block.
Since we are now implementing operators in Java, we can no longer have a parameter that uses custom literals. In thinking about this more, I think we should avoid having "format" parameters in adapters in general. Format should be done externally in Parse / Format operators.
Therefore, I propose that we remove the "format" parameter from both of these operators and only support the "block" format. The adapters will always take a blob for MQTTSink and send out a blob for MQTTSource. If the user wants to use "bin" format, they can use the Parse and Format operators to achieve the same effect. I think most people have been using "block" format anyway since the operators are used for interfacing with external systems... does not really make sense to send out Streams binary format.
@mikespicer , @ddebrunner , @petenicholls - what do you think about this proposal?
from streamsx.messaging.
I think it makes sense to have formatting separate.
from streamsx.messaging.
I prefer separating the data transport from the data format with separate operators for parse/format which can be used in conjunction with source/sink to provide many combinations.
I realise that you are asking about the bin format which means the data format is the binary serialization of a stream tuple, and I think it makes sense to separate that out to be parse/format operators. I presume that different message formats like text or binary with XMS and JMS etc. need to be handled differently as it determines if the messaging system will read a message or not. Is that the case?
from streamsx.messaging.
@mikespicer Yes, that is correct, we will have to handle message format for Text / Binary for XMS and JMS differently. For XMS, I believe the message format is handled by XMS client. We need to look at how we are interfacing with the client. For JMS, the message formats are handled by the operator, which we will need to review and figure out if we want to or how to separate those out.
from streamsx.messaging.
OK good. On data format I completely agree that it should be handled using parse/format operators and not to have format parameters on the source/sink operators themselves. For message format we would handle it in the source/sink as its part of the configuration/parameters for interacting with messaging systems.
from streamsx.messaging.
Understood.... Will add this as part migration information about going from the product messaging toolkit to open-source messaging toolkit. Thanks!
from streamsx.messaging.
Related Issues (20)
- Deprecate Kafka operators HOT 4
- JMSSource doesn't reconnect after server restart or connection loss HOT 1
- JMSSource ignores silently messages
- Nats.io support request HOT 5
- closed.please ignore this issue. HOT 10
- Please ignore this issue; closed. HOT 3
- javax.management.InstanceAlreadyExistsException: kafka.consumer:type=consumer-node-metrics,client-id=consumer-1,node-id=node--4 HOT 3
- where can I find the logs produced by KafkaProducer and KafkaConsumer HOT 4
- Deprecate MQTT operators HOT 1
- Deprecate RabbitMQ operators HOT 1
- Update toolkit information on project page to remove Kafka and MQTT HOT 1
- Update relevant JMS docs to include the 'text' message class HOT 1
- com.rabbitmq:amqp-client vulnerability found in com.ibm.streamsx.messaging/pom.xml HOT 1
- Security issue CVE-2017-12610
- Vulnerability found in org.eclipse.paho:org.eclipse.paho.client.mqttv3 HOT 1
- Error: Could not find or load main class org.apache.log4j.net.JMSSink Caused by: java.lang.NoClassDefFoundError: javax/jms/MessageListener HOT 5
- The Readme needs to be updated to say the toolkit is deprecated HOT 21
- please remove the master branch HOT 1
- Duplicate Record insertion into Websphere MQ using JMS Sink
- Error: Could not find or load main class org.apache.log4j.net.JMSSink
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from streamsx.messaging.