MFP 7.1 - Send Bulk Messages (POST) - ibm-mobilefirst

The send Bulk message API does it have any kind of Message queue? If messages are send by greater numbers like 10k to 50k in a batch how does this service handle it.

The bulk message API in MobileFirst Platform Foundation 7.1 does not maintain a queue. It processes the messages and delivers them sequentially to relevant vendor (APNS/GCM/MPNS/...).

Related

clear messages from rabbitMQ queue in mule 3

My requirement is to clear all the messages from queue before processing the flow or publishing anything in the queue.
We are using rabbitMQ and due to some reason messages are stucked in the queue and because of that we are facing some issue when we are counting the queue based on the messages. so for the next time before processing we have to clear the queue.
Here we have multiple queue like slave1, slave2,slave3 and when api will be triggered in the process section we have to clear the queue.
Kindly suggest how we can do this in mule3.
Mule 3 has a generic AMQP connector. It does not support administrative commands from a specific implementation like RabbitMQ, so you can't use the connector.
You could use RabbitMQ REST API and call it using the HTTP Request connector. See this previous answer to see how to delete queues with Curl, then implement the same request with HTTP Request: https://stackoverflow.com/a/29148299/721855

Micro integrator - RabbitMQ workflow

I'm looking into integration of WSO2 MI and RabbitMQ, the goal is to create a system with the following steps:
1. MI receive request from a client and send the message to RabbitMQ
2. RabbitMQ put message in the queue and it's taken by the subscriber client for processing.
3. Message with response from the processing service placed into response RabbitMQ queue.
4. MI receive message from that response queue and send reply to the client.
There is following documentation in wso2 official manuals:
https://ei.docs.wso2.com/en/latest/micro-integrator/setup/brokers/configure-with-rabbitMQ/
https://ei.docs.wso2.com/en/latest/micro-integrator/use-cases/examples/jms_examples/rabbitmq-examples/
I assume that's what I need, but it's not clear how exactly these should be executed.
Let's say I've configured a connection to RabbitMQ in MI.
How exactly do I use these synapse configurations mentioned in the docs to be able to send messages to rabbit based on the client request or reply to a client based on messages from rabbit?
There are multiple patterns for synchronous/asynchronous messaging with RabbitMQ in WSO2 Enterprise Integrator. Please have a look at these examples.
Point to Point
Publisher/Subscriber
Guaranteed Delivery
Request/Response - Dual Channel
Furthermore, you can find a tutorial for the asynchronous messaging from here!

Can a MQTT Subscriber be able to take concurrently multiple messages of the Same Topic?

I am trying to create a Subscriber in my Spring Boot Application. My objective is that the publisher will send multiple messages to a topic and I have to get those message and process them .I noticed that the "handleMessage" of both Paho and Apache ActiveMq will process 1 message at a time. Is it possible to make it concurrent??
I have tried the following
Replaced Paho with ActiveMq
Provided concurrency in my listenercontainer
Provided prefetch in my subscribe URL
Please let me know if there is any way to make my MQTT subscriber to take multiple messages concurrently.
Thank You
If you supply your own thread pool you can have the handleMessage method pass the incoming message off to the threadpool to process and then pass the next message off to the pool.

Testing with spring xd and rabbit transport

I am writing some automation ruby scripts to test the streams and messages in queue.
My stream looks like
source| processor| processor| sink
Spring xd creates 3 internal queues.Now i have written ruby consumer to hook to these internal queues to test messages after every module(source/sink/processor).I see that when I post 100 message to my source Some message are getting lost in my ruby client consumer because they are flowing in stream .I think the message are going to the next module ie processor .Is there any way i can get all the message in my ruby client and test them and then I can make those message flow through the stream.Is there a way such that multiple consumers can receive same message.?
If you are registering other consumers on the bus queues, they will compete with the modules for messages.
I suppose that you are looking for a tap: http://docs.spring.io/spring-xd/docs/current/reference/html/#_taps
Hope this helps,
Marius

How to handle RabbitMQ with mobile apps

I am looking to implement rabbitmq on google compute engine to handle messages on my android and ios messaging app. I have heard that rabbitmq can be quite power hungry, so i am wondering what the best solution to combat this is?
Do i use a different protocol like MQTT or so i use something like GCM to handle the connection to and from the apps and let rabbitmq just handle queuing the messages?
You would never want make a direct connection from mobile device to your RabbitMQ server, especially if the app on the device is a consumer. RabbitMQ consumers have to poll RabbitMQ continuously to check if there are messages pending for them. You would want a web-server to handle actual HTTP POST/GET of messages from devices. The webserver will do two things:
Save the message to DB (along with the source and intended destination info)
queue APN/GCM push messages to a RabbitMQ (the broker here) exchange
you will need to build a daemon to monitor RabbitMQ for these push messages that have been queued. The daemon's sole task would be to connect or maintain a connection to Apple's or Google's push messaging services and notify your apps that they have a message pending. If a device is notified of a pending message, it contacts the webserver to consume the message