Standalone Websphere MQ http-bridge with zero configuration.
The official implementation of the IBM requires an applicationserver and JMS settings for the application.Here everything is simpler, it's enough just to start theservice and send a request with a header containinginformation about the queue, the service itself will tryto connect and cache this connection with the queue.It is also possible to read messages by cursor without deletingmessages.
You need to write a wmq-params header with the parametersof the queue manager and the queue.
- Receive a message or wait while it appears:
curl -X GET -H'wmq-params: {"type":"rm","host":"127.0.0.1","port":1414,"channel":"CH1","queue":"q1","manager":"QM1","message":{"wait":true}}' http://localhost:3000/wmq
curl -X POST -d'message test' -H'wmq-params: {"type":"wr","host":"127.0.0.1","port":1414,"channel":"CH1","queue":"q1","manager":"QM1","message":{"wait":true}}' http://localhost:3000/wmq
- Read messages by cursor, without removal. You will need to seta unique id for your reading session, in the "cursor":
curl -X GET -H'wmq-params: {"type":"rd","host":"127.0.0.1","port":1414,"channel":"CH1","queue":"q1","manager":"QM1", "message":{"wait":true, "cursor":"a6aa55bb"}}' http://localhost:3000/wmq
The application uses IBM proprietary libraries for work, I cannot upload them here. So you need to put them in the folderlibs/ibm. List of necessary jars:
- com.ibm.mq.commonservices.jar
- com.ibm.mq.headers.jar
- com.ibm.mq.jar
- com.ibm.mq.jmqi.jar
- connector.jar
Then just run the "gradle build" and execute jar with port number:
java -jar wmqhttp.jar 8080