MobileFirst 8 JMS Adapter - jms

I want to upgrade the version of MobileFirst from WL v6.2 to MFP v8. The actual implementation uses a JMS Adapter for reading messages from a IBM MQ Queue to send push notification. MFP v8 no longer offers this kind of adapter and I would like to know what is the best way to read message from a Queue with the newest version.
Thanks,
Stefano

Because JMS support is currently not supported, your best bet IMO would be to create your own JMS client in a Java adapter and handle it on your own there...
http://docs.oracle.com/javaee/5/tutorial/doc/bncfa.html

Related

Websphere MQ Server-To-Server-Connection with Apache ActiveMQ possible?

Does Apache Active MQ provide Server-To-Server-Connection as IBM Websphere MQ does?
Background:
We currently have Websphere MQ 7.0.1 (CUST) installed to communicate with another remote Websphere MQ Server (GOV), which is not under our control.
The MQs hold a Server-To-Server-Connection via VPN-tunnel. We would like to replace our Websphere MQ with Apache ActiveMQ.
We have one QM-Manager with 4 queues and 3 channels.
Queues:
OUT (type remote): for sending messages to GOV
QOUT (local type transmission) that is used for OUT
IMP (local): used for receiving from GOV
DLQ: (local): dead letter queue
Channels:
conch: server connection
CUST_GOV: sender
GOV_CUST: receiver
I read a lot about bridging ActiveMQ to Websphere MQ (Client API, Resource Adapter, OSGi) with Camel.
Looks pretty easy with a Camel route, but this is at least a Client-Server setup.
E. G. https://www.shaishavparekh.com/2016/01/wmq-to-amq-bridge/
I need something that hides away the IBM proprietary channel stuff.
Now I found this entry: https://serverfault.com/questions/366743/apache-activemq-server-to-server-connection
As this is from 2012 I would like to ask, if anyone successful switched from Websphere MQ to ActiveMQ resp. is it still true that I can only use Client-Server?
ActiveMQ does not support a server-to-server connection to WebsphereMQ. As you mentioned, Camel would probably be the simplest way to get a connection between the two brokers.
To be clear, even if ActiveMQ did implement a bridge with WebsphereMQ it would almost certainly use the WebsphereMQ client so would fundamentally still be a client-server implementation. It's not really clear from your question why you want to avoid this.

Client jar file version for IBM MQ7 and MQ8

Our product will support IBM MQ7 and MQ8 based on client requirement. Now, we like to know latest client jar version that we may use for our application?
We would like to use JMS 1.1 specification. I have found following link for MQ 7.5 JAR-
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q120070_.htm
Is it sufficient if we use above mentioned client jar to connect MQ 7 and MQ 8 server?
Application will use JRE 1.7 and WAS liberty 8.5.5.9.
If you are using WebSphere Liberty as your application server, then you will need to the MQ JCA Resource Adapter (MQ-RA) to make use of MQ JMS messaging. Liberty (unlike traditional WebSphere Application Server) does not ship a copy of the MQ-RA, but you can download and install one pretty easily and then link to it from within the Liberty server's server.xml configuration file. Here's a link to explain how to do this:
http://www-01.ibm.com/support/docview.wss?uid=swg21633761
Now, Liberty can use a copy of the WebSphere MQ V7.5.0.5 (or later) Resource Adapter, which only supports the JMS 1.1 API, and the Liberty feature you will want to enable with that version is "wmqJmsClient-1.1".
However, I would suggest you consider the latest version of the IBM MQ-RA (at the time of writing this is V9.0.0.0). The MQ V8.0.0.3 and V9 RAs support both the JMS 1.1 "classic" API as well as the newer 2.0 "simplified" API. Therefore you can use the newer MQ-RA levels but your JMS 1.1 application will still work perfectly fine. If using a V8 or V9 IBM MQ-RA, then the Liberty feature to enable to is "wmqJmsClient-2.0".
The V7.5, V8 and V9 MQ Resource Adapters can connect to any MQ queue manager version; the major or maintenance versions between the JMS client and the MQ server do not need to match.
For reference, here are a couple of links I recommend reading over as well:
http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q031610_.htm
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/twlp_dep_msg_wmq.html
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_restrict.html
I hope this helps!

Is SAP Pi messaging service JMS compliant?

I am trying to find out if the built-in SAP PI messaging service JMS compliant or not?
Could not find it in the public documentation.
PI JMS Adapter (Version 7.4 AEX) is compatible with JMS 1.02b and 1.1 http://help.sap.de/saphelp_nw74/helpdata/en/cd/d85a9d6fab7d4dbb7ae421f710626c/content.htm
Edit:
I figured, SAP did change it's help links again (happens about half a year sigh)
Here's the original link thanks to wayback machine and the excerpt:
Configuring the JMS Adapter
The JMS adapter (Java Message Service) enables you to connect messaging systems to the Integration Engine.
The adapter supports the JMS specifications 1.02b and 1.1.
Here's the current (as of May 2020) link
Configuring the JMS Adapter
Cheers
Jens

Scheduled delivery of messages in IBM MQ

I am using IBM MQ & active mq in my application using Spring jms. I have a requirement to schedule a message for redelivery after x seconds.
I am able to achieve it in Active mq by setting the AMQ_SCHEDULED_DELAY header. This makes the message to get delivered to the queue after a specified number of seconds.
Is there anything similar in IBM MQ that I can use to achieve the above mentioned functionality ?
Any help is appreciated.
Well JMS 1.1 specification does not mention anything about delayed delivery of a message. Hence you don't have that feature in WMQ. Just released JMS 2.0 specification describes this feature.
yeah, WMQ isn't the best JMS impl for that sort of thing. Take a look at apache camel. It can provide this sort of delayed message routing.

Message Driven Bean (MDB) running on Websphere Application Server, leaves channel connections open

Hi
I have two Message Driven Beans (MDBs) running on Websphere Application Server v7.
It is connecting to, and receiving messages from Websphere MQ v6.
On the Queue Manager, we notice that the number of open channel connections keeps on growing, and appears as though the MDBs are not releasing these connections.
I am not aware of any errors happening in the onMessage method of the MDBs which could cause it to not exit cleanly.
Any advise on what could be causing this would be greatly appreciated
Thanks
Gavin
There is a known issue with WAS v7 connecting to WMQ V6 where MDBs do not reconnect. The APAR mentions failures after a WMQ outage but other types of failure can result in similar behavior.
In general, the advice is to move to WMQ v7 since WMQ V6 is out of service as of September 2011. The fix was released in v7.0.1.1 and later. No v6 fix pack is listed for delivery of this APAR, although it doesn't mention why. So if you cannot upgrade to v7.0.1.1 or later, then obtain via a PMR and apply IC64098 and see if that solves the problem.
References:
PSP #1316899: Information about using the WebSphere MQ messaging provider for WebSphere Application Server Version 7.0
IBM IC64098: APPLICATION DOES NOT AUTOMATICALLY RECONNECT TO THE QUEUE MANAGER IF CONNECTION IS LOST WHEN USING THE MQ RESOURCE ADAPTER
You need to upgrade WMQ v7.0.1.1 or later version since this is a known issue with WAS v7 connecting to WMQ V6.

Resources