Changing a ListenerNotification in a service / on startup

Good afternoon all,

I’m currently trying to modify an listener notification dynamically on server startup. In essence, I’m trying to add a different GroupID to the MQMD Header based on which server the package is deployed to. For this, I would like to utilize the Service ‘WmART.wm.art.dev.notification:updateListenerNotificationNode’, but I cannot find any documentation on the service.

The closest thing I could find was this thread from a couple of years ago but that is unfortunately locked. Does anyone have experience with this and could point me in the right direction?

The Product Version of the IntegrationServer we are using is 10.0 and the listener has the type ‘WebSphere MQ Single-Queue Listener Service’. If any further clarification is required I will gladly provide it.

Best regards and many thanks in advance.

Question - Why do you want to do this?

Problem - updateListenerNotificationNode is an internal service that is not meant to be used for custom solutions, which is why there’s no documentation on it. They don’t display any defined inputs or outputs as well, for this reason.

Usable built-in services start with the pub prefix in their namespace (for example, pub.art.listener:suspendListener).

Caveat - I don’t recommend updating a Listener Notification (or any other asset through internal services) in this way, as it could lead to unpredictable issues and it is not officially supported. You are on your own.

Steps - If you know what you are doing and understand the risk, then on to the how -

  1. Execute the updateListenerNotificationNode just like that
  2. It will throw an exception and indicate which input(s) is/are missing
  3. You will have to explicitly add those input in the mapping panel and map the data to it
  4. Repeat steps 2 and 3 until all inputs are identified and explicitly added + mapped

Alternative to the above steps - Explore the adapter’s DSP/HTML page present inside WmMQAdapter package, from the backend to figure out the inputs to the above service. Then you do step 3 for all those inputs. You cannot see the service invocation directive in the code, if you open the HTML on a browser, so use Notepad++.

There’s another (simpler) way with ACLs, but I won’t explain that - strictly forbidden :slight_smile:

Execution at Startup - You then add your custom service to the “Startup services” list on the package where the Listener Notification resides. The service is then executed automatically at server startup or whenever the package is reloaded.

KM

2 Likes

I haven’t looked at all but perhaps Deployer can help with this “environment-dependent” value in some way?

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.