Hi @PGriffith,
I think I’ve found the source of my issue.
Tags in [default]:

TEST1 with alarm : Alarme1
TEST1 with alarm : Alarme2
I added the listener using the following path:
(Gateway is restarted before running each test)
QualifiedPath qualifiedPath = QualifiedPath.parseSafe("prov:default:/tag:TEST_NOTIF");
gatewayContext.getAlarmManager().addListener(qualifiedPath , myAlarmListenerBlock)
The events for both alarms are provided to my listener.
But after a gateway module shutdown with the following code, all alarms acknowledge failed.
gatewayContext.getAlarmManager().removeListener(qualifiedPath , myAlarmListenerBlock)
QualifiedPath qualifiedPath = QualifiedPath.parseSafe("prov:default:/tag:TEST_NOTIF/TEST1:/alm:Alarme1");
gatewayContext.getAlarmManager().addListener(qualifiedPath , myAlarmListenerBlock)
The events for Alarme1 are provided to my listener.
After a gateway module shutdown with the following code, all alarms can be acknowledge without error.
gatewayContext.getAlarmManager().removeListener(qualifiedPath , myAlarmListenerBlock)
QualifiedPath qualifiedPath = new QualifiedPath.Builder().build();
gatewayContext.getAlarmManager().addListener(qualifiedPath , myAlarmListenerBlock)
The events for both alarms are provided to my listener.
After a gateway module shutdown with the following code, all alarms can be acknowledge without error.
gatewayContext.getAlarmManager().removeListener(qualifiedPath , myAlarmListenerBlock)
I conclude that I must doing something wrong or unsupported in case 1.
So, what is the way to listen for all tag’s alarms below a folder ?
Is there any wildcard (*) or some parts are mandatory in alarms Qualified Path ?