├── samples ├── .gitignore ├── MqttSample │ ├── application │ │ ├── .namespace │ │ └── MqttSample.spl │ ├── data │ │ └── .gitignore │ ├── .gitignore │ ├── .classpath │ ├── LICENSE.md │ ├── info.xml │ ├── Makefile │ ├── .project │ └── .settings │ │ └── application.MqttSample-BuildConfig.splbuild ├── JmsWithXmlParse │ ├── .gitignore │ ├── application │ │ └── .namespace │ ├── .classpath │ ├── info.xml │ ├── Makefile │ ├── data │ │ └── catalog.xml │ ├── .project │ ├── etc │ │ └── connections.xml │ └── .settings │ │ └── application.JmsWithXmlParse-BuildConfig.splbuild ├── JmsWithXmlParseBytes │ ├── .gitignore │ ├── application │ │ ├── .namespace │ │ └── JmsWithXmlParseBytes.spl │ ├── .classpath │ ├── Makefile │ ├── info.xml │ ├── data │ │ └── catalog.xml │ ├── .project │ ├── etc │ │ └── connections.xml │ └── .settings │ │ └── application.JmsWithXmlParseBytes-BuildConfig.splbuild ├── JMSSample │ ├── .gitignore │ ├── com.ibm.streamsx.messaging.sample.jms │ │ ├── .namespace │ │ └── JMSSample.spl │ ├── .classpath │ ├── data │ │ └── testdata.csv │ ├── Makefile │ ├── info.xml │ ├── .project │ ├── .settings │ │ └── com.ibm.streamsx.messaging.sample.jms.JMSSample-BuildConfig.splbuild │ └── etc │ │ └── connections.xml ├── KafkaSample │ ├── .gitignore │ ├── com.ibm.streamsx.messaging.sample.kafka │ │ ├── .namespace │ │ └── KafkaSample.spl │ ├── etc │ │ ├── producer.properties │ │ └── consumer.properties │ ├── .classpath │ ├── Makefile │ ├── info.xml │ ├── .project │ └── .settings │ │ └── com.ibm.streamsx.messaging.sample.kafka.KafkaSample-BuildConfig.splbuild ├── XMSSample │ ├── .gitignore │ ├── com.ibm.streamsx.messaging.sample.xms │ │ ├── .namespace │ │ └── XMSSample.spl │ ├── .classpath │ ├── data │ │ └── testdata.csv │ ├── Makefile │ ├── info.xml │ ├── .project │ ├── etc │ │ └── connections.xml │ └── .settings │ │ └── com.ibm.streamsx.messaging.sample.xms.XMSSample-BuildConfig.splbuild ├── KafkaConsistentRegionConsumerParallel │ ├── application │ │ └── .namespace │ ├── etc │ │ ├── producer.properties │ │ └── consumer.properties │ ├── .classpath │ ├── Makefile │ ├── info.xml │ ├── .project │ └── .settings │ │ └── application.ConsistentRegionParallelConsumers-BuildConfig.splbuild ├── KafkaConsistentRegionConsumerSimple │ ├── .gitignore │ ├── application │ │ ├── .namespace │ │ └── ConsistentRegionConsumerSimple.spl │ ├── etc │ │ ├── producer.properties │ │ └── consumer.properties │ ├── .classpath │ ├── Makefile │ ├── info.xml │ ├── .project │ └── .settings │ │ └── application.ConsistentRegionSimple-BuildConfig.splbuild ├── KafkaSASLSample │ ├── com.ibm.streamsx.messaging.sample.kafka │ │ ├── .namespace │ │ └── KafkaSASLSample.spl │ ├── .settings │ │ ├── org.eclipse.core.runtime.prefs │ │ ├── org.eclipse.jdt.core.prefs │ │ ├── org.eclipse.jdt.apt.core.prefs │ │ ├── com.ibm.streamsx.messaging.sample.kafka.KafkaSASLSample-BuildConfig.splbuild │ │ └── com.ibm.streamsx.messaging.sample.kafka.KafkaSASLSample2-BuildConfig.splbuild │ ├── etc │ │ ├── jaas.conf │ │ ├── producer.properties │ │ └── consumer.properties │ ├── .classpath │ ├── info.xml │ ├── Makefile │ └── .project └── RabbitMQSample │ ├── .gitignore │ ├── .classpath │ ├── Makefile │ ├── info.xml │ ├── .project │ ├── .settings │ └── com.ibm.streamsx.messaging.sample.rabbitmq.RabbitMQSample-BuildConfig.splbuild │ └── com.ibm.streamsx.messaging.sample.rabbitmq │ └── RabbitMQSample.spl ├── com.ibm.streamsx.messaging ├── com.ibm.streamsx.messaging.jms │ ├── .namespace │ ├── JMSSink │ │ ├── JMSSink_16.gif │ │ ├── JMSSink_32.gif │ │ ├── JMSSink_deprecated_16.gif │ │ └── JMSSink_deprecated_32.gif │ └── JMSSource │ │ ├── JMSSource_16.gif │ │ ├── JMSSource_32.gif │ │ ├── JMSSource_deprecated_16.gif │ │ └── JMSSource_deprecated_32.gif ├── com.ibm.streamsx.messaging.xms │ ├── .namespace │ ├── XMSSink │ │ ├── XMSSink_16.gif │ │ ├── XMSSink_32.gif │ │ ├── XMSSink_deprecated_16.gif │ │ └── XMSSink_deprecated_32.gif │ └── XMSSource │ │ ├── XMSSource_16.gif │ │ ├── XMSSource_32.gif │ │ ├── XMSSource_deprecated_16.gif │ │ ├── XMSSource_deprecated_32.gif │ │ └── XMSSource_h.cgt ├── impl │ ├── nl │ │ ├── en_US │ │ │ ├── .gitignore │ │ │ └── .theFileNameList │ │ └── .gitignore │ └── java │ │ ├── .gitignore │ │ └── src │ │ └── com │ │ └── ibm │ │ └── streamsx │ │ └── messaging │ │ ├── jms │ │ ├── .theFileNameList │ │ ├── NativeTypes.java │ │ ├── ParseConnectionDocumentException.java │ │ ├── ConnectionException.java │ │ ├── ReconnectionPolicies.java │ │ ├── MessageClass.java │ │ ├── MessageAction.java │ │ ├── Messages.java │ │ ├── JMSMessageHandlerImpl.java │ │ ├── NativeSchema.java │ │ └── JMSMessageHandler.java │ │ ├── mqtt │ │ ├── .theFileNameList │ │ ├── .gitignore │ │ ├── MqttClientConnectException.java │ │ ├── Messages.java │ │ ├── IMqttConstants.java │ │ ├── mqttconnection.xsd │ │ ├── MqttClientRequest.java │ │ └── ConnectionSpecification.java │ │ ├── i18n │ │ ├── .theFileNameList │ │ ├── CommonMessages.properties │ │ ├── CommonMessages_fr_FR.properties │ │ ├── CommonMessages_de_DE.properties │ │ ├── CommonMessages_it_IT.properties │ │ ├── CommonMessages_pt_BR.properties │ │ ├── CommonMessages_es_ES.properties │ │ ├── CommonMessages_zh_TW.properties │ │ ├── CommonMessages_zh_CN.properties │ │ ├── CommonMessages_ko_KR.properties │ │ ├── CommonMessages_ja_JP.properties │ │ ├── CommonMessages_ru_RU.properties │ │ └── Messages.java │ │ ├── kafka │ │ ├── .theFileNameList │ │ ├── NoKafkaBrokerConnectionsException.java │ │ ├── UnsupportedStreamsKafkaConfigurationException.java │ │ ├── UnsupportedStreamsKafkaAttributeException.java │ │ ├── KafkaBaseClient.java │ │ ├── KafkaStringConsumerV9.java │ │ ├── KafkaByteArrayConsumerV9.java │ │ ├── Messages.java │ │ ├── KafkaProducerFactory.java │ │ ├── KafkaMessages.properties │ │ ├── KafkaMessages_es_ES.properties │ │ ├── KafkaMessages_it_IT.properties │ │ └── KafkaMessages_pt_BR.properties │ │ ├── rabbitmq │ │ ├── .theFileNameList │ │ ├── OperatorShutdownException.java │ │ ├── FailedToConnectToRabbitMQException.java │ │ ├── AutoRecoveryListener.java │ │ ├── RabbitMQMessages.properties │ │ ├── SynchronizedConnectionMetric.java │ │ ├── RabbitMQMessages_it_IT.properties │ │ ├── Messages.java │ │ ├── RabbitMQMessages_es_ES.properties │ │ ├── RabbitMQMessages_pt_BR.properties │ │ ├── RabbitMQMessages_de_DE.properties │ │ ├── RabbitMQMessages_fr_FR.properties │ │ ├── RabbitMQMessages_zh_CN.properties │ │ ├── RabbitMQMessages_zh_TW.properties │ │ ├── RabbitMQMessages_ko_KR.properties │ │ └── RabbitMQMessages_ja_JP.properties │ │ └── common │ │ ├── IGovernanceConstants.java │ │ └── DataGovernanceUtil.java ├── com.ibm.streamsx.messaging.mqtt │ ├── MQTTSink │ │ └── .gitignore │ ├── .gitignore │ └── MQTTSource │ │ └── .gitignore ├── .settings │ ├── org.eclipse.core.runtime.prefs │ ├── org.eclipse.jdt.apt.core.prefs │ ├── org.eclipse.jdt.core.prefs │ └── org.eclipse.core.resources.prefs ├── icons │ ├── MQTTSink_16.gif │ ├── MQTTSink_32.gif │ ├── MQTTSource_16.gif │ ├── MQTTSource_32.gif │ ├── KafkaConsumer_16.gif │ ├── KafkaConsumer_32.gif │ ├── KafkaProducer_16.gif │ ├── KafkaProducer_32.gif │ ├── MQTTSink_deprecated_16.gif │ ├── MQTTSink_deprecated_32.gif │ ├── MQTTSource_deprecated_16.gif │ ├── MQTTSource_deprecated_32.gif │ ├── KafkaConsumer_deprecated_16.gif │ ├── KafkaConsumer_deprecated_32.gif │ ├── KafkaProducer_deprecated_16.gif │ └── KafkaProducer_deprecated_32.gif ├── doc │ └── images │ │ ├── 8751_dgm1.gif │ │ └── architecture_diagram_JMSadpaters.gif ├── .gitignore ├── LICENSE.md ├── com.ibm.streamsx.messaging.kafka │ └── namespace-info.spl ├── .classpath ├── .project ├── pom.xml ├── pom-kafka-0.10.xml └── pom-kafka-0.9.xml ├── performance ├── benchmarks │ ├── com.ibm.streamsx.messaging.perf.kafka │ │ ├── .namespace │ │ ├── ConsumerBlobBenchmark.spl │ │ ├── ConsumerRStringBenchmark.spl │ │ ├── ProducerBlobBenchmark.spl │ │ ├── ProducerRStringBenchmark.spl │ │ └── ParallelConsumerBenchmark.spl │ ├── .gitignore │ ├── etc │ │ ├── producer.properties │ │ └── consumer.properties │ ├── .settings │ │ ├── org.eclipse.core.runtime.prefs │ │ ├── com.ibm.streamsx.messaging.sample.kafka.CopyKafkaSample-BuildConfig.splbuild │ │ ├── com.ibm.streamsx.messaging.perf.kafka.ConsumerBlobBenchmark-BuildConfig.splbuild │ │ ├── com.ibm.streamsx.messaging.perf.kafka.ProducerBlobBenchmark-BuildConfig.splbuild │ │ ├── com.ibm.streamsx.messaging.perf.kafka.ConsumerRStringBenchmark-BuildConfig.splbuild │ │ ├── com.ibm.streamsx.messaging.perf.kafka.ProducerRStringBenchmark-BuildConfig.splbuild │ │ └── com.ibm.streamsx.messaging.perf.kafka.ParallelConsumerBenchmark-BuildConfig.splbuild │ ├── README.txt │ ├── .classpath │ ├── info.xml │ └── .project └── KafkaPerformanceSummary.pdf ├── .gitignore ├── GRADUATION_STATUS.md └── README.md /samples/.gitignore: -------------------------------------------------------------------------------- 1 | /kafka_0.9.zip 2 | -------------------------------------------------------------------------------- /samples/MqttSample/application/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/.gitignore: -------------------------------------------------------------------------------- 1 | /impl/ 2 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/application/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/.gitignore: -------------------------------------------------------------------------------- 1 | /impl/ 2 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/application/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/MqttSample/data/.gitignore: -------------------------------------------------------------------------------- 1 | /mqttmsg.csv 2 | -------------------------------------------------------------------------------- /samples/JMSSample/.gitignore: -------------------------------------------------------------------------------- 1 | /.apt_generated/ 2 | /impl/ 3 | -------------------------------------------------------------------------------- /samples/KafkaSample/.gitignore: -------------------------------------------------------------------------------- 1 | /.apt_generated/ 2 | /impl/ 3 | -------------------------------------------------------------------------------- /samples/MqttSample/.gitignore: -------------------------------------------------------------------------------- 1 | /impl/java/bin 2 | /impl/ 3 | -------------------------------------------------------------------------------- /samples/XMSSample/.gitignore: -------------------------------------------------------------------------------- 1 | /.apt_generated/ 2 | /impl/ 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/JMSSample/com.ibm.streamsx.messaging.sample.jms/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/application/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/.gitignore: -------------------------------------------------------------------------------- 1 | /impl/ 2 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/application/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/XMSSample/com.ibm.streamsx.messaging.sample.xms/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /performance/benchmarks/com.ibm.streamsx.messaging.perf.kafka/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/KafkaSample/com.ibm.streamsx.messaging.sample.kafka/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /performance/benchmarks/.gitignore: -------------------------------------------------------------------------------- 1 | /.apt_generated/ 2 | /impl/ 3 | /output/ 4 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/com.ibm.streamsx.messaging.sample.kafka/.namespace: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /samples/RabbitMQSample/.gitignore: -------------------------------------------------------------------------------- 1 | /.apt_generated/ 2 | /impl/ 3 | /bin/ 4 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/nl/en_US/.gitignore: -------------------------------------------------------------------------------- 1 | /MessagingResource.xlf~ 2 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/nl/.gitignore: -------------------------------------------------------------------------------- 1 | /include/ 2 | /MessagingResource.dat 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/nl/en_US/.theFileNameList: -------------------------------------------------------------------------------- 1 | MessagingResource.xlf 2 | 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/.gitignore: -------------------------------------------------------------------------------- 1 | /bin 2 | /src-gen 3 | /bin/ 4 | /bin/ 5 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.mqtt/MQTTSink/.gitignore: -------------------------------------------------------------------------------- 1 | /MQTTSink.xml 2 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.mqtt/.gitignore: -------------------------------------------------------------------------------- 1 | /MQTTSink/ 2 | /MQTTSource/ 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.mqtt/MQTTSource/.gitignore: -------------------------------------------------------------------------------- 1 | /MQTTSource.xml 2 | -------------------------------------------------------------------------------- /performance/benchmarks/etc/producer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=kafka.broker.com:9092 2 | acks=0 3 | -------------------------------------------------------------------------------- /performance/benchmarks/etc/consumer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=kafka.broker.com:9092 2 | group.id=test; -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/.theFileNameList: -------------------------------------------------------------------------------- 1 | JMSMessages.properties 2 | 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/.theFileNameList: -------------------------------------------------------------------------------- 1 | MQTTMessages.properties 2 | 3 | -------------------------------------------------------------------------------- /performance/benchmarks/.settings/org.eclipse.core.runtime.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | line.separator=\n 3 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/.settings/org.eclipse.core.runtime.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | line.separator=\n 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/.settings/org.eclipse.core.runtime.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | line.separator=\n 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/.theFileNameList: -------------------------------------------------------------------------------- 1 | CommonMessages.properties 2 | 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/.theFileNameList: -------------------------------------------------------------------------------- 1 | KafkaMessages.properties 2 | 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/.theFileNameList: -------------------------------------------------------------------------------- 1 | RabbitMQMessages.properties 2 | 3 | -------------------------------------------------------------------------------- /samples/KafkaSample/etc/producer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=broker.host.1:9092,broker.host.2:9092,broker.host.3:9092 2 | acks=all -------------------------------------------------------------------------------- /samples/KafkaSample/etc/consumer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=broker.host.1:9092,broker.host.2:9092,broker.host.3:9092 2 | group.id=mygroup -------------------------------------------------------------------------------- /performance/KafkaPerformanceSummary.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/performance/KafkaPerformanceSummary.pdf -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/etc/producer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=broker.host.1:2181,broker.host.2:2181,broker.host.3:2181 2 | acks=all -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/etc/producer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=broker.host.1:2181,broker.host.2:2181,broker.host.3:2181 2 | acks=all -------------------------------------------------------------------------------- /samples/KafkaSASLSample/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.processAnnotations=enabled 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSink_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSink_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSink_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSink_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/doc/images/8751_dgm1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/doc/images/8751_dgm1.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSource_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSource_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSource_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSource_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/.gitignore: -------------------------------------------------------------------------------- 1 | /MqttSinkOperator$StreamsModel.java 2 | /MqttSourceOperator$StreamsModel.java 3 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaConsumer_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaConsumer_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaConsumer_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaConsumer_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaProducer_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaProducer_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaProducer_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaProducer_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSink_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSink_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSink_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSink_deprecated_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSource_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSource_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/MQTTSource_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/MQTTSource_deprecated_32.gif -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/etc/consumer.properties: -------------------------------------------------------------------------------- 1 | zookeeper.connect=zk.host.1:2181,zk.host.2:2181,zk.host.3:2181 2 | group.id=mygroup 3 | enable.auto.commit=false 4 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/.settings/org.eclipse.jdt.apt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.apt.aptEnabled=true 3 | org.eclipse.jdt.apt.reconcileEnabled=false 4 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaConsumer_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaConsumer_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaConsumer_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaConsumer_deprecated_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaProducer_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaProducer_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/icons/KafkaProducer_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/icons/KafkaProducer_deprecated_32.gif -------------------------------------------------------------------------------- /performance/benchmarks/README.txt: -------------------------------------------------------------------------------- 1 | To build from the command-line: 2 | 1. Export toolkit location: 3 | export STREAMS_MESSAGING_TOOLKIT= 4 | 2. Build: 5 | make -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/etc/consumer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=broker.host.1:2181,broker.host.2:2181,broker.host.3:2181 2 | group.id=mygroup 3 | enable.auto.commit=false 4 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/doc/images/architecture_diagram_JMSadpaters.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/doc/images/architecture_diagram_JMSadpaters.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_32.gif -------------------------------------------------------------------------------- /samples/KafkaSASLSample/etc/jaas.conf: -------------------------------------------------------------------------------- 1 | KafkaClient { 2 | org.apache.kafka.common.security.plain.PlainLoginModule required 3 | serviceName="kafka" 4 | username="myusername" 5 | password="mypassword"; 6 | }; 7 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/.gitignore: -------------------------------------------------------------------------------- 1 | /output 2 | impl/lib 3 | com.ibm.streamsx.messaging.kafka/Kafka* 4 | com.ibm.streamsx.messaging.rabbitmq 5 | opt/downloaded 6 | /target 7 | /.externalToolBuilders 8 | /bin/ 9 | /info.xml~ 10 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/.settings/org.eclipse.jdt.apt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.apt.aptEnabled=true 3 | org.eclipse.jdt.apt.genSrcDir=impl/java/src 4 | org.eclipse.jdt.apt.reconcileEnabled=false 5 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSink/JMSSink_deprecated_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSink/XMSSink_deprecated_32.gif -------------------------------------------------------------------------------- /samples/RabbitMQSample/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.jms/JMSSource/JMSSource_deprecated_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_deprecated_16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_deprecated_16.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_deprecated_32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBMStreams/streamsx.messaging/HEAD/com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_deprecated_32.gif -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E Application configuration ''{0}'' is not found or empty. 7 | 8 | -------------------------------------------------------------------------------- /samples/MqttSample/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_fr_FR.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E La configuration d''application ''{0}'' est introuvable ou vide. 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_de_DE.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E Anwendungskonfiguration ''{0}'' wurde nicht gefunden oder ist leer. 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_it_IT.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E La configurazione dell''applicazione ''{0}'' non \u00e8 stata trovata o \u00e8 vuota. 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_pt_BR.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E A configura\u00e7\u00e3o de aplicativo ''{0}'' n\u00e3o foi localizada ou est\u00e1 vazia. 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_es_ES.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E No se ha encontrado la configuraci\u00f3n de la aplicaci\u00f3n ''{0}'' o est\u00e1 vac\u00eda. 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_zh_TW.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E \u61c9\u7528\u7a0b\u5f0f\u914d\u7f6e ''{0}'' \u627e\u4e0d\u5230\uff0c\u6216\u662f\u7a7a\u767d\u3002 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/OperatorShutdownException.java: -------------------------------------------------------------------------------- 1 | package com.ibm.streamsx.messaging.rabbitmq; 2 | 3 | public class OperatorShutdownException extends Exception { 4 | 5 | /** 6 | * 7 | */ 8 | private static final long serialVersionUID = 1L; 9 | 10 | 11 | public OperatorShutdownException(String arg0) { 12 | super(arg0); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_zh_CN.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E \u627e\u4e0d\u5230\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e\u201c{0}\u201d\uff0c\u6216\u8005\u8be5\u914d\u7f6e\u4e3a\u7a7a\u3002 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_ko_KR.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uad6c\uc131 ''{0}''\uc774(\uac00) \uc5c6\uac70\ub098 \ube44\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. 7 | 8 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/FailedToConnectToRabbitMQException.java: -------------------------------------------------------------------------------- 1 | package com.ibm.streamsx.messaging.rabbitmq; 2 | 3 | public class FailedToConnectToRabbitMQException extends Exception { 4 | 5 | public FailedToConnectToRabbitMQException(String string) { 6 | super(string); 7 | } 8 | 9 | /** 10 | * 11 | */ 12 | private static final long serialVersionUID = 1L; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_ja_JP.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u69cb\u6210 ''{0}'' \u306f\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u7a7a\u3067\u3059\u3002 7 | 8 | -------------------------------------------------------------------------------- /samples/JMSSample/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/KafkaSample/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/XMSSample/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /performance/benchmarks/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/CommonMessages_ru_RU.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.i18n.CommonMessages.properties CDIST1350 - CDIST1359 5 | # 6 | APP_CFG_NOT_FOUND_OR_EMPTY=CDIST1350E \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f ''{0}'' \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430 \u0438\u043b\u0438 \u043f\u0443\u0441\u0442\u0430. 7 | 8 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/etc/producer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=broker.host.1:9092,broker.host.2:9092,broker.host.3:9092 2 | acks=all 3 | client.id=myAPIKey 4 | security.protocol=SASL_SSL 5 | sasl.mechanism=PLAIN 6 | ssl.protocol=TLSv1.2 7 | ssl.enabled.protocols=TLSv1.2 8 | ssl.truststore.type=JKS 9 | ssl.endpoint.identification.algorithm=HTTPS 10 | #Unless specified, ssl.truststore.location is set to Streams product Java default: $STREAMS_INSTALL/java/jre/lib/security/cacerts 11 | #Unless specified, ssl.truststore.password is set to Java default: changeit -------------------------------------------------------------------------------- /samples/KafkaSASLSample/etc/consumer.properties: -------------------------------------------------------------------------------- 1 | bootstrap.servers=broker.host.1:9092,broker.host.2:9092,broker.host.3:9092 2 | group.id=mygroup 3 | client.id=myAPIKey 4 | security.protocol=SASL_SSL 5 | sasl.mechanism=PLAIN 6 | ssl.protocol=TLSv1.2 7 | ssl.enabled.protocols=TLSv1.2 8 | ssl.truststore.type=JKS 9 | ssl.endpoint.identification.algorithm=HTTPS 10 | #Unless specified, ssl.truststore.location is set to Streams product Java default: $STREAMS_INSTALL/java/jre/lib/security/cacerts 11 | #Unless specified, ssl.truststore.password is set to Java default: changeit -------------------------------------------------------------------------------- /samples/MqttSample/LICENSE.md: -------------------------------------------------------------------------------- 1 | ##License 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this except in compliance with the License. 5 | 6 | You may obtain a copy of the License at 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | 11 | See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/NativeTypes.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.jms; 7 | 8 | /** Enum that specifies data type values supported in native schema 9 | * 10 | * 11 | */ 12 | enum NativeTypes { 13 | Byte, Short, Int, Long, Float, Double, Boolean, Bytes, String; 14 | } 15 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/LICENSE.md: -------------------------------------------------------------------------------- 1 | ##License 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this except in compliance with the License. 5 | 6 | You may obtain a copy of the License at 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | 11 | See the License for the specific language governing permissions and limitations under the License. 12 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/NoKafkaBrokerConnectionsException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.kafka; 7 | 8 | public class NoKafkaBrokerConnectionsException extends Exception { 9 | 10 | /** 11 | * 12 | */ 13 | private static final long serialVersionUID = 1L; 14 | 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /samples/JMSSample/data/testdata.csv: -------------------------------------------------------------------------------- 1 | 1,Tasos,Kementsietsidis,35,M,78.3,349.3 2 | 2,Lipyeow,Lim,31,M,23.2,235.3 3 | 3,Min,Wang,29,F,29.3,923.3 4 | 4,Mike,Ward,31,M,33.3,912.3 5 | 5,Daby,Sow,30,M,98.3,476.3 6 | 6,Marion,Blount,22,M,75.3,834.3 7 | 7,Kyriakos,Karenos,20,M,12.3,923.3 8 | 8,Petros,Zerfos,20,M,93.2,473.3 9 | 9,Aktina,Stathaki,40,F,57.3,523.3 10 | 10,Fanis,Tsandilas,22,M,11.2,924.3 11 | 11,Anastasia,Bezerianos,55,F,63.2,247.3 12 | 12,Giorgos,Katsirelos,34,M,41.3,347.3 13 | 13,Yannis,Velegrakis,30,M,12.3,743.3 14 | 14,Cristiana,Chitic,30,F,93.2,663.3 15 | 15,Georgia,Papakleov,28,F,12.1,549.3 16 | 16,Kyriaki,Levanti,26,F,73.8,349.3 17 | -------------------------------------------------------------------------------- /samples/XMSSample/data/testdata.csv: -------------------------------------------------------------------------------- 1 | 1,Tasos,Kementsietsidis,35,M,78.3,349.3 2 | 2,Lipyeow,Lim,31,M,23.2,235.3 3 | 3,Min,Wang,29,F,29.3,923.3 4 | 4,Mike,Ward,31,M,33.3,912.3 5 | 5,Daby,Sow,30,M,98.3,476.3 6 | 6,Marion,Blount,22,M,75.3,834.3 7 | 7,Kyriakos,Karenos,20,M,12.3,923.3 8 | 8,Petros,Zerfos,20,M,93.2,473.3 9 | 9,Aktina,Stathaki,40,F,57.3,523.3 10 | 10,Fanis,Tsandilas,22,M,11.2,924.3 11 | 11,Anastasia,Bezerianos,55,F,63.2,247.3 12 | 12,Giorgos,Katsirelos,34,M,41.3,347.3 13 | 13,Yannis,Velegrakis,30,M,12.3,743.3 14 | 14,Cristiana,Chitic,30,F,93.2,663.3 15 | 15,Georgia,Papakleov,28,F,12.1,549.3 16 | 16,Kyriaki,Levanti,26,F,73.8,349.3 17 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/MqttClientConnectException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.mqtt; 7 | 8 | public class MqttClientConnectException extends RuntimeException { 9 | 10 | /** 11 | * 12 | */ 13 | private static final long serialVersionUID = 1L; 14 | 15 | public MqttClientConnectException(String string) { 16 | super(string); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2015, International Business Machines Corporation 2 | # All Rights Reserved 3 | 4 | .PHONY: all clean 5 | 6 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 7 | 8 | 9 | SPLC_FLAGS ?= -a --data-directory data 10 | SPLC = $(STREAMS_INSTALL)/bin/sc 11 | 12 | SPL_CMD_ARGS ?= -t $(STREAMS_MESSAGING_TOOLKIT) 13 | SPL_MAIN_COMPOSITE = application::ConsistentRegionSimple 14 | 15 | all: data 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) $(SPL_CMD_ARGS) 17 | 18 | data: 19 | mkdir data 20 | 21 | clean: 22 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) -------------------------------------------------------------------------------- /samples/MqttSample/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MqttSample 5 | 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [2.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/UnsupportedStreamsKafkaConfigurationException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.kafka; 6 | 7 | public class UnsupportedStreamsKafkaConfigurationException extends Exception { 8 | 9 | /** 10 | * 11 | */ 12 | private static final long serialVersionUID = 1L; 13 | 14 | public UnsupportedStreamsKafkaConfigurationException(String message){ 15 | super(message); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2015, International Business Machines Corporation 2 | # All Rights Reserved 3 | 4 | .PHONY: all clean 5 | 6 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 7 | 8 | 9 | SPLC_FLAGS ?= -a --data-directory data 10 | SPLC = $(STREAMS_INSTALL)/bin/sc 11 | 12 | SPL_CMD_ARGS ?= -t $(STREAMS_MESSAGING_TOOLKIT) 13 | SPL_MAIN_COMPOSITE = application::ConsistentRegionParallelConsumers 14 | 15 | all: data 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) $(SPL_CMD_ARGS) 17 | 18 | data: 19 | mkdir data 20 | 21 | clean: 22 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 23 | -------------------------------------------------------------------------------- /samples/MqttSample/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2016, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | .PHONY: all clean 4 | 5 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 6 | 7 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 8 | 9 | SPLC = $(STREAMS_INSTALL)/bin/sc 10 | 11 | SPL_CMD_ARGS ?= 12 | SPL_MAIN_COMPOSITE = application::MqttSample 13 | OUTPUT_DIR = output 14 | 15 | all: 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 17 | 18 | clean: 19 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JmsWithXmlParse 5 | 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [2.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | KafkaSASLSample 5 | 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [3.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2014, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | .PHONY: all clean 4 | 5 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 6 | 7 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 8 | 9 | SPLC = $(STREAMS_INSTALL)/bin/sc 10 | 11 | SPL_CMD_ARGS ?= 12 | SPL_MAIN_COMPOSITE = application::JmsWithXmlParse 13 | OUTPUT_DIR = output 14 | 15 | all: 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 17 | 18 | clean: 19 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2014, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | .PHONY: all clean 4 | 5 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 6 | 7 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 8 | 9 | SPLC = $(STREAMS_INSTALL)/bin/sc 10 | 11 | SPL_CMD_ARGS ?= 12 | SPL_MAIN_COMPOSITE = application::JmsWithXmlParseBytes 13 | OUTPUT_DIR = output 14 | 15 | all: 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 17 | 18 | clean: 19 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | JmsWithXmlParseBytes 5 | 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [2.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/UnsupportedStreamsKafkaAttributeException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.kafka; 7 | 8 | public class UnsupportedStreamsKafkaAttributeException extends Exception { 9 | 10 | public UnsupportedStreamsKafkaAttributeException(String message) { 11 | super(message); 12 | } 13 | 14 | /** 15 | * 16 | */ 17 | private static final long serialVersionUID = -63012500639250672L; 18 | 19 | } 20 | -------------------------------------------------------------------------------- /samples/JMSSample/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2016, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | .PHONY: all clean 4 | 5 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 6 | 7 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 8 | 9 | SPLC = $(STREAMS_INSTALL)/bin/sc 10 | 11 | SPL_CMD_ARGS ?= 12 | SPL_COMPOSITE = com.ibm.streamsx.messaging.sample.jms::JMSSample 13 | OUTPUT_DIR = output 14 | 15 | all: 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 17 | 18 | clean: 19 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_COMPOSITE) 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /samples/XMSSample/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2016, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | 4 | .PHONY: all clean 5 | 6 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 7 | 8 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 9 | 10 | SPLC = $(STREAMS_INSTALL)/bin/sc 11 | 12 | SPL_CMD_ARGS ?= 13 | SPL_MAIN_COMPOSITE = com.ibm.streamsx.messaging.sample.xms::XMSSample 14 | OUTPUT_DIR = output 15 | 16 | all: 17 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 18 | 19 | clean: 20 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 21 | 22 | 23 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/data/catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | This is a long and boring title 4 | John Smith 5 | Howard Hughes 6 | No one looks at me 7 | 8 | The first reference 9 | 10 | 11 | Another Book 12 | 13 | 14 | 15 | BestSeller #1 16 | Anonymous 17 | <>; in it ]]> 18 | I mean it: no one looks at me 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/RabbitMQSample/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2016, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | .PHONY: all clean 4 | 5 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging 6 | 7 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 8 | 9 | SPLC = $(STREAMS_INSTALL)/bin/sc 10 | 11 | SPL_CMD_ARGS ?= 12 | SPL_MAIN_COMPOSITE = com.ibm.streamsx.messaging.sample.rabbitmq::RabbitMQSample 13 | OUTPUT_DIR = output 14 | 15 | all: 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 17 | 18 | clean: 19 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ConsistentRegionConsumerSimple 5 | 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [4.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ConsistentRegionConsumerParallel 5 | 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [4.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /performance/benchmarks/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | PerformanceBenchmarks 5 | Performance benchmarks used in report. 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [5.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /samples/KafkaSample/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2016, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | .PHONY: all clean 4 | 5 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging:$(STREAMS_STUDIO_SPL_PATH) 6 | 7 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 8 | 9 | SPLC = $(STREAMS_INSTALL)/bin/sc 10 | 11 | SPL_CMD_ARGS ?= 12 | SPL_MAIN_COMPOSITE = com.ibm.streamsx.messaging.sample.kafka::KafkaSample 13 | OUTPUT_DIR = output 14 | 15 | all: 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 17 | 18 | clean: 19 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 20 | 21 | 22 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/ParseConnectionDocumentException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.jms; 6 | 7 | // This class is used for throwing exceptions 8 | // which comes during parsing of connections.xml 9 | 10 | class ParseConnectionDocumentException extends Exception { 11 | 12 | /** 13 | * 14 | */ 15 | private static final long serialVersionUID = 1L; 16 | 17 | ParseConnectionDocumentException(String message) { 18 | super(message); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /samples/KafkaSample/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | KafkaSample 5 | Sample application showing a Streams Kafka Producer and Consumer 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [3.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.kafka/namespace-info.spl: -------------------------------------------------------------------------------- 1 | /** 2 | * **Kafka Properties** 3 | * 4 | * Specify properties as described here: http://kafka.apache.org/documentation.html#configuration. 5 | * Properties are typically specified using a consumer.properties and producer.properties file in the etc 6 | * directory of your application. See the samples for examples. 7 | * 8 | * Here are the required properties for each operator: 9 | * * **KafkaConsumer**: bootstrap.servers and group.id 10 | * * **KafkaProducer**: bootstrap.servers and acks 11 | * 12 | * 13 | * If you observe hanging while working with very large message sizes, we recommend increasing 14 | * the receive.buffer.bytes property. 15 | * 16 | */ 17 | 18 | namespace com.ibm.streamsx.messaging.kafka; -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/ConnectionException.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.jms; 7 | 8 | // This class is used for throwing exceptions 9 | // which comes during connection creation or 10 | // sending/receiving JMS Messages. 11 | 12 | class ConnectionException extends Exception { 13 | 14 | /** 15 | * 16 | */ 17 | private static final long serialVersionUID = 1L; 18 | 19 | ConnectionException(String message) { 20 | super(message); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/Makefile: -------------------------------------------------------------------------------- 1 | # Copyright (C)2016, International Business Machines Corporation and 2 | # others. All Rights Reserved. 3 | .PHONY: all clean 4 | 5 | STREAMS_MESSAGING_TOOLKIT ?= ../../com.ibm.streamsx.messaging:${STREAMS_INSTALL}/toolkits/com.ibm.streamsx.messaging:$(STREAMS_STUDIO_SPL_PATH) 6 | 7 | SPLC_FLAGS ?= -a -t ${STREAMS_MESSAGING_TOOLKIT} --data-directory=data 8 | 9 | SPLC = $(STREAMS_INSTALL)/bin/sc 10 | 11 | SPL_CMD_ARGS ?= 12 | SPL_MAIN_COMPOSITE = com.ibm.streamsx.messaging.sample.kafka::KafkaSASLSample 13 | OUTPUT_DIR = output 14 | 15 | all: 16 | $(SPLC) $(SPLC_FLAGS) -M $(SPL_MAIN_COMPOSITE) --output-dir ./$(OUTPUT_DIR) $(SPL_CMD_ARGS) 17 | 18 | clean: 19 | $(SPLC) $(SPLC_FLAGS) -C -M $(SPL_MAIN_COMPOSITE) 20 | 21 | 22 | -------------------------------------------------------------------------------- /samples/RabbitMQSample/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | RabbitMQSample 5 | Sample application showing a Streams RabbitMQ Producer and Consumer 6 | 1.0.0 7 | 4.0.0.0 8 | 9 | 10 | 11 | com.ibm.streamsx.messaging 12 | [4.0.0,6.0.0) 13 | 14 | 15 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/data/catalog.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | This is a long and boring title 5 | John Smith 6 | Howard Hughes 7 | No one looks at me 8 | 9 | The first reference 10 | 11 | 12 | Another Book 13 | 14 | 15 | 16 | BestSeller #1 17 | Anonymous 18 | <>; in it ]]> 19 | I mean it: no one looks at me 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/ReconnectionPolicies.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.jms; 6 | 7 | /* Enum to define the reconnection policies supported for both the operators in case 8 | * of both initial or transient connection failures. 9 | 10 | * The valid values are: 11 | * BoundedRetry=Bounded number of re-tries 12 | * NoRetry=No Retry 13 | * InfiniteRetry= Infinite number of retry 14 | * 15 | */ 16 | enum ReconnectionPolicies { 17 | BoundedRetry, NoRetry, InfiniteRetry; 18 | } 19 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled 3 | org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate 4 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 5 | org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve 6 | org.eclipse.jdt.core.compiler.compliance=1.8 7 | org.eclipse.jdt.core.compiler.debug.lineNumber=generate 8 | org.eclipse.jdt.core.compiler.debug.localVariable=generate 9 | org.eclipse.jdt.core.compiler.debug.sourceFile=generate 10 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error 11 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error 12 | org.eclipse.jdt.core.compiler.processAnnotations=enabled 13 | org.eclipse.jdt.core.compiler.source=1.8 14 | -------------------------------------------------------------------------------- /samples/JMSSample/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | JMSSample 9 | Sample demonstrating JMSSink and JMSSource 10 | 1.0.0 11 | 4.0.0.0 12 | 13 | 14 | 15 | com.ibm.streamsx.messaging 16 | [2.0.0,6.0.0) 17 | 18 | 19 | -------------------------------------------------------------------------------- /samples/XMSSample/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | XMSSample 9 | Sample demonstrating XMSSink and XMSSource 10 | 1.0.0 11 | 4.0.0.0 12 | 13 | 14 | 15 | com.ibm.streamsx.messaging 16 | [2.0.0,6.0.0) 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /samples/JMSSample/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | JMSSample 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/KafkaSample/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | KafkaSample 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/MqttSample/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | MqttSample 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/XMSSample/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | XMSSample 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | JmsWithXmlParse 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | KafkaSASLSample 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/RabbitMQSample/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | RabbitMQSample 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /performance/benchmarks/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | PerformanceBenchmarks 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | JmsWithXmlParseBytes 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # streams-specific excludes 2 | toolkit.xml 3 | impl/nl/include/*.h 4 | *.pm 5 | .toolkitList 6 | doc 7 | # If you want to include a perl module, do 8 | !Access.pm 9 | !Connection.pm 10 | !Edge.pm 11 | !XMSSinkCommon.pm 12 | !XMSSourceCommon.pm 13 | 14 | /com.ibm.streamsx.messaging/doc/ 15 | /com.ibm.streamsx.messaging/.settings 16 | samples/*/output 17 | samples/*/toolkit.xml 18 | /samples/*/doc 19 | 20 | ## java excludes 21 | *.class 22 | 23 | # exclude generated Java primitive operator model files 24 | *$StreamsModel.java 25 | 26 | # Package Files # 27 | com.ibm.streamsx.messaging/lib/*.jar 28 | com.ibm.streamsx.messaging/impl/lib/*.jar 29 | *.war 30 | *.ear 31 | 32 | ## C++ excludes 33 | # Compiled Object files 34 | *.slo 35 | *.lo 36 | *.o 37 | 38 | # Compiled Dynamic libraries 39 | *.so 40 | *.dylib 41 | 42 | # Compiled Static libraries 43 | *.lai 44 | *.la 45 | *.a 46 | 47 | # temporary directories 48 | tmp 49 | /build.xml~ 50 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | KafkaConsistentRegionSimple 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | KafkaConsistentRegionParallelConsumers 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | com.ibm.streams.studio.splproject.SPLProjectNature 26 | org.eclipse.xtext.ui.shared.xtextNature 27 | org.eclipse.jdt.core.javanature 28 | 29 | 30 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /performance/benchmarks/com.ibm.streamsx.messaging.perf.kafka/ConsumerBlobBenchmark.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2016, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | namespace com.ibm.streamsx.messaging.perf.kafka ; 7 | 8 | use com.ibm.streamsx.messaging.kafka::* ; 9 | 10 | 11 | composite ConsumerBlobBenchmark 12 | { 13 | param 14 | expression $topic : "ConsumerTest1" ; 15 | graph 16 | stream KafkaStream = KafkaConsumer() 17 | { 18 | param 19 | propertiesFile : "etc/consumer.properties" ; 20 | topic : $topic ; 21 | kafkaProperty : "group.id=newGroup" +(rstring) getTimestampInSecs() ; 22 | config 23 | restartable : false ; 24 | } 25 | 26 | () as FlowCalculator_5 = FlowCalculatorNoOutput(KafkaStream) 27 | { 28 | param 29 | period : 30.0 ; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /performance/benchmarks/com.ibm.streamsx.messaging.perf.kafka/ConsumerRStringBenchmark.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2016, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | 7 | namespace com.ibm.streamsx.messaging.perf.kafka; 8 | 9 | use com.ibm.streamsx.messaging.kafka::* ; 10 | 11 | composite ConsumerRStringBenchmark { 12 | param 13 | expression $topic : "ConsumerTest2" ; 14 | graph 15 | stream KafkaStream = KafkaConsumer() 16 | { 17 | param 18 | propertiesFile : "etc/consumer.properties" ; 19 | topic : $topic ; 20 | kafkaProperty : "group.id=newGroup" +(rstring) getTimestampInSecs() ; 21 | config 22 | restartable : false ; 23 | } 24 | 25 | () as FlowCalculator_5 = FlowCalculatorNoOutput(KafkaStream) 26 | { 27 | param 28 | period : 30.0 ; 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaBaseClient.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.kafka; 6 | 7 | import java.util.Properties; 8 | import java.util.logging.Logger; 9 | 10 | public abstract class KafkaBaseClient { 11 | AttributeHelper topicAH; 12 | AttributeHelper keyAH; 13 | AttributeHelper messageAH; 14 | Properties props; 15 | 16 | static final Logger trace = Logger.getLogger(KafkaBaseClient.class.getCanonicalName()); 17 | 18 | public KafkaBaseClient(AttributeHelper topicAH, AttributeHelper keyAH, 19 | AttributeHelper messageAH, Properties props) { 20 | this.topicAH = topicAH; 21 | this.keyAH = keyAH; 22 | this.messageAH = messageAH; 23 | this.props = props; 24 | } 25 | 26 | abstract void shutdown(); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.ibm.streamsx.messaging 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | com.ibm.streams.studio.splproject.builder.SPLProjectBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.xtext.ui.shared.xtextBuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.m2e.core.maven2Nature 26 | com.ibm.streams.studio.splproject.SPLProjectNature 27 | org.eclipse.xtext.ui.shared.xtextNature 28 | org.eclipse.jdt.core.javanature 29 | com.ibm.etools.systems.projects.core.remoteunixnature 30 | 31 | 32 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/MessageClass.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.jms; 7 | 8 | /** Enum to specify the supported message class for both the operators 9 | * map=JMS MapMessage (a collection of name/type/value triplets) 10 | * stream=JMS StreamMessage (an ordered list of type/value pairs) 11 | * bytes=JMS BytesMessage (a stream of binary data) 12 | * xml= JMS TextMessage containing a xml message 13 | * wbe= JMS TextMessage (contains an XML document in the WebSphere Business 14 | * Events event packet format) 15 | * wbe22= JMS TextMessage (contains an XML document in the WebSphere 16 | * Business old wbe 2.2 format) 17 | * empty=An empty JMS Message 18 | * text = JMS Text Message 19 | */ 20 | enum MessageClass { 21 | map, stream, bytes, xml, wbe, wbe22, empty, text; 22 | } 23 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/etc/connections.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/AutoRecoveryListener.java: -------------------------------------------------------------------------------- 1 | package com.ibm.streamsx.messaging.rabbitmq; 2 | 3 | import java.util.logging.Logger; 4 | 5 | import com.ibm.streams.operator.logging.TraceLevel; 6 | import com.ibm.streams.operator.metrics.Metric; 7 | import com.rabbitmq.client.Recoverable; 8 | import com.rabbitmq.client.RecoveryListener; 9 | 10 | public class AutoRecoveryListener implements RecoveryListener { 11 | private final Logger trace = Logger.getLogger(this.getClass() 12 | .getCanonicalName()); 13 | private SynchronizedConnectionMetric isConnected; 14 | 15 | public AutoRecoveryListener(SynchronizedConnectionMetric isConnected2) { 16 | this.isConnected = isConnected2; 17 | } 18 | 19 | @Override 20 | public void handleRecovery(Recoverable arg0) { 21 | trace.log(TraceLevel.INFO, "Recovered RabbitMQ connection."); //$NON-NLS-1$ 22 | isConnected.setValue(1); 23 | } 24 | 25 | @Override 26 | public void handleRecoveryStarted(Recoverable arg0) { 27 | trace.log(TraceLevel.INFO, "Starting to recover RabbitMQ connection."); //$NON-NLS-1$ 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/etc/connections.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/MessageAction.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.jms; 6 | 7 | //enum which defines the action which is returned 8 | //from the function convertMessageToTuple function for JMSSource 9 | 10 | //DISCARD_MESSAGE_WRONG_TYPE=The incoming message type does not 11 | //match the expected message type 12 | //DISCARD_MESSAGE_EOF_REACHED= When for the BytesMessage or StreamsMessage 13 | //if unexpected end of message has been reached 14 | //DISCARD_MESSAGE_UNREADABLE=if the message is in write-only mode 15 | //SUCCESSFUL_MESSAGE=if the JMS Message was read succesfully 16 | //DISCARD_MESSAGE_MESSAGE_FORMAT_ERROR= if the type conversion is invalid. 17 | 18 | enum MessageAction { 19 | DISCARD_MESSAGE_WRONG_TYPE, DISCARD_MESSAGE_EOF_REACHED, DISCARD_MESSAGE_UNREADABLE, SUCCESSFUL_MESSAGE, DISCARD_MESSAGE_MESSAGE_FORMAT_ERROR 20 | } 21 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E Attribute ""{0}"" must be one of: {1}. 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E Attribute ""{0}"" not available. 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E Attribute not found for ""{0}"". 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E Exception at channel close: {0}. 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E Exception at connection close: {0}. 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E Failed to initialize connection or channel to RabbitMQ Server. 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E Failed to setup connection: {0}. 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E This operator cannot be the start of a consistent region. 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E Property {0} is not found in application configuration {1}. 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E See standard out for full stack trace. RabbitMQ exception message: {0}. 17 | -------------------------------------------------------------------------------- /performance/benchmarks/com.ibm.streamsx.messaging.perf.kafka/ProducerBlobBenchmark.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2016, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | 7 | namespace com.ibm.streamsx.messaging.perf.kafka; 8 | 9 | use com.ibm.streamsx.messaging.kafka::* ; 10 | 11 | composite ProducerBlobBenchmark { 12 | param 13 | expression $topic : "ProducerTest1" ; 14 | graph 15 | 16 | //create some messages and send to Kafka 17 | stream OutputStream = PerfBlobDataGenerator() 18 | { 19 | param 20 | packetSize : 5020 ; 21 | } 22 | 23 | () as KafkaSinkOp = KafkaProducer(FlowCalculator_6_out0 as inPort0Alias) 24 | { 25 | param 26 | propertiesFile : "etc/producer.properties" ; 27 | topic : $topic ; 28 | config 29 | restartable : false ; 30 | } 31 | 32 | (stream FlowCalculator_6_out0) as FlowCalculator_6 = 33 | FlowCalculator(OutputStream) 34 | { 35 | param 36 | period : 30.0 ; 37 | } 38 | 39 | } -------------------------------------------------------------------------------- /performance/benchmarks/com.ibm.streamsx.messaging.perf.kafka/ProducerRStringBenchmark.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2016, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | 7 | namespace com.ibm.streamsx.messaging.perf.kafka; 8 | 9 | use com.ibm.streamsx.messaging.kafka::* ; 10 | 11 | composite ProducerRStringBenchmark { 12 | param 13 | expression $topic : "ProducerTest1" ; 14 | graph 15 | 16 | //create some messages and send to Kafka 17 | stream OutputStream = PerfBlobDataGenerator() 18 | { 19 | param 20 | packetSize : 5020 ; 21 | } 22 | 23 | () as KafkaSinkOp = KafkaProducer(FlowCalculator_6_out0 as inPort0Alias) 24 | { 25 | param 26 | propertiesFile : "etc/producer.properties" ; 27 | topic : $topic ; 28 | config 29 | restartable : false ; 30 | } 31 | 32 | (stream FlowCalculator_6_out0) as FlowCalculator_6 = 33 | FlowCalculator(OutputStream) 34 | { 35 | param 36 | period : 30.0 ; 37 | } 38 | 39 | } -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaStringConsumerV9.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.kafka; 6 | 7 | import java.util.List; 8 | import java.util.Properties; 9 | 10 | import com.ibm.streams.operator.OutputTuple; 11 | 12 | public class KafkaStringConsumerV9 extends KafkaConsumerClient{ 13 | 14 | public KafkaStringConsumerV9(AttributeHelper topicAH, 15 | AttributeHelper keyAH, AttributeHelper messageAH, List partitions, int consumerPollTimeout, Properties props) { 16 | super(topicAH, keyAH, messageAH, partitions, props); 17 | } 18 | 19 | @Override 20 | protected void setMessageValue(AttributeHelper messageAH, OutputTuple otup, 21 | String message) { 22 | messageAH.setValue(otup, message); 23 | } 24 | 25 | @Override 26 | protected void setKeyValue(AttributeHelper keyAH, OutputTuple otup, String key) { 27 | keyAH.setValue(otup, key); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaByteArrayConsumerV9.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.kafka; 6 | 7 | import java.util.List; 8 | import java.util.Properties; 9 | 10 | import com.ibm.streams.operator.OutputTuple; 11 | 12 | public class KafkaByteArrayConsumerV9 extends KafkaConsumerClient{ 13 | 14 | public KafkaByteArrayConsumerV9(AttributeHelper topicAH, 15 | AttributeHelper keyAH, AttributeHelper messageAH, List partitions, int consumerPollTimeout, Properties props) { 16 | super(topicAH, keyAH, messageAH, partitions, props); 17 | } 18 | 19 | @Override 20 | protected void setMessageValue(AttributeHelper messageAH, OutputTuple otup, 21 | byte[] message) { 22 | messageAH.setValue(otup, message); 23 | } 24 | 25 | @Override 26 | protected void setKeyValue(AttributeHelper keyAH, OutputTuple otup, byte[] key) { 27 | keyAH.setValue(otup, key); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/Messages.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.jms; 6 | 7 | import java.text.MessageFormat; 8 | import java.util.MissingResourceException; 9 | import java.util.ResourceBundle; 10 | 11 | public class Messages { 12 | private static final String BUNDLE_NAME = "com.ibm.streamsx.messaging.jms.JMSMessages"; //$NON-NLS-1$ 13 | 14 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 15 | .getBundle(BUNDLE_NAME); 16 | 17 | private Messages() { 18 | } 19 | 20 | public static String getString(String key) { 21 | try { 22 | return RESOURCE_BUNDLE.getString(key); 23 | } catch (MissingResourceException e) { 24 | return '!' + key + '!'; 25 | } 26 | } 27 | 28 | public static String getString(String key, Object... args) 29 | { 30 | try { 31 | String msg = RESOURCE_BUNDLE.getString(key); 32 | return MessageFormat.format(msg, args); 33 | } catch (MissingResourceException e) { 34 | return '!' + key + '!'; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/Messages.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.mqtt; 6 | 7 | import java.text.MessageFormat; 8 | import java.util.MissingResourceException; 9 | import java.util.ResourceBundle; 10 | 11 | public class Messages { 12 | private static final String BUNDLE_NAME = "com.ibm.streamsx.messaging.mqtt.MQTTMessages"; //$NON-NLS-1$ 13 | 14 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 15 | .getBundle(BUNDLE_NAME); 16 | 17 | private Messages() { 18 | } 19 | 20 | public static String getString(String key) { 21 | try { 22 | return RESOURCE_BUNDLE.getString(key); 23 | } catch (MissingResourceException e) { 24 | return '!' + key + '!'; 25 | } 26 | } 27 | 28 | public static String getString(String key, Object... args) 29 | { 30 | try { 31 | String msg = RESOURCE_BUNDLE.getString(key); 32 | return MessageFormat.format(msg, args); 33 | } catch (MissingResourceException e) { 34 | return '!' + key + '!'; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/SynchronizedConnectionMetric.java: -------------------------------------------------------------------------------- 1 | package com.ibm.streamsx.messaging.rabbitmq; 2 | 3 | import com.ibm.streams.operator.metrics.Metric; 4 | 5 | public class SynchronizedConnectionMetric { 6 | Metric isConnected; 7 | Metric reconnectionAttempts; 8 | 9 | public void setReconnectionAttempts(Metric reconnectionAttempts) { 10 | this.reconnectionAttempts = reconnectionAttempts; 11 | } 12 | 13 | public SynchronizedConnectionMetric(Metric isConnected) { 14 | this.isConnected = isConnected; 15 | } 16 | 17 | public long getValue() { 18 | return isConnected.getValue(); 19 | } 20 | 21 | public void setValue(long value) { 22 | synchronized(isConnected){ 23 | isConnected.setValue(value); 24 | isConnected.notifyAll(); 25 | 26 | // Increment our reconnection attempts every 27 | // time we set isConnected to 0 28 | // Reset the reconnection attempts 29 | // every time we successfully connect 30 | if (value == 0){ 31 | reconnectionAttempts.increment(); 32 | } else { 33 | reconnectionAttempts.setValue(0); 34 | } 35 | } 36 | } 37 | 38 | public void waitForMetricChange() throws InterruptedException{ 39 | synchronized(isConnected){ 40 | isConnected.wait(); 41 | } 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/i18n/Messages.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.i18n; 6 | 7 | import java.text.MessageFormat; 8 | import java.util.MissingResourceException; 9 | import java.util.ResourceBundle; 10 | 11 | public class Messages { 12 | private static final String BUNDLE_NAME = "com.ibm.streamsx.messaging.i18n.CommonMessages"; //$NON-NLS-1$ 13 | 14 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 15 | .getBundle(BUNDLE_NAME); 16 | 17 | private Messages() { 18 | } 19 | 20 | public static String getString(String key) { 21 | try { 22 | return RESOURCE_BUNDLE.getString(key); 23 | } catch (MissingResourceException e) { 24 | return '!' + key + '!'; 25 | } 26 | } 27 | 28 | public static String getString(String key, Object... args) 29 | { 30 | try { 31 | String msg = RESOURCE_BUNDLE.getString(key); 32 | return MessageFormat.format(msg, args); 33 | } catch (MissingResourceException e) { 34 | return '!' + key + '!'; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/Messages.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.kafka; 6 | 7 | import java.text.MessageFormat; 8 | import java.util.MissingResourceException; 9 | import java.util.ResourceBundle; 10 | 11 | public class Messages { 12 | private static final String BUNDLE_NAME = "com.ibm.streamsx.messaging.kafka.KafkaMessages"; //$NON-NLS-1$ 13 | 14 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 15 | .getBundle(BUNDLE_NAME); 16 | 17 | private Messages() { 18 | } 19 | 20 | public static String getString(String key) { 21 | try { 22 | return RESOURCE_BUNDLE.getString(key); 23 | } catch (MissingResourceException e) { 24 | return '!' + key + '!'; 25 | } 26 | } 27 | 28 | public static String getString(String key, Object... args) 29 | { 30 | try { 31 | String msg = RESOURCE_BUNDLE.getString(key); 32 | return MessageFormat.format(msg, args); 33 | } catch (MissingResourceException e) { 34 | return '!' + key + '!'; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_it_IT.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E L''attributo ""{0}"" deve essere uno tra: {1}. 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E Attributo ""{0}"" non disponibile. 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E Attributo non trovato per ""{0}"". 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E Eccezione alla chiusura del canale: {0}. 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E Eccezione alla chiusura della connessione: {0}. 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E Impossibile inizializzare la connessione o il canale al server RabbitMQ. 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E Impossibile configurare la connessione: {0}. 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E Questo operatore non pu\u00f2 essere l'inizio di una regione congruente. 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E La propriet\u00e0 {0} non \u00e8 stata trovata nella configurazione dell''applicazione {1}. 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E Vedere l''output standard per una traccia di stack completa. Messaggio di eccezione RabbitMQ: {0}. 17 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/Messages.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.rabbitmq; 6 | 7 | import java.text.MessageFormat; 8 | import java.util.MissingResourceException; 9 | import java.util.ResourceBundle; 10 | 11 | public class Messages { 12 | private static final String BUNDLE_NAME = "com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages"; //$NON-NLS-1$ 13 | 14 | private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle 15 | .getBundle(BUNDLE_NAME); 16 | 17 | private Messages() { 18 | } 19 | 20 | public static String getString(String key) { 21 | try { 22 | return RESOURCE_BUNDLE.getString(key); 23 | } catch (MissingResourceException e) { 24 | return '!' + key + '!'; 25 | } 26 | } 27 | 28 | public static String getString(String key, Object... args) 29 | { 30 | try { 31 | String msg = RESOURCE_BUNDLE.getString(key); 32 | return MessageFormat.format(msg, args); 33 | } catch (MissingResourceException e) { 34 | return '!' + key + '!'; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_es_ES.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E El atributo ""{0}"" debe ser uno de: {1}. 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E El atributo ""{0}"" no est\u00e1 disponible. 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E No se ha encontrado el atributo para ""{0}"". 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E Excepci\u00f3n al cerrar canal: {0}. 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E Excepci\u00f3n al cerrar conexi\u00f3n: {0}. 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E No se ha podido inicializar la conexi\u00f3n o canal a RabbitMQ Server. 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E No se ha podido configurar la conexi\u00f3n: {0}. 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E Este operador no puede ser el inicio de una regi\u00f3n coherente. 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E No se ha encontrado la propiedad {0} en la configuraci\u00f3n de la aplicaci\u00f3n {1}. 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E Consulte la salida est\u00e1ndar para ver el rastreo completo de pila. Mensaje de excepci\u00f3n de RabbitMQ: {0}. 17 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_pt_BR.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E O atributo ""{0}"" deve ser um de: {1}. 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E Atributo ""{0}"" n\u00e3o dispon\u00edvel. 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E Atributo n\u00e3o localizado para ""{0}"". 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E Exce\u00e7\u00e3o no fechamento do canal: {0}. 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E Exce\u00e7\u00e3o no fechamento da conex\u00e3o: {0}. 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E Falha ao inicializar a conex\u00e3o ou o canal para o RabbitMQ Server. 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E Falha ao configurar a conex\u00e3o: {0}. 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E Esse operador n\u00e3o pode ser o in\u00edcio de uma regi\u00e3o consistente. 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E A propriedade {0} n\u00e3o foi localizada na configura\u00e7\u00e3o de aplicativo {1}. 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E Consulte a sa\u00edda padr\u00e3o para rastreio de pilha completo. Mensagem de exce\u00e7\u00e3o RabbitMQ: {0}. 17 | -------------------------------------------------------------------------------- /samples/XMSSample/etc/connections.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_de_DE.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E Attribut ""{0}"" muss eines der folgenden sein: {1}. 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E Attribut ""{0}"" nicht verf\u00fcgbar. 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E Attribut nicht gefunden f\u00fcr ""{0}"". 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E Ausnahmebedingung beim Schlie\u00dfen des Kanals: {0}. 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E Ausnahmebedingung beim Schlie\u00dfen der Verbindung: {0}. 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E Verbindung oder Kanal zu RabbitMQ Server konnte nicht initialisiert werden. 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E Einrichten der Verbindung fehlgeschlagen: {0}. 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E Dieser Operator darf nicht der Anfang einer konsistenten Region sein. 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E Eigenschaft {0} wurde in Anwendungskonfiguration {1} nicht gefunden. 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E Den vollst\u00e4ndigen Stack-Trace finden Sie in der Standardausgabe. RabbitMQ-Ausnahmebedingungsnachricht: {0}. 17 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_fr_FR.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E L''attribut ""{0}"" doit \u00eatre l''un des suivants : {1} 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E Attribut ""{0}"" non disponible. 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E Attribut introuvable pour ""{0}"". 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E Exception \u00e0 la fermeture du canal : {0}. 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E Exception \u00e0 la fermeture de la connexion : {0}. 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E Echec de l'initialisation de la connexion ou du canal vers RabbitMQ Server. 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E Echec de la configuration de la connexion : {0}. 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E Cet op\u00e9rateur ne peut pas \u00eatre au d\u00e9but d'une r\u00e9gion coh\u00e9rente. 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E Propri\u00e9t\u00e9 {0} introuvable dans la configuration d''application {1}. 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E Consultez la sortie standard pour la trace de pile compl\u00e8te. Message d''exception RabbitMQ : {0}. 17 | -------------------------------------------------------------------------------- /performance/benchmarks/com.ibm.streamsx.messaging.perf.kafka/ParallelConsumerBenchmark.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2016, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | 7 | namespace com.ibm.streamsx.messaging.perf.kafka; 8 | 9 | use com.ibm.streamsx.messaging.kafka::* ; 10 | 11 | composite ParallelConsumerBenchmark { 12 | param 13 | expression $topic : "3partition" ; 14 | expression $partitions : 3 ; 15 | graph 16 | @parallel(width = $partitions) 17 | () as Parallel = ParallelConsumer() 18 | { 19 | param 20 | partition : getChannel() ; 21 | topic : $topic ; 22 | } 23 | 24 | } 25 | 26 | composite ParallelConsumer 27 | { 28 | param 29 | expression $partition ; 30 | expression $topic ; 31 | graph 32 | stream KafkaStream = KafkaConsumer() 33 | { 34 | param 35 | propertiesFile : "etc/consumer.properties" ; 36 | topic : $topic ; 37 | partition : $partition ; 38 | kafkaProperty : "group.id=newGroup" +(rstring) getTimestampInSecs() ; 39 | config 40 | restartable : false ; 41 | } 42 | 43 | () as FlowCalculator_5 = FlowCalculatorNoOutput(KafkaStream) 44 | { 45 | param 46 | period : 30.0 ; 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /GRADUATION_STATUS.md: -------------------------------------------------------------------------------- 1 | # streamsx.messaging Graduation Status 2 | 3 | 4 | ## Overview 5 | Incubation for projects is covered here: https://github.com/IBMStreams/administration/wiki/Project-Incubation-Process 6 | 7 | ## Status 8 | 9 | - [x] :white_check_mark: Stable release(s) 10 | * Status: Multiple releases already completed 11 | - [x] :white_check_mark: Project is properly documented 12 | * Status: Yes 13 | - [x] :white_check_mark: Project has samples and instructions to help users get started easily 14 | * Status: Yes 15 | - [x] :white_check_mark: Sufficient testing 16 | * Status: Yes, all operators are tested on all Streams supported platform 17 | - [x] :white_check_mark: Instructions on how to get started with development and contributing to project 18 | * Status: Yes 19 | - [x] :white_check_mark: Website that contains information and documentation of the project 20 | * Status: Yes and periodically updated 21 | - [ ] :red_circle: Clear release plan 22 | * Status: **TBD** 23 | - [x] :white_check_mark: At least one active committer 24 | * Status: 3 active committers: Samantha Chan, Cong Li, Alex Cook 25 | 26 | ### Key 27 | * :white_check_mark: - Complete 28 | * :large_orange_diamond: - Partially complete 29 | * :red_circle: - Not complete/started or unknown 30 | 31 | ## Instructions 32 | A project should have this file copied to `GRADUATION_STATUS.md` at the top-level. 33 | 34 | Projects self-report their status though IBMStreams admins may override any status. 35 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/JMSMessageHandlerImpl.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.jms; 6 | 7 | import java.util.List; 8 | import com.ibm.streams.operator.metrics.Metric; 9 | 10 | //abstract base class for all JMS message classes 11 | abstract class JMSMessageHandlerImpl implements JMSMessageHandler { 12 | 13 | // This holds all the attributes coming in the native schema 14 | // oject in connections.xml 15 | protected final List nativeSchemaObjects; 16 | // This metric indicates the number of tuples that had truncated 17 | // attributes while converting to a message for JMSSink 18 | Metric nTruncatedInserts; 19 | // Identifier to indicate if length is missing from an 20 | // attribute in native schema 21 | static final int LENGTH_ABSENT_IN_NATIVE_SCHEMA = -999; 22 | 23 | // Constructor to initialize the nativeSchemaObjects 24 | 25 | JMSMessageHandlerImpl(List nsa) { 26 | this.nativeSchemaObjects = nsa; 27 | } 28 | 29 | // Constructor to initialize the nativeSchemaObjects and nTruncatedInserts 30 | JMSMessageHandlerImpl(List nsa, Metric nTruncatedInserts) { 31 | this.nativeSchemaObjects = nsa; 32 | this.nTruncatedInserts = nTruncatedInserts; 33 | } 34 | } -------------------------------------------------------------------------------- /samples/MqttSample/.settings/application.MqttSample-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | F 7 | application::MqttSample 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParse/.settings/application.JmsWithXmlParse-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | F 7 | application::JmsWithXmlParse 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/NativeSchema.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.jms; 6 | 7 | //Class that holds the elements(name, type and length) of an attribute in native schema element. 8 | public class NativeSchema { 9 | 10 | // variable to hold the name 11 | private final String name; 12 | // variable to hold the type 13 | private final NativeTypes type; 14 | // variable to hold the length 15 | private final int length; 16 | // boolean variable to signify if the native schema element is present in 17 | // the stream schema or not 18 | // if present set to true, fasle otherwise. 19 | private final boolean isPresentInStreamSchema; 20 | 21 | public NativeSchema(String name, NativeTypes type, int length, 22 | boolean isPresentInStreamSchema) { 23 | this.name = name; 24 | this.type = type; 25 | this.length = length; 26 | this.isPresentInStreamSchema = isPresentInStreamSchema; 27 | } 28 | 29 | // getters for the private members 30 | public String getName() { 31 | return name; 32 | } 33 | 34 | public NativeTypes getType() { 35 | return type; 36 | } 37 | 38 | public int getLength() { 39 | return length; 40 | } 41 | 42 | public boolean getIsPresentInStreamSchema() { 43 | return isPresentInStreamSchema; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaProducerFactory.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.kafka; 6 | 7 | import java.util.Properties; 8 | import java.util.logging.Logger; 9 | 10 | import com.ibm.streams.operator.logging.TraceLevel; 11 | 12 | public class KafkaProducerFactory { 13 | KafkaProducerClient client; 14 | private final Logger trace = Logger.getLogger(KafkaProducerFactory.class 15 | .getCanonicalName()); 16 | 17 | public KafkaProducerClient getClient(AttributeHelper topicAH, 18 | AttributeHelper keyAH, AttributeHelper messageAH, Properties props) { 19 | if (messageAH.isString() && (!keyAH.isAvailable() || keyAH.isString())){ 20 | trace.log(TraceLevel.WARNING, "Using KafkaProducer client."); //$NON-NLS-1$ 21 | client = new ProducerStringHelper(topicAH, keyAH, messageAH, props); 22 | } else if ( !messageAH.isString() && (!keyAH.isAvailable() || !keyAH.isString())){ 23 | trace.log(TraceLevel.WARNING, "Using KafkaProducer client."); //$NON-NLS-1$ 24 | client = new ProducerByteHelper(topicAH, keyAH, messageAH, props); 25 | } else { 26 | trace.log(TraceLevel.ERROR, Messages.getString("KEY_AND_MESSAGE_TYPE_MUST_MATCH_AND_BE_STRING_OR_BYTE")); //$NON-NLS-1$ 27 | } 28 | 29 | return client; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/.settings/application.JmsWithXmlParseBytes-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | F 7 | application::JmsWithXmlParseBytes 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_zh_CN.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E \u5c5e\u6027\u201c{0}\u201d\u5fc5\u987b\u662f\u4ee5\u4e0b\u5c5e\u6027\u4e2d\u7684\u4e00\u4e2a\uff1a{1} 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E \u5c5e\u6027\u201c{0}\u201d\u4e0d\u53ef\u7528\u3002 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E \u627e\u4e0d\u5230\u201c{0}\u201d\u7684\u5c5e\u6027\u3002 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E \u901a\u9053\u5173\u95ed\u65f6\u53d1\u751f\u5f02\u5e38\uff1a{0}\u3002 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E \u8fde\u63a5\u5173\u95ed\u65f6\u53d1\u751f\u5f02\u5e38\uff1a{0}\u3002 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E \u65e0\u6cd5\u521d\u59cb\u5316\u4e0e RabbitMQ \u670d\u52a1\u5668\u7684\u8fde\u63a5\u6216\u901a\u9053\u3002 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E \u65e0\u6cd5\u8bbe\u7f6e\u8fde\u63a5\uff1a{0}\u3002 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E \u6b64\u64cd\u4f5c\u7a0b\u5e8f\u4e0d\u80fd\u662f\u4e00\u81f4\u533a\u57df\u7684\u5f00\u5934\u3002 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E \u5728\u5e94\u7528\u7a0b\u5e8f\u914d\u7f6e {1} \u4e2d\u627e\u4e0d\u5230\u5c5e\u6027 {0}\u3002 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E \u8bf7\u53c2\u9605\u6807\u51c6\u8f93\u51fa\u4ee5\u83b7\u53d6\u5b8c\u6574\u7684\u5806\u6808\u8ddf\u8e2a\u3002RabbitMQ \u5f02\u5e38\u6d88\u606f\uff1a{0}\u3002 17 | -------------------------------------------------------------------------------- /samples/JMSSample/.settings/com.ibm.streamsx.messaging.sample.jms.JMSSample-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | com.ibm.streamsx.messaging.sample.jms::JMSSample 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/.settings/application.ConsistentRegionSimple-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | application::ConsistentRegionSimple 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /samples/XMSSample/.settings/com.ibm.streamsx.messaging.sample.xms.XMSSample-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | com.ibm.streamsx.messaging.sample.xms::XMSSample 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /samples/KafkaSample/.settings/com.ibm.streamsx.messaging.sample.kafka.KafkaSample-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | com.ibm.streamsx.messaging.sample.kafka::KafkaSample 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_zh_TW.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E \u5c6c\u6027 ""{0}"" \u5fc5\u9808\u662f\u4e0b\u5217\u5176\u4e2d\u4e00\u9805\uff1a{1}\u3002 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E \u5c6c\u6027 ""{0}"" \u7121\u6cd5\u4f7f\u7528\u3002 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E \u627e\u4e0d\u5230 ""{0}"" \u7684\u5c6c\u6027\u3002 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E \u95dc\u9589\u901a\u9053\u6642\u767c\u751f\u7570\u5e38\u72c0\u6cc1\uff1a{0}\u3002 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E \u95dc\u9589\u9023\u7dda\u6642\u767c\u751f\u7570\u5e38\u72c0\u6cc1\uff1a{0}\u3002 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E \u7121\u6cd5\u8d77\u59cb\u8a2d\u5b9a\u8207 RabbitMQ \u4f3a\u670d\u5668\u7684\u9023\u7dda\u6216\u901a\u9053\u3002 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E \u7121\u6cd5\u8a2d\u5b9a\u9023\u7dda\uff1a{0}\u3002 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E \u9019\u500b\u904b\u7b97\u5b50\u4e0d\u80fd\u662f\u4e00\u81f4\u5340\u57df\u7684\u958b\u982d\u3002 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E \u5728\u61c9\u7528\u7a0b\u5f0f\u914d\u7f6e {1} \u4e2d\u627e\u4e0d\u5230\u5167\u5bb9 {0}\u3002 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E \u8acb\u53c3\u95b1\u6a19\u6e96\u8f38\u51fa\uff0c\u4ee5\u53d6\u5f97\u5b8c\u6574\u7684\u5806\u758a\u8ffd\u8e64\u3002RabbitMQ \u7570\u5e38\u72c0\u6cc1\u8a0a\u606f\uff1a{0}\u3002 17 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerParallel/.settings/application.ConsistentRegionParallelConsumers-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | application::ConsistentRegionParallelConsumers 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/.settings/com.ibm.streamsx.messaging.sample.kafka.KafkaSASLSample-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | com.ibm.streamsx.messaging.sample.kafka::KafkaSASLSample 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/.settings/com.ibm.streamsx.messaging.sample.kafka.KafkaSASLSample2-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | com.ibm.streamsx.messaging.sample.kafka::KafkaSASLSample2 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /samples/RabbitMQSample/.settings/com.ibm.streamsx.messaging.sample.rabbitmq.RabbitMQSample-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | com.ibm.streamsx.messaging.sample.rabbitmq::RabbitMQSample 8 | BuildConfig 9 | 10 | 11 | T 12 | 13 | 14 | 15 | 16 | F 17 | T 18 | 19 | F 20 | 21 | BuildConfig 22 | 23 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_ko_KR.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E ""{0}"" \uc18d\uc131\uc740 {1} \uc911 \ud558\ub098\uc5ec\uc57c \ud569\ub2c8\ub2e4. 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E ""{0}"" \uc18d\uc131\uc774 \uc0ac\uc6a9 \ubd88\uac00\ub2a5\ud569\ub2c8\ub2e4. 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E ""{0}""\uc5d0 \ub300\ud55c \uc18d\uc131\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E \ucc44\ub110 \ub2eb\uae30 \uc2dc \uc608\uc678 \ubc1c\uc0dd: {0}. 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E \uc5f0\uacb0 \ub2eb\uae30 \uc2dc \uc608\uc678 \ubc1c\uc0dd: {0}. 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E RabbitMQ \uc11c\ubc84\uc5d0 \ub300\ud55c \uc5f0\uacb0 \ub610\ub294 \ucc44\ub110\uc744 \ucd08\uae30\ud654\ud558\ub294 \ub370 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E \uc5f0\uacb0 \uc124\uc815\uc5d0 \uc2e4\ud328: {0}. 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E \uc774 \uc5f0\uc0b0\uc790\ub294 consistent region\uc758 \uc2dc\uc791\uc774 \ub420 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E {0} \ud2b9\uc131\uc774 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uad6c\uc131 {1}\uc5d0 \uc5c6\uc2b5\ub2c8\ub2e4. 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E \uc804\uccb4 \uc2a4\ud0dd \ucd94\uc801\uc740 \ud45c\uc900 \ucd9c\ub825\uc744 \ucc38\uc870\ud558\uc2ed\uc2dc\uc624. RabbitMQ \uc608\uc678 \uba54\uc2dc\uc9c0: {0}. 17 | -------------------------------------------------------------------------------- /performance/benchmarks/.settings/com.ibm.streamsx.messaging.sample.kafka.CopyKafkaSample-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | FDEF 8 | com.ibm.streamsx.messaging.sample.kafka::CopyKafkaSample 9 | BuildConfig 10 | 11 | 12 | T 13 | 14 | 15 | 16 | 17 | F 18 | T 19 | 20 | F 21 | 22 | BuildConfig 23 | 24 | F 25 | 26 | -------------------------------------------------------------------------------- /performance/benchmarks/.settings/com.ibm.streamsx.messaging.perf.kafka.ConsumerBlobBenchmark-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | FDEF 8 | com.ibm.streamsx.messaging.perf.kafka::ConsumerBlobBenchmark 9 | BuildConfig 10 | 11 | 12 | T 13 | 14 | 15 | 16 | 17 | F 18 | T 19 | 20 | F 21 | 22 | BuildConfig 23 | 24 | F 25 | 26 | -------------------------------------------------------------------------------- /performance/benchmarks/.settings/com.ibm.streamsx.messaging.perf.kafka.ProducerBlobBenchmark-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | FDEF 8 | com.ibm.streamsx.messaging.perf.kafka::ProducerBlobBenchmark 9 | BuildConfig 10 | 11 | 12 | T 13 | 14 | 15 | 16 | 17 | F 18 | T 19 | 20 | F 21 | 22 | BuildConfig 23 | 24 | F 25 | 26 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/jms/JMSMessageHandler.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2013, 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.jms; 6 | 7 | import java.io.UnsupportedEncodingException; 8 | 9 | import javax.jms.JMSException; 10 | import javax.jms.Message; 11 | import javax.jms.Session; 12 | import javax.xml.parsers.ParserConfigurationException; 13 | import javax.xml.transform.TransformerException; 14 | 15 | import com.ibm.streams.operator.OutputTuple; 16 | import com.ibm.streams.operator.Tuple; 17 | 18 | /* 19 | This is the base interface that defines the common functions 20 | for all the mesaage classes 21 | */ 22 | 23 | interface JMSMessageHandler { 24 | 25 | // Used by JMSSink to convert an incoming tuple to JMS MEssage 26 | // Each inheriting message class should provide their own 27 | // implementations 28 | public Message convertTupleToMessage(Tuple tuple, Session session) 29 | throws JMSException, UnsupportedEncodingException, 30 | ParserConfigurationException, TransformerException; 31 | 32 | /* 33 | * The MessageNotWriteableException is not caught becuase the message is 34 | * created by the operator and is never in read-only mode. 35 | */ 36 | 37 | // Used by JMSSource to convert an incoming JMS Message to a tuple. 38 | // Each inheriting message class should provide their own 39 | // implementations 40 | 41 | public MessageAction convertMessageToTuple(Message message, 42 | OutputTuple tuple) throws JMSException, 43 | UnsupportedEncodingException; 44 | 45 | }; 46 | -------------------------------------------------------------------------------- /performance/benchmarks/.settings/com.ibm.streamsx.messaging.perf.kafka.ConsumerRStringBenchmark-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | FDEF 8 | com.ibm.streamsx.messaging.perf.kafka::ConsumerRStringBenchmark 9 | BuildConfig 10 | 11 | 12 | T 13 | 14 | 15 | 16 | 17 | F 18 | T 19 | 20 | F 21 | 22 | BuildConfig 23 | 24 | F 25 | 26 | -------------------------------------------------------------------------------- /performance/benchmarks/.settings/com.ibm.streamsx.messaging.perf.kafka.ProducerRStringBenchmark-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | FDEF 8 | com.ibm.streamsx.messaging.perf.kafka::ProducerRStringBenchmark 9 | BuildConfig 10 | 11 | 12 | T 13 | 14 | 15 | 16 | 17 | F 18 | T 19 | 20 | F 21 | 22 | BuildConfig 23 | 24 | F 25 | 26 | -------------------------------------------------------------------------------- /performance/benchmarks/.settings/com.ibm.streamsx.messaging.perf.kafka.ParallelConsumerBenchmark-BuildConfig.splbuild: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | SPL Build Configuration: BuildConfig 5 | F 6 | T 7 | FDEF 8 | com.ibm.streamsx.messaging.perf.kafka::ParallelConsumerBenchmark 9 | BuildConfig 10 | 11 | 12 | T 13 | 14 | 15 | 16 | 17 | F 18 | T 19 | 20 | F 21 | 22 | BuildConfig 23 | 24 | F 25 | 26 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/common/IGovernanceConstants.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.common; 7 | 8 | public interface IGovernanceConstants { 9 | public static final String TAG_OPERATOR_IGC = "OperatorIGC"; //$NON-NLS-1$ 10 | public static final String TAG_REGISTER_TYPE = "registerType"; //$NON-NLS-1$ 11 | public static final String TAG_REGISTER_TYPE_INPUT = "input"; //$NON-NLS-1$ 12 | public static final String TAG_REGISTER_TYPE_OUTPUT = "output"; //$NON-NLS-1$ 13 | 14 | public static final String ASSET_STREAMS_PREFIX = "$Streams-"; //$NON-NLS-1$ 15 | 16 | public static final String ASSET_JMS_SERVER_TYPE = "JMSServer"; //$NON-NLS-1$ 17 | 18 | public static final String ASSET_JMS_MESSAGE_TYPE = "JMS"; //$NON-NLS-1$ 19 | 20 | public static final String ASSET_KAFKA_TOPIC_TYPE = "KafkaTopic"; //$NON-NLS-1$ 21 | 22 | public static final String ASSET_MQTT_TOPIC_TYPE = "MQTT"; //$NON-NLS-1$ 23 | public static final String ASSET_MQTT_SERVER_TYPE = "MQServer"; //$NON-NLS-1$ 24 | 25 | public static final String PROPERTY_SRC_NAME = "srcName"; //$NON-NLS-1$ 26 | public static final String PROPERTY_SRC_TYPE = "srcType"; //$NON-NLS-1$ 27 | 28 | public static final String PROPERTY_SRC_PARENT_PREFIX = "srcParent"; //$NON-NLS-1$ 29 | public static final String PROPERTY_PARENT_TYPE = "parentType"; //$NON-NLS-1$ 30 | 31 | public static final String PROPERTY_PARENT_PREFIX = "p1"; //$NON-NLS-1$ 32 | 33 | public static final String PROPERTY_INPUT_OPERATOR_TYPE = "inputOperatorType"; //$NON-NLS-1$ 34 | public static final String PROPERTY_OUTPUT_OPERATOR_TYPE = "outputOperatorType"; //$NON-NLS-1$ 35 | 36 | } 37 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/.settings/org.eclipse.core.resources.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | encoding//.settings/org.eclipse.core.runtime.prefs=UTF-8 3 | encoding//.settings/org.eclipse.jdt.apt.core.prefs=UTF-8 4 | encoding//.settings/org.eclipse.jdt.core.prefs=UTF-8 5 | encoding//doc/spldoc/html/OperatorModel.html=UTF-8 6 | encoding//doc/spldoc/html/com.ibm.streamsx.messaging.kafka$.html=UTF-8 7 | encoding//doc/spldoc/html/com.ibm.streamsx.messaging.kafka$KafkaReceiver.html=UTF-8 8 | encoding//doc/spldoc/html/com.ibm.streamsx.messaging.kafka$KafkaSender.html=UTF-8 9 | encoding//doc/spldoc/html/com.ibm.streamsx.messaging.mqtt$.html=Cp1252 10 | encoding//doc/spldoc/html/com.ibm.streamsx.messaging.mqtt$MQTTSink.html=UTF-8 11 | encoding//doc/spldoc/html/com.ibm.streamsx.messaging.mqtt$MQTTSource.html=UTF-8 12 | encoding//doc/spldoc/html/com.ibm.streamsx.messaging.mqtt$MSGTypes$spl.html=UTF-8 13 | encoding//doc/spldoc/html/toolkit.html=UTF-8 14 | encoding//doc/spldoc/image/com.ibm.streamsx.messaging.kafka$KafkaReceiver.svg=UTF-8 15 | encoding//doc/spldoc/image/com.ibm.streamsx.messaging.kafka$KafkaSender.svg=UTF-8 16 | encoding//doc/spldoc/image/com.ibm.streamsx.messaging.mqtt$MQTTSink.svg=UTF-8 17 | encoding//doc/spldoc/image/com.ibm.streamsx.messaging.mqtt$MQTTSource.svg=UTF-8 18 | encoding//icons/MQTTSink_16.gif=UTF-8 19 | encoding//icons/MQTTSink_32.gif=UTF-8 20 | encoding//icons/MQTTSource_16.gif=UTF-8 21 | encoding//icons/MQTTSource_32.gif=UTF-8 22 | encoding//impl/java/src/com/ibm/streamsx/messaging/mqtt/MQTTMessages.properties=UTF-8 23 | encoding//impl/lib/META-INF/MANIFEST.MF=UTF-8 24 | encoding//opt/downloaded/kafka_2.8.0-0.8.1.jar=UTF-8 25 | encoding//opt/downloaded/metrics-annotation-2.2.0.jar=UTF-8 26 | encoding//opt/downloaded/mqtt-client-0.4.1-SNAPSHOT.jar=Cp1252 27 | encoding//opt/downloaded/scala-library-2.8.0.jar=UTF-8 28 | encoding//opt/downloaded/slf4j-api-1.7.2.jar=UTF-8 29 | encoding//opt/downloaded/zookeeper-3.3.4.jar=UTF-8 30 | encoding/build.xml=UTF-8 31 | encoding/pom.xml=Cp1252 32 | -------------------------------------------------------------------------------- /samples/KafkaSample/com.ibm.streamsx.messaging.sample.kafka/KafkaSample.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2014, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | namespace com.ibm.streamsx.messaging.sample.kafka; 7 | 8 | use com.ibm.streamsx.messaging.kafka::*; 9 | 10 | /** 11 | * Example of using a [KafkaProducer] and [KafkaConsumer] 12 | * This assumes that the topic has already been created 13 | * 14 | */ 15 | 16 | composite KafkaSample { 17 | param 18 | expression $topic : "sampleTopic" ; 19 | graph 20 | //create some messages and send to Kafka 21 | stream OutputStream = Beacon() { 22 | param 23 | initDelay : 5.0; 24 | period : 0.2; 25 | output OutputStream: topic = $topic, 26 | message = "Reality is merely an illusion, albeit a very persistent one." , key = "Einstein"; 27 | } 28 | 29 | 30 | () as KafkaSinkOp = KafkaProducer(OutputStream) { 31 | param 32 | propertiesFile : "etc/producer.properties"; 33 | } 34 | 35 | 36 | /* 37 | * If you want to have consumers running in parallel, just uncomment the 38 | * @parallel and set the width to the number of consumers you want. 39 | * Remember, there can be at most one consumer per partition in a 40 | * consumer group, so width should never be greater than the number 41 | * of partitions in your topic. 42 | */ 43 | // @parallel(width = 3) 44 | stream KafkaStream = KafkaConsumer() 45 | { 46 | param 47 | propertiesFile : "etc/consumer.properties"; 48 | topic : $topic; 49 | } 50 | 51 | () as SinkOp = Custom(KafkaStream) 52 | { 53 | logic 54 | onTuple KafkaStream : 55 | { 56 | printStringLn("Message: " + (rstring) KafkaStream); 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /samples/RabbitMQSample/com.ibm.streamsx.messaging.sample.rabbitmq/RabbitMQSample.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2016, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | namespace com.ibm.streamsx.messaging.sample.rabbitmq ; 7 | 8 | use com.ibm.streamsx.messaging.rabbitmq::* ; 9 | 10 | /** 11 | * Example of using a [RabbitMQSource] and [RabbitMQSink] 12 | * This assumes that the topic has already been created 13 | * 14 | */ 15 | composite RabbitMQSample 16 | { 17 | param 18 | expression $hostAndPort : "rabbitHost:5672"; 19 | expression $exchangeName : "myPhilosophicalExchange"; 20 | expression $routing_key : "What is reality?"; 21 | graph 22 | 23 | //create some messages and send to RabbitMQSink 24 | stream OutputStream = Beacon() 25 | { 26 | param 27 | period : 1.0 ; 28 | output 29 | OutputStream : message = "What is friendship and why do we need it?", routing_key = 30 | $routing_key ; 31 | } 32 | 33 | () as RabbitMQSinkOp = RabbitMQSink(OutputStream) 34 | { 35 | param 36 | hostAndPort : $hostAndPort; 37 | exchangeName : $exchangeName; 38 | /* You can also specify username, password, exchangeType. 39 | * See SPL Docs for more details. 40 | */ 41 | } 42 | 43 | stream RabbitMQStream = RabbitMQSource() 44 | { 45 | param 46 | hostAndPort : $hostAndPort; 47 | exchangeName : $exchangeName; 48 | routingKey : $routing_key; 49 | /* You can also specify username, password, exchangeType, queueName. 50 | * See SPL Docs for more details. 51 | */ 52 | } 53 | 54 | () as SinkOp = Custom(RabbitMQStream) 55 | { 56 | logic 57 | onTuple RabbitMQStream : println("Message: " +(rstring) RabbitMQStream) ; 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/rabbitmq/RabbitMQMessages_ja_JP.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.rabbitmq.RabbitMQMessages.properties CDIST1385 - CDIST1399 5 | # 6 | 7 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1385E \u5c5e\u6027 ""{0}"" \u306f\u3001\u6b21\u306e\u3044\u305a\u308c\u304b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: {1}\u3002 8 | ATTRIBUTE_NOT_AVAILABLE=CDIST1386E \u5c5e\u6027 ""{0}"" \u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002 9 | ATTRIBUTE_NOT_FOUND=CDIST1387E ""{0}"" \u306e\u5c5e\u6027\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 10 | EXCEPTION_AT_CHANNEL_CLOSE=CDIST1388E \u30c1\u30e3\u30cd\u30eb\u30fb\u30af\u30ed\u30fc\u30ba\u3067\u306e\u4f8b\u5916: {0}\u3002 11 | EXCEPTION_AT_CONNECTION_CLOSE=CDIST1389E \u63a5\u7d9a\u30af\u30ed\u30fc\u30ba\u3067\u306e\u4f8b\u5916: {0}\u3002 12 | FAILED_TO_INIT_CONNECTION_OR_CHANNEL_TO_SERVER=CDIST1390E RabbitMQ \u30b5\u30fc\u30d0\u30fc\u3078\u306e\u63a5\u7d9a\u307e\u305f\u306f\u30c1\u30e3\u30cd\u30eb\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 13 | FAILED_TO_SETUP_CONNECTION=CDIST1391E \u63a5\u7d9a\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}\u3002 14 | OP_CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1392E \u3053\u306e\u30aa\u30da\u30ec\u30fc\u30bf\u30fc\u306f\u6574\u5408\u9818\u57df\u306e\u958b\u59cb\u306b\u4f7f\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002 15 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1393E \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u69cb\u6210 {1} \u306b\u30d7\u30ed\u30d1\u30c6\u30a3\u30fc {0} \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002 16 | SEE_STDOUT_FOR_FULL_STACK_TRACE=CDIST1394E \u8a73\u7d30\u306e\u30b9\u30bf\u30c3\u30af\u30fb\u30c8\u30ec\u30fc\u30b9\u306b\u3064\u3044\u3066\u306f\u3001\u6a19\u6e96\u51fa\u529b\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002 RabbitMQ \u4f8b\u5916\u30e1\u30c3\u30bb\u30fc\u30b8: {0}\u3002 17 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/com.ibm.streamsx.messaging.xms/XMSSource/XMSSource_h.cgt: -------------------------------------------------------------------------------- 1 | <% 2 | ####################################################################### 3 | # Copyright (C)2014, International Business Machines Corporation and 4 | # others. All Rights Reserved. 5 | ####################################################################### 6 | %> 7 | 8 | /* Additional includes go here */ 9 | #include 10 | #include 11 | 12 | <%SPL::CodeGen::headerPrologue($model);%> 13 | 14 | class MY_OPERATOR : public MY_BASE_OPERATOR ,public xms::MessageListener, public xms::ExceptionListener { 15 | 16 | public: 17 | 18 | // Constructor 19 | MY_OPERATOR(); 20 | 21 | // Destructor 22 | virtual ~MY_OPERATOR(){ 23 | finalizeOperator(); 24 | } 25 | 26 | // Processing for source and threaded operators 27 | void process(uint32_t idx); 28 | 29 | // Notify port readiness 30 | void allPortsReady(); 31 | 32 | 33 | void initialize(); 34 | 35 | std::string xms2std(const xms::String & pString); 36 | 37 | 38 | /* 39 | * Message listener implementation 40 | */ 41 | virtual xmsVOID onMessage(xms::Message * pMsg); 42 | 43 | // Exception listener implementation 44 | virtual xmsVOID onException (xms::Exception * pExp); 45 | 46 | // Performance Metrics 47 | SPL::int64 nMessagesRead; 48 | Metric & nMessagesReadPC; 49 | SPL::int64 nMessagesDropped; 50 | Metric & nMessagesDroppedPC; 51 | SPL::int64 nConnectionAttempts; 52 | Metric & nConnectionAttemptsPC; 53 | 54 | 55 | private: 56 | /* 57 | * Private member variables 58 | */ 59 | #include "XMSCommon.h" 60 | 61 | //For setting the period value 62 | double periodVal; 63 | 64 | boolean isErrorPortSpecified; 65 | boolean isInitialConnectionFailure; 66 | 67 | 68 | //To send the output to the error port if one is specified 69 | void sendOutputErrorMsg(ostringstream& ErrMsg); 70 | 71 | //update the perfomance counters 72 | void updatePerformanceCounters(); 73 | 74 | }; 75 | <%SPL::CodeGen::headerEpilogue($model);%> -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/IMqttConstants.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.mqtt; 6 | 7 | public interface IMqttConstants { 8 | 9 | public static final String CONN_TRUSTSTORE = "connection.trustStore"; //$NON-NLS-1$ 10 | public static final String CONN_KEYSTORE = "connection.keyStore"; //$NON-NLS-1$ 11 | public static final String CONN_KEYSTORE_PASSWORD = "connection.keyStorePassword"; //$NON-NLS-1$ 12 | public static final String CONN_SERVERURI = "connection.serverURI"; //$NON-NLS-1$ 13 | public static final int DEFAULT_RECONNECTION_BOUND = 5; 14 | public static final long DEFAULT_RECONNECTION_PERIOD = 60000; 15 | public static final String MQTTSRC_TOPICDESC_QOS = "qos"; //$NON-NLS-1$ 16 | public static final String MQTTSRC_TOPICDESC_TOPICS = "topics"; //$NON-NLS-1$ 17 | public static final String MQTTSRC_TOPICDESC_ACTION = "action"; //$NON-NLS-1$ 18 | public static final int MQTTSRC_DEFAULT_QUEUE_SIZE = 50; 19 | public static final String SSL_KEY_STORE_PASSWORD = "com.ibm.ssl.keyStorePassword"; //$NON-NLS-1$ 20 | public static final String SSL_KEY_STORE = "com.ibm.ssl.keyStore"; //$NON-NLS-1$ 21 | public static final String SSL_TRUST_STORE = "com.ibm.ssl.trustStore"; //$NON-NLS-1$ 22 | static final String SSK_TRUST_STORE_PASSWORD = "com.ibm.ssl.trustStorePassword"; //$NON-NLS-1$ 23 | public static final long UNINITIALIZED_COMMAND_TIMEOUT = -1L; 24 | public static final int UNINITIALIZED_KEEP_ALIVE_INTERVAL = -1; 25 | public static final long CONSISTENT_REGION_DRAIN_WAIT_TIME = 180000; 26 | public static final String MQTT_DEFAULT_DATA_ATTRIBUTE_NAME = "data"; //$NON-NLS-1$ 27 | public static final String COMMA = ","; //$NON-NLS-1$ 28 | public static final String SSL_PROTOCOL = "com.ibm.ssl.protocol"; //$NON-NLS-1$ 29 | public static final String DEFAULT_SSL_PROTOCOL = "TLSv1.2"; //$NON-NLS-1$ 30 | } 31 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/common/DataGovernanceUtil.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2016, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.common; 7 | 8 | import java.util.HashMap; 9 | import java.util.Map; 10 | 11 | import com.ibm.streams.operator.AbstractOperator; 12 | 13 | public class DataGovernanceUtil { 14 | 15 | public static void registerForDataGovernance(AbstractOperator operator, String assetName, String assetType, String parentAssetName, String parentAssetType, boolean isInput, String operatorType) { 16 | Map properties = new HashMap(); 17 | if(isInput) { 18 | properties.put(IGovernanceConstants.TAG_REGISTER_TYPE, IGovernanceConstants.TAG_REGISTER_TYPE_INPUT); 19 | properties.put(IGovernanceConstants.PROPERTY_INPUT_OPERATOR_TYPE, operatorType); 20 | } else { 21 | properties.put(IGovernanceConstants.TAG_REGISTER_TYPE, IGovernanceConstants.TAG_REGISTER_TYPE_OUTPUT); 22 | properties.put(IGovernanceConstants.PROPERTY_OUTPUT_OPERATOR_TYPE, operatorType); 23 | } 24 | properties.put(IGovernanceConstants.PROPERTY_SRC_NAME, assetName); 25 | properties.put(IGovernanceConstants.PROPERTY_SRC_TYPE, IGovernanceConstants.ASSET_STREAMS_PREFIX + assetType); 26 | if(parentAssetName != null) { 27 | properties.put(IGovernanceConstants.PROPERTY_SRC_PARENT_PREFIX, IGovernanceConstants.PROPERTY_PARENT_PREFIX); 28 | properties.put(IGovernanceConstants.PROPERTY_PARENT_PREFIX + IGovernanceConstants.PROPERTY_SRC_NAME, parentAssetName); 29 | properties.put(IGovernanceConstants.PROPERTY_PARENT_PREFIX + IGovernanceConstants.PROPERTY_SRC_TYPE, IGovernanceConstants.ASSET_STREAMS_PREFIX + parentAssetType); 30 | properties.put(IGovernanceConstants.PROPERTY_PARENT_PREFIX + IGovernanceConstants.PROPERTY_PARENT_TYPE, "$" + parentAssetType); //$NON-NLS-1$ 31 | } 32 | 33 | operator.setTagData(IGovernanceConstants.TAG_OPERATOR_IGC, properties); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 4.0.0 6 | com.ibm.streamsx.messaging 7 | streamsx.messaging 8 | jar 9 | 5.4.3 10 | com.ibm.streamsx.messaging 11 | 12 | 13 | apache.snapshots 14 | http://repository.apache.org/content/repositories/snapshots/ 15 | 16 | 17 | apache.releases 18 | https://repository.apache.org/content/repositories/releases/ 19 | 20 | 21 | Eclipse Paho Repo releases 22 | https://repo.eclipse.org/content/repositories/paho-releases 23 | 24 | 25 | 26 | 27 | 28 | 29 | org.apache.geronimo.specs 30 | geronimo-jms_1.1_spec 31 | 1.1.1 32 | 33 | 34 | org.apache.kafka 35 | kafka-clients 36 | 0.10.2.2 37 | 38 | 39 | com.rabbitmq 40 | amqp-client 41 | 5.4.3 42 | 43 | 44 | org.eclipse.paho 45 | org.eclipse.paho.client.mqttv3 46 | 1.2.1 47 | 48 | 49 | 50 | . 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /samples/XMSSample/com.ibm.streamsx.messaging.sample.xms/XMSSample.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2014, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | namespace com.ibm.streamsx.messaging.sample.xms; 6 | 7 | use com.ibm.streamsx.messaging.xms::* ; 8 | 9 | /** This sample demonstrates how to use the XMSSink and XMSSource operator to send/read messages from Websphere MQ server. 10 | * 11 | * The sample uses the settings from the connection document in etc/connections.xml to connect to the 12 | * messaging server. 13 | * 14 | * To use this sample, you will need to update the connection document. You need to specify the following: 15 | * * the binding file that connects connection information to your messaging server 16 | * * update the connection document to the correct end-point from your messaging server 17 | * 18 | * When a tuple is received by the operator, the operator constructs a XMS message and sends the message 19 | * to the messaging server. 20 | * 21 | * When a message is received from the server, the content of the message is sent to a file. 22 | * 23 | * */ 24 | composite XMSSample { 25 | type 26 | PersonSchema = int32 id, rstring fname, rstring lname, int32 age, 27 | rstring gender, float32 score, float64 total ; 28 | graph 29 | stream inputData = FileSource() 30 | { 31 | param 32 | file : "testdata.csv" ; 33 | format : csv ; 34 | initDelay : 1.0 ; 35 | } 36 | 37 | () as mySink = XMSSink(inputData) 38 | { 39 | param 40 | // connectionDocument : default is ./etc/connection.xml; 41 | connection : "conn1" ; 42 | access : "access1" ; 43 | } 44 | 45 | stream myInputStream = XMSSource() 46 | { 47 | param 48 | // connectionDocument : default is ./etc/connection.xml; 49 | connection : "conn1" ; 50 | access : "access1" ; 51 | initDelay : 2.0 ; 52 | } 53 | 54 | () as myInputSink = FileSink(myInputStream) 55 | { 56 | param 57 | file : "persons.dat" ; 58 | format : csv ; 59 | quoteStrings : false ; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/mqttconnection.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/pom-kafka-0.10.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 4.0.0 6 | com.ibm.streamsx.messaging 7 | streamsx.messaging 8 | jar 9 | 5.4.2 10 | com.ibm.streamsx.messaging 11 | 12 | 13 | apache.snapshots 14 | http://repository.apache.org/content/repositories/snapshots/ 15 | 16 | 17 | apache.releases 18 | https://repository.apache.org/content/repositories/releases/ 19 | 20 | 21 | Eclipse Paho Repo releases 22 | https://repo.eclipse.org/content/repositories/paho-releases 23 | 24 | 25 | 26 | 27 | 28 | 29 | org.apache.geronimo.specs 30 | geronimo-jms_1.1_spec 31 | 1.1.1 32 | 33 | 34 | org.apache.kafka 35 | kafka-clients 36 | 0.10.2.2 37 | 38 | 39 | com.rabbitmq 40 | amqp-client 41 | 5.4.3 42 | 43 | 44 | org.eclipse.paho 45 | org.eclipse.paho.client.mqttv3 46 | 1.2.1 47 | 48 | 49 | 50 | . 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## README -- IBMStreams/streamsx.messaging 2 | 3 | The IBMStreams/streamsx.messaging toolkit project is an open source Streams toolkit project focused on the development of operators and functions that extend IBM InfoSphere Streams ability to interact with messaging systems. 4 | 5 | --- 6 | 7 | **After release v5.4.2 the complete toolkit is deprecated**. Please, use the following alternatives to communicate with various message queues: 8 | | Message Queue | New Toolkit | 9 | | ------------- | ----------- | 10 | | JMS | [streamsx.jms](https://github.com/IBMStreams/streamsx.jms) | 11 | | Kafka | [streamsx.kafka](https://github.com/IBMStreams/streamsx.kafka) | 12 | | MQTT | [streamsx.mqtt](https://github.com/IBMStreams/streamsx.mqtt) | 13 | | RabbitMQ | [streamsx.rabbitmq](https://github.com/IBMStreams/streamsx.rabbitmq) | 14 | | XMS | no toolkit planned yet | 15 | 16 | --- 17 | 18 | Messaging Toolkit v5.1 is offically released to support InfoSphere Streams v4.2: 19 | * https://github.com/IBMStreams/streamsx.messaging/releases 20 | 21 | This toolkit contains support for: 22 | * Kafka 23 | * RabbitMQ 24 | * JMS 25 | * MQTT 26 | * XMS 27 | 28 | 29 | Check out our SPLDOC here: 30 | * http://ibmstreams.github.io/streamsx.messaging/com.ibm.streamsx.messaging/doc/spldoc/html/index.html 31 | 32 | To get started with working with this toolkit: 33 | * https://github.com/IBMStreams/streamsx.messaging/wiki/Getting-Started-with-Toolkit-Development 34 | * [Kafka Operators Getting Started Guide](http://ibmstreams.github.io/streamsx.documentation/docs/4.1/messaging/kafka-operators-getting-started/) 35 | * [JMS Operators Getting Started Guide](http://ibmstreams.github.io/streamsx.documentation/docs/4.1/messaging/jms-operators-getting-started/) 36 | * [The messages and the NLS for toolkits](https://github.com/IBMStreams/administration/wiki/Messages-and-National-Language-Support-for-toolkits) 37 | 38 | 39 | To learn more about Streams: 40 | 41 | * [IBM Streams on Github](http://ibmstreams.github.io) 42 | * [Introduction to Streams Quick Start Edition](http://ibmstreams.github.io/streamsx.documentation/docs/4.1/qse-intro/) 43 | * [Streams Getting Started Guide](http://ibmstreams.github.io/streamsx.documentation/docs/4.1/qse-getting-started/) 44 | * [StreamsDev](https://developer.ibm.com/streamsdev/) 45 | -------------------------------------------------------------------------------- /samples/JMSSample/etc/connections.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaMessages.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.kafka.KafkaMessages.properties CDIST1360 - CDIST1384 5 | # 6 | 7 | ATTRIBUTE_MESSAGE_OR_MESSAGEATTRIBUTE_REQUIRED=CDIST1360E Attribute called ""message"" or described by the ""messageAttribute"" parameter is REQUIRED. 8 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1361E Attribute ""{0}"" must be one of: {1} 9 | ATTRIBUTE_NOT_AVAILABLE=CDIST1362E Attribute ""{0}"" not available. 10 | ATTRIBUTE_NOT_FOUND=CDIST1363E Attribute not found for ""{0}"". 11 | CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1364E {0} operator cannot be placed at the start of consistent region. 12 | ERROR_WHILE_ACQUIRING_PERMIT=CDIST1365E Error while acquiring permit: {0} 13 | ERROR_WHILE_PROCESSING_AND_SUBMITTING_MESSAGES=CDIST1366E Error while processing and submitting messages: {0} 14 | KAFKA_CONNECTION_PROPERTIES_MUST_BE_SPECIFIED=CDIST1367E Kafka connection properties must be specified. 15 | KEY_AND_MESSAGE_MUST_HAVE_COMPATIBLE_TYPES=CDIST1368E Key and Message attributes must have compatible types. 16 | KEY_AND_MESSAGE_TYPE_MUST_MATCH_AND_BE_STRING_OR_BYTE=CDIST1369E Key and Message type must match and be of type String or Byte. 17 | MISSING_PRPERTIES=CDIST1370E Missing properties: Check that appConfig, propertiesFile, or kafkaProperty parameter specified. At least one must be set. 18 | MISSING_REQUIRED_BOOTSTRAP_SERVERS_PROPS=CDIST1371E Missing required bootstrap.servers properties. 19 | NUMBER_OF_THREADS_CANNOT_BE_LESS_THAN_ONE=CDIST1372E Number of threads per topic cannot be less than one: {0} 20 | ONLY_ONE_TOPIC_CAN_BE_SPECIFIED_WHEN_PARTITION_PARAM_OIS_SET=CDIST1373E Invalid topic parameter: Only one topic can be specified when the partition parameter is set. 21 | PARTITION_PARAM_MUST_BE_SPECIFIED_IN_CONSISTENT_REGION=CDIST1374E The partition parameter must be specified in consistent regions. 22 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1375E Property {0} is not found in application configuration {1}. 23 | PROPERTY_NOT_IN_KEY_VALUE_FORMAT=CDIST1376E Invalid property: {0}, not in the key=value format 24 | SPECIFIED_DESERIALIZER_NOT_SUPPORTED=CDIST1377E The specified deserializer is not supported by the KafkaSource. 25 | TOPIC_NOT_SPECIFIED=CDIST1378E Topic has not been specified. Specify either the ""topicAttribute"" or ""topic"" parameters. 26 | -------------------------------------------------------------------------------- /samples/KafkaSASLSample/com.ibm.streamsx.messaging.sample.kafka/KafkaSASLSample.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2016, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | // 6 | namespace com.ibm.streamsx.messaging.sample.kafka; 7 | 8 | use com.ibm.streamsx.messaging.kafka::*; 9 | 10 | /** 11 | * Example of using a [KafkaProducer] and [KafkaConsumer] 12 | * This assumes that the topic has already been created 13 | * If you are not using the java default truststore, you must specify the 14 | * following properties in your consumer.properties and producer.properties files: 15 | * ssl.truststore.location= 16 | * ssl.truststore.password= 17 | * 18 | * To use with Message Hub: 19 | * 1. Obtain the Message Hub service credentials. You will need the username, 20 | * password and the list of SASL brokers. 21 | * 2. Replace the bootstrap.servers list with the SASL broker list in 22 | * the etc/consumers.properties and etc/producer.properties files 23 | * 3. Specify username and password in the jaas.conf file 24 | * 4. Build the application 25 | * 26 | */ 27 | 28 | composite KafkaSASLSample { 29 | param 30 | expression $topic : "sampleTopic" ; 31 | expression $jaasFile : "etc/jaas.conf" ; 32 | graph 33 | 34 | //create some messages and send to Kafka 35 | stream OutputStream = Beacon() { 36 | param 37 | initDelay : 5.0; 38 | period : 0.2; 39 | output OutputStream: topic = $topic, message = "Whenever anyone says 'theorectically,' they really mean, 'not really.'" , key = "Dave Parnas"; 40 | } 41 | 42 | 43 | () as KafkaSinkOp = KafkaProducer(OutputStream) { 44 | param 45 | propertiesFile : getThisToolkitDir() + "/etc/producer.properties"; 46 | jaasFile: $jaasFile; 47 | } 48 | 49 | stream KafkaStream = KafkaConsumer() 50 | { 51 | param 52 | propertiesFile : getThisToolkitDir() + "/etc/consumer.properties" ; 53 | topic : $topic; 54 | jaasFile: $jaasFile; 55 | } 56 | 57 | () as SinkOp = Custom(KafkaStream) 58 | { 59 | 60 | logic 61 | onTuple KafkaStream : 62 | { 63 | printStringLn("Message: " + (rstring) KafkaStream) ; 64 | } 65 | 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /samples/JMSSample/com.ibm.streamsx.messaging.sample.jms/JMSSample.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2014, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | namespace com.ibm.streamsx.messaging.sample.jms; 6 | 7 | use com.ibm.streamsx.messaging.jms::* ; 8 | 9 | /** JMSSample demonstrates how to send/read data to/from a messaging server using the 10 | * JMSSink and JMSSource operator. 11 | * 12 | * This sample connects to a messaging server as specified in the connection 13 | * document located in ./etc/connections.xml. The connection info, and the 14 | * data schema for the message is defined in the connection document. 15 | * 16 | * To connect to ActiveMQ: 17 | * * specify the ActiveMQ server's URL in the "provider_url" attribute of the connection specification named "activemq" 18 | * * in the SPL sample, update the JMSSink operator to use the "activemq" connection 19 | * * in the SPL sample, update the JMSSink operator to use the "access_activemq" access 20 | * 21 | * To connect to to Websphere MQ: 22 | * * specify the binding file URL in the "provider_url" attribute of the connection specification named "wmq" 23 | * * specify a valid destination identity in the "access_wmq" access specification 24 | * * in the SPL sample, update the JMSSink operator to use the "wmq" connection 25 | * * in the SPL sample, update the JMSSink operator to use the "access_wmq" access 26 | * 27 | */ 28 | 29 | composite JMSSample { 30 | type 31 | PersonSchema = int32 id, rstring fname, rstring lname, int32 age, 32 | rstring gender, float32 score, float64 total ; 33 | graph 34 | 35 | stream inputData = FileSource() 36 | { 37 | param 38 | file : "testdata.csv" ; 39 | format : csv ; 40 | initDelay : 1.0 ; 41 | } 42 | 43 | () as mySink = JMSSink(inputData) 44 | { 45 | param 46 | connection : "activemq" ; 47 | access : "access_activemq" ; 48 | } 49 | 50 | stream myInputStream = JMSSource() 51 | { 52 | param 53 | connection : "activemq" ; 54 | access : "access_activemq" ; 55 | initDelay : 2l ; 56 | } 57 | 58 | () as myInputSink = FileSink(myInputStream) 59 | { 60 | param 61 | file : "persons.dat" ; 62 | format : csv ; 63 | quoteStrings : false ; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /samples/KafkaConsistentRegionConsumerSimple/application/ConsistentRegionConsumerSimple.spl: -------------------------------------------------------------------------------- 1 | namespace application ; 2 | 3 | use com.ibm.streamsx.messaging.kafka::* ; 4 | /** 5 | * Read from a single-partition Kafka topic using the KafkaConsumer operator 6 | * in a consistent region (guaranteed tuple processing). This sample contains 7 | * two consistent regions. The first includes the beacon and the KafkaProducer, 8 | * the second includes the KafkaConsumer and the MessagePrinter. 9 | * 10 | * Make sure you have created your topic before launching: 11 | * bin/kafka-topics.sh --create --zookeeper :2181 --partitions 1 --topic mySimpleTopic 12 | * 13 | * Edit the consumer.properties and producer.properties files found in the etc directory to include 14 | * your Kafka properties. 15 | * 16 | * Build using Studio or the provided Makefile. 17 | * 18 | * Check results by looking at messagesReceived.out in the data directory. 19 | * 20 | * Consistent Region does not support Standalone mode, so this sample is only interesting in 21 | * Distributed mode. 22 | * 23 | * 24 | */ 25 | composite ConsistentRegionSimple 26 | { 27 | param 28 | expression $topic : "mySimpleTopic"; 29 | graph 30 | //generate data to be written to a kafka server 31 | @consistent(trigger = operatorDriven) 32 | stream OutputStream = Beacon() 33 | { 34 | param 35 | period : 0.25 ; 36 | initDelay : 4.0 ; 37 | triggerCount : 20u ; 38 | output 39 | OutputStream : topic = $topic, message = "The distance between insanity and genius is measured only by success. -Bruce Feirstein" 40 | , key =(rstring)(int32)(random() * 10.0) ; 41 | } 42 | 43 | //Write to Kafka Server 44 | () as KafkaSinkOp = KafkaProducer(OutputStream) 45 | { 46 | param 47 | propertiesFile : "etc/producer.properties" ; 48 | } 49 | 50 | //Read in from a kafka server and start consistent region 51 | @consistent(trigger = operatorDriven) stream 52 | KafkaConsumerOut = KafkaConsumer() 53 | { 54 | param 55 | propertiesFile : "etc/consumer.properties" ; 56 | topic : $topic ; 57 | partition : 0 ; 58 | triggerCount : 20 ; 59 | } 60 | 61 | //Print out data to a file 62 | () as MessagePrinter = FileSink(KafkaConsumerOut) 63 | { 64 | param 65 | file : "messagesReceived.out" ; 66 | flush : 1u ; 67 | format : csv ; 68 | } 69 | 70 | () as JCP = JobControlPlane() 71 | { 72 | } 73 | 74 | } 75 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaMessages_es_ES.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.kafka.KafkaMessages.properties CDIST1360 - CDIST1384 5 | # 6 | 7 | ATTRIBUTE_MESSAGE_OR_MESSAGEATTRIBUTE_REQUIRED=CDIST1360E El atributo llamado ""message"" o descrito por el par\u00e1metro ""messageAttribute"" es NECESARIO. 8 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1361E El atributo ""{0}"" debe ser uno de: {1} 9 | ATTRIBUTE_NOT_AVAILABLE=CDIST1362E El atributo ""{0}"" no est\u00e1 disponible. 10 | ATTRIBUTE_NOT_FOUND=CDIST1363E No se ha encontrado el atributo para ""{0}"". 11 | CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1364E No se puede colocar el operador {0} al inicio de una regi\u00f3n coherente. 12 | ERROR_WHILE_ACQUIRING_PERMIT=CDIST1365E Error al adquirir permiso: {0} 13 | ERROR_WHILE_PROCESSING_AND_SUBMITTING_MESSAGES=CDIST1366E Error al procesar y enviar mensajes: {0} 14 | KAFKA_CONNECTION_PROPERTIES_MUST_BE_SPECIFIED=CDIST1367E Se deben especificar las propiedades de conexi\u00f3n de Kafka. 15 | KEY_AND_MESSAGE_MUST_HAVE_COMPATIBLE_TYPES=CDIST1368E Los atributos key y message debe tener tipos compatibles. 16 | KEY_AND_MESSAGE_TYPE_MUST_MATCH_AND_BE_STRING_OR_BYTE=CDIST1369E El tipo de key y message debe coincidir y ser de tipo String o Byte. 17 | MISSING_PRPERTIES=CDIST1370E Propiedades que faltan: compruebe que se haya especificado el par\u00e1metro appConfig, propertiesFile o kafkaProperty. Se debe establecer como m\u00ednimo uno. 18 | MISSING_REQUIRED_BOOTSTRAP_SERVERS_PROPS=CDIST1371E Faltan propiedades bootstrap.servers necesarias. 19 | NUMBER_OF_THREADS_CANNOT_BE_LESS_THAN_ONE=CDIST1372E El n\u00famero de hebras por tema no puede ser menor que uno: {0} 20 | ONLY_ONE_TOPIC_CAN_BE_SPECIFIED_WHEN_PARTITION_PARAM_OIS_SET=CDIST1373E Par\u00e1metro de tema no v\u00e1lido: s\u00f3lo se puede especificar un tema cuando se establece el par\u00e1metro partition. 21 | PARTITION_PARAM_MUST_BE_SPECIFIED_IN_CONSISTENT_REGION=CDIST1374E El par\u00e1metro partition se debe especificar en regiones coherentes. 22 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1375E No se ha encontrado la propiedad {0} en la configuraci\u00f3n de la aplicaci\u00f3n {1}. 23 | PROPERTY_NOT_IN_KEY_VALUE_FORMAT=CDIST1376E Propiedad no v\u00e1lida: {0}, no tiene el formato clave=valor 24 | SPECIFIED_DESERIALIZER_NOT_SUPPORTED=CDIST1377E El deserializador especificado no est\u00e1 soportado por KafkaSource. 25 | TOPIC_NOT_SPECIFIED=CDIST1378E No se ha especificado el tema. Especifique los par\u00e1metros ""topicAttribute"" o ""topic"". 26 | -------------------------------------------------------------------------------- /samples/JmsWithXmlParseBytes/application/JmsWithXmlParseBytes.spl: -------------------------------------------------------------------------------- 1 | namespace application; 2 | 3 | // ******************************************************************************* 4 | // * Copyright (C)2014, International Business Machines Corporation and * 5 | // * others. All Rights Reserved. * 6 | // ******************************************************************************* 7 | 8 | use com.ibm.streamsx.messaging.jms::*; 9 | 10 | composite JmsWithXmlParseBytes { 11 | param 12 | expression $connectionDoc : getSubmissionTimeValue("connectionDoc", 13 | "./etc/connections.xml") ; 14 | expression $connection : getSubmissionTimeValue("connection", 15 | "conn") ; 16 | expression $access : getSubmissionTimeValue("access", 17 | "access_text") ; 18 | type 19 | ReferenceType = tuple ; 20 | BookInfo = tuple authors, decimal32 price, 21 | list references> ; 22 | graph 23 | 24 | // An spl.adapter::FileSource operator is configured to read in the XML from the file "catalog.xml" in 1K byte chunks and produce output 25 | // tuples each containing a 1K "blob" of XML. Other block sizes could be used if desired. 26 | stream XML = FileSource() 27 | { 28 | param 29 | file : "catalog.xml" ; 30 | format : block ; 31 | blockSize : 1024u ; 32 | } 33 | 34 | (stream XmlAsRstring) as Functor_6 = Functor(XML) 35 | { 36 | output 37 | XmlAsRstring : xmlData = convertFromBlob(XML.xmlData) ; 38 | } 39 | 40 | () as JMSSink_4 = JMSSink(XmlAsRstring as inPort0Alias) 41 | { 42 | param 43 | connectionDocument : $connectionDoc ; 44 | connection : $connection ; 45 | access : $access ; 46 | } 47 | 48 | (stream XmlFromMsgServer) as JMSSource_5 = JMSSource() 49 | { 50 | param 51 | connectionDocument : $connectionDoc ; 52 | connection : $connection ; 53 | access : $access ; 54 | } 55 | 56 | 57 | stream Book = XMLParse(XmlFromMsgServer as inPort0Alias) 58 | { 59 | param 60 | trigger : "/catalog/book" ; 61 | parsing : permissive ; 62 | output 63 | Book : title = XPath("title/text()"), authors = XPathList("author/text()"), 64 | price =(decimal32) XPath("@price"), references = XPathList("reference", { 65 | quality =(int32) XPath("@quality"), book = XPath("book/text()") }) ; 66 | } 67 | 68 | () as Nill = FileSink(Book) 69 | { 70 | param 71 | file : "actual.txt" ; 72 | format : txt ; 73 | flush : 1u ; 74 | } 75 | 76 | 77 | 78 | 79 | } 80 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaMessages_it_IT.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.kafka.KafkaMessages.properties CDIST1360 - CDIST1384 5 | # 6 | 7 | ATTRIBUTE_MESSAGE_OR_MESSAGEATTRIBUTE_REQUIRED=CDIST1360E L'attributo denominato ""message"" o descritto dal parametro ""messageAttribute"" \u00e8 obbligatorio. 8 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1361E L''attributo ""{0}"" deve essere uno tra: {1} 9 | ATTRIBUTE_NOT_AVAILABLE=CDIST1362E Attributo ""{0}"" non disponibile. 10 | ATTRIBUTE_NOT_FOUND=CDIST1363E Attributo non trovato per ""{0}"". 11 | CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1364E L''operatore {0} non pu\u00f2 essere posizionato all''inizio della regione congruente. 12 | ERROR_WHILE_ACQUIRING_PERMIT=CDIST1365E Errore durante l''acquisizione del permesso: {0} 13 | ERROR_WHILE_PROCESSING_AND_SUBMITTING_MESSAGES=CDIST1366E Errore durante l''elaborazione e inoltro dei messaggi: {0} 14 | KAFKA_CONNECTION_PROPERTIES_MUST_BE_SPECIFIED=CDIST1367E \u00c8 necessario specificare le propriet\u00e0 di connessione Kafka. 15 | KEY_AND_MESSAGE_MUST_HAVE_COMPATIBLE_TYPES=CDIST1368E Gli attributi Key e Message devono avere tipi compatibili. 16 | KEY_AND_MESSAGE_TYPE_MUST_MATCH_AND_BE_STRING_OR_BYTE=CDIST1369E Il tipo di Key e Message deve corrispondere e deve essere di tipo String o Byte. 17 | MISSING_PRPERTIES=CDIST1370E Propriet\u00e0 mancanti: controllare che il parametro appConfig, propertiesFile o kafkaProperty sia specificato. Almeno uno deve essere impostato. 18 | MISSING_REQUIRED_BOOTSTRAP_SERVERS_PROPS=CDIST1371E Propriet\u00e0 bootstrap.servers obbligatorie mancanti. 19 | NUMBER_OF_THREADS_CANNOT_BE_LESS_THAN_ONE=CDIST1372E Il numero di thread per argomento non pu\u00f2 essere minore di uno: {0} 20 | ONLY_ONE_TOPIC_CAN_BE_SPECIFIED_WHEN_PARTITION_PARAM_OIS_SET=CDIST1373E Parametro topic non valido: \u00e8 possibile specificare solo un argomento quando \u00e8 impostato il parametro partition. 21 | PARTITION_PARAM_MUST_BE_SPECIFIED_IN_CONSISTENT_REGION=CDIST1374E \u00c8 necessario specificare il parametro partition nelle regioni congruenti. 22 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1375E La propriet\u00e0 {0} non \u00e8 stata trovata nella configurazione dell''applicazione {1}. 23 | PROPERTY_NOT_IN_KEY_VALUE_FORMAT=CDIST1376E Propriet\u00e0 non valida: {0}, non \u00e8 nel formato chiave=valore 24 | SPECIFIED_DESERIALIZER_NOT_SUPPORTED=CDIST1377E Il deserializzatore specificato non \u00e8 supportato da KafkaSource. 25 | TOPIC_NOT_SPECIFIED=CDIST1378E L'argomento non \u00e8 stato specificato. Specificare i parametri ""topicAttribute"" o ""topic"". 26 | -------------------------------------------------------------------------------- /samples/MqttSample/application/MqttSample.spl: -------------------------------------------------------------------------------- 1 | // ******************************************************************************* 2 | // * Copyright (C)2014, International Business Machines Corporation and * 3 | // * others. All Rights Reserved. * 4 | // ******************************************************************************* 5 | namespace application ; 6 | 7 | use com.ibm.streamsx.messaging.mqtt::*; 8 | 9 | /** This sample demonstrates how to use the MQTTSource and MQTTSink operator. 10 | * 11 | * This sample uses a Beacon to generate tuple of type PersonSchema. The tuples are 12 | * converted to blob in csv format. The blob is then sent to a MQTT provider as messages 13 | * using a MQTTSink operator. 14 | * 15 | * This sample also has a MQTTSource operator that subscribes to messages being sent by the 16 | * MQTTSink operator. The messages are received as blob and parsed and csv format. The messages 17 | * are then written to a file. 18 | * 19 | * Submission Parameter: 20 | * serverUri - the uri to the MQTT provider for publishing and subscribing messages. 21 | */ 22 | composite MqttSample 23 | { 24 | param 25 | expression $serverUri : getSubmissionTimeValue("serverUri") ; 26 | type 27 | PersonSchema = int32 id, rstring fname, rstring lname, int32 age, 28 | rstring gender, float32 score, float64 total ; 29 | graph 30 | stream InputData = Beacon() 31 | { 32 | param 33 | initDelay : 5.0 ; 34 | iterations : 100000u ; 35 | output 36 | InputData : id =(int32) IterationCount(), fname = "Cristiana", lname = 37 | "Chitic", age = 30, gender = "F", score =(float32) 93.2, total = 664.4 ; 38 | } 39 | 40 | /* 41 | * Convert input data to blob in csv format. 42 | */ 43 | (stream CsvMsg) as FormatMsg = Format(InputData) 44 | { 45 | param 46 | format : csv ; 47 | output 48 | CsvMsg : data = Output() ; 49 | } 50 | 51 | () as MQTTSink_6 = MQTTSink(CsvMsg as inPort0Alias) 52 | { 53 | param 54 | serverURI : $serverUri ; 55 | topic : "Person" ; 56 | } 57 | 58 | stream MyMessageStream = MQTTSource() 59 | { 60 | param 61 | serverURI : $serverUri ; 62 | topics : "Person", "Person2" ; 63 | } 64 | 65 | /* 66 | * Parse the csv format blob message data to csv data. 67 | */ 68 | stream ParsedMsg = Parse(MyMessageStream) 69 | { 70 | param 71 | format : csv ; 72 | } 73 | 74 | /* 75 | * Write the csv data to the data file 76 | */ 77 | () as MyMessageSink = FileSink(ParsedMsg) 78 | { 79 | param 80 | file : "mqttmsg.csv" ; 81 | format : csv ; 82 | flush : 1u ; 83 | } 84 | 85 | } 86 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/pom-kafka-0.9.xml: -------------------------------------------------------------------------------- 1 | 3 | 5 | 4.0.0 6 | com.ibm.streamsx.messaging 7 | streamsx.messaging 8 | jar 9 | 5.4.2 10 | com.ibm.streamsx.messaging 11 | 12 | 13 | apache.snapshots 14 | http://repository.apache.org/content/repositories/snapshots/ 15 | 16 | 17 | apache.releases 18 | https://repository.apache.org/content/repositories/releases/ 19 | 20 | 21 | Eclipse Paho Repo releases 22 | https://repo.eclipse.org/content/repositories/paho-releases 23 | 24 | 25 | 26 | 27 | 28 | 29 | org.apache.kafka 30 | kafka_2.11 31 | 0.9.0.1 32 | 33 | 34 | org.apache.zookeeper 35 | zookeeper 36 | 37 | 38 | log4j 39 | log4j 40 | 41 | 42 | 43 | 44 | org.apache.activemq 45 | activemq-client 46 | 5.14.1 47 | 48 | 49 | com.rabbitmq 50 | amqp-client 51 | 3.6.2 52 | 53 | 54 | org.eclipse.paho 55 | org.eclipse.paho.client.mqttv3 56 | 1.2.1 57 | 58 | 59 | 60 | . 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/MqttClientRequest.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | package com.ibm.streamsx.messaging.mqtt; 6 | 7 | import java.util.HashMap; 8 | 9 | 10 | 11 | /** 12 | * Represent a client request 13 | * 14 | */ 15 | public class MqttClientRequest { 16 | 17 | private static final String MQTTSRC_TOPIC_REPLACE = "REPLACE"; //$NON-NLS-1$ 18 | private static final String MQTTSRC_TOPIC_UPDATE = "UPDATE"; //$NON-NLS-1$ 19 | private static final String MQTTSRC_TOPIC_REMOVE = "REMOVE"; //$NON-NLS-1$ 20 | private static final String MQTTSRC_TOPIC_ADD = "ADD"; //$NON-NLS-1$ 21 | 22 | public enum MqttClientRequestType {CONNECT, ADD_TOPICS, REMOVE_TOPICS, UPDATE_TOPICS, REPLACE_TOPICS}; 23 | 24 | // mapping between SPL topic description action to MQTT client request 25 | private static HashMap SPL_TO_REQTYPE_MAP = new HashMap(); 26 | 27 | static { 28 | SPL_TO_REQTYPE_MAP.put(MqttClientRequest.MQTTSRC_TOPIC_ADD, MqttClientRequestType.ADD_TOPICS); 29 | SPL_TO_REQTYPE_MAP.put(MqttClientRequest.MQTTSRC_TOPIC_REMOVE, MqttClientRequestType.REMOVE_TOPICS); 30 | SPL_TO_REQTYPE_MAP.put(MqttClientRequest.MQTTSRC_TOPIC_UPDATE, MqttClientRequestType.UPDATE_TOPICS); 31 | SPL_TO_REQTYPE_MAP.put(MqttClientRequest.MQTTSRC_TOPIC_REPLACE, MqttClientRequestType.REPLACE_TOPICS); 32 | } 33 | 34 | private MqttClientRequestType reqType; 35 | private String serverUri; 36 | private String[] topics; 37 | private int qos; 38 | 39 | 40 | public MqttClientRequestType getReqType() { 41 | return reqType; 42 | } 43 | public MqttClientRequest setReqType(MqttClientRequestType reqType) { 44 | this.reqType = reqType; 45 | return this; 46 | } 47 | public String getServerUri() { 48 | return serverUri; 49 | } 50 | public MqttClientRequest setServerUri(String serverUri) { 51 | this.serverUri = serverUri; 52 | return this; 53 | } 54 | public String[] getTopics() { 55 | return topics; 56 | } 57 | public MqttClientRequest setTopics(String[] topics) { 58 | this.topics = topics; 59 | return this; 60 | } 61 | public int getQos() { 62 | return qos; 63 | } 64 | public MqttClientRequest setQos(int qos) { 65 | this.qos = qos; 66 | return this; 67 | } 68 | 69 | public static MqttClientRequestType getRequestType(String splUpdateCode) 70 | { 71 | return SPL_TO_REQTYPE_MAP.get(splUpdateCode); 72 | } 73 | 74 | } 75 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/kafka/KafkaMessages_pt_BR.properties: -------------------------------------------------------------------------------- 1 | # NLS_MESSAGEFORMAT_VAR 2 | # NLS_ENCODING=UNICODE 3 | # 4 | # com.ibm.streamsx.messaging.kafka.KafkaMessages.properties CDIST1360 - CDIST1384 5 | # 6 | 7 | ATTRIBUTE_MESSAGE_OR_MESSAGEATTRIBUTE_REQUIRED=CDIST1360E O atributo chamado ""message"" ou descrito pelo par\u00e2metro ""messageAttribute"" \u00e9 OBRIGAT\u00d3RIO. 8 | ATTRIBUTE_MUST_BE_ONE_OF=CDIST1361E O atributo ""{0}"" deve ser um de: {1} 9 | ATTRIBUTE_NOT_AVAILABLE=CDIST1362E Atributo ""{0}"" n\u00e3o dispon\u00edvel. 10 | ATTRIBUTE_NOT_FOUND=CDIST1363E Atributo n\u00e3o localizado para ""{0}"". 11 | CANNOT_BE_START_OF_CONSISTENT_REGION=CDIST1364E O operador {0} n\u00e3o pode ser colocado no in\u00edcio da regi\u00e3o consistente. 12 | ERROR_WHILE_ACQUIRING_PERMIT=CDIST1365E Erro ao adquirir permiss\u00e3o: {0} 13 | ERROR_WHILE_PROCESSING_AND_SUBMITTING_MESSAGES=CDIST1366E Erro ao processar e enviar mensagens: {0} 14 | KAFKA_CONNECTION_PROPERTIES_MUST_BE_SPECIFIED=CDIST1367E As propriedades da conex\u00e3o Kafka devem ser especificadas. 15 | KEY_AND_MESSAGE_MUST_HAVE_COMPATIBLE_TYPES=CDIST1368E Os atributos Key e Message devem ter tipos compat\u00edveis. 16 | KEY_AND_MESSAGE_TYPE_MUST_MATCH_AND_BE_STRING_OR_BYTE=CDIST1369E Os tipos Key e Message devem corresponder e ser do tipo String ou Byte. 17 | MISSING_PRPERTIES=CDIST1370E Propriedades ausentes: Verifique se o par\u00e2metro appConfig, propertiesFile ou kafkaProperty foi especificado. Pelo menos um deve ser configurado. 18 | MISSING_REQUIRED_BOOTSTRAP_SERVERS_PROPS=CDIST1371E Propriedades bootstrap.servers necess\u00e1rias ausentes. 19 | NUMBER_OF_THREADS_CANNOT_BE_LESS_THAN_ONE=CDIST1372E O n\u00famero de encadeamentos por t\u00f3pico n\u00e3o pode ser menor que um: {0} 20 | ONLY_ONE_TOPIC_CAN_BE_SPECIFIED_WHEN_PARTITION_PARAM_OIS_SET=CDIST1373E Par\u00e2metro de t\u00f3pico inv\u00e1lido: Somente um t\u00f3pico pode ser especificado quando o par\u00e2metro de parti\u00e7\u00e3o for configurado. 21 | PARTITION_PARAM_MUST_BE_SPECIFIED_IN_CONSISTENT_REGION=CDIST1374E O par\u00e2metro de parti\u00e7\u00e3o deve ser especificado em regi\u00f5es consistentes. 22 | PROPERTY_NOT_FOUND_IN_APP_CONFIG=CDIST1375E A propriedade {0} n\u00e3o foi localizada na configura\u00e7\u00e3o de aplicativo {1}. 23 | PROPERTY_NOT_IN_KEY_VALUE_FORMAT=CDIST1376E Propriedade inv\u00e1lida: {0}, n\u00e3o est\u00e1 no formato key=value 24 | SPECIFIED_DESERIALIZER_NOT_SUPPORTED=CDIST1377E O desserializador especificado n\u00e3o \u00e9 suportado pelo KafkaSource. 25 | TOPIC_NOT_SPECIFIED=CDIST1378E O t\u00f3pico n\u00e3o foi especificado. Especifique os par\u00e2metros ""topicAttribute"" ou ""topic"". 26 | -------------------------------------------------------------------------------- /com.ibm.streamsx.messaging/impl/java/src/com/ibm/streamsx/messaging/mqtt/ConnectionSpecification.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright (C) 2014, International Business Machines Corporation 3 | * All Rights Reserved 4 | *******************************************************************************/ 5 | 6 | package com.ibm.streamsx.messaging.mqtt; 7 | 8 | public class ConnectionSpecification { 9 | private String serverUri; 10 | private String trustStore; 11 | private String trustStorePassword; 12 | private String keyStore; 13 | private String keyStorePassword; 14 | private String userID; 15 | private String password; 16 | private int keepAliveInterval; 17 | private long commandTimeout; 18 | 19 | public String getServerUri() { 20 | return serverUri; 21 | } 22 | public ConnectionSpecification setServerUri(String serverUri) { 23 | this.serverUri = serverUri; 24 | return this; 25 | } 26 | public String getTrustStore() { 27 | return trustStore; 28 | } 29 | public ConnectionSpecification setTrustStore(String trustStore) { 30 | this.trustStore = trustStore; 31 | return this; 32 | } 33 | public String getKeyStore() { 34 | return keyStore; 35 | } 36 | public ConnectionSpecification setKeyStore(String keyStore) { 37 | this.keyStore = keyStore; 38 | return this; 39 | } 40 | public String getKeyStorePassword() { 41 | return keyStorePassword; 42 | } 43 | public ConnectionSpecification setKeyStorePassword(String keyStorePassword) { 44 | this.keyStorePassword = keyStorePassword; 45 | return this; 46 | } 47 | 48 | public ConnectionSpecification setTrustStorePassword(String trustStorePassword) { 49 | this.trustStorePassword = trustStorePassword; 50 | return this; 51 | } 52 | 53 | public String getTrustStorePassword() { 54 | return trustStorePassword; 55 | } 56 | 57 | public ConnectionSpecification setUserID(String userID) { 58 | this.userID = userID; 59 | return this; 60 | } 61 | 62 | public String getUserID() { 63 | return userID; 64 | } 65 | 66 | public ConnectionSpecification setPassword(String password) { 67 | this.password = password; 68 | return this; 69 | } 70 | 71 | public String getPassword() { 72 | return password; 73 | } 74 | 75 | public ConnectionSpecification setKeepAliveInterval(int keepAliveInterval) { 76 | this.keepAliveInterval = keepAliveInterval; 77 | return this; 78 | } 79 | 80 | public int getKeepAliveInterval() { 81 | return keepAliveInterval; 82 | } 83 | 84 | public ConnectionSpecification setCommandTimeout(long commandTimeout) { 85 | this.commandTimeout = commandTimeout; 86 | return this; 87 | } 88 | 89 | public long getCommandTimeout() { 90 | return commandTimeout; 91 | } 92 | 93 | } --------------------------------------------------------------------------------