// read permission required on the destination
Destination dest = (Destination)mi.getArguments()[0];
SessionAdvised del = (SessionAdvised)invocation.getTargetObject();
ServerSessionEndpoint sess = (ServerSessionEndpoint)del.getEndpoint();
check(dest, CheckType.READ, sess.getConnectionEndpoint());
// if creating a durable subscription then need create permission
String subscriptionName = (String)mi.getArguments()[3];
if (subscriptionName != null)
{
// durable
check(dest, CheckType.CREATE, sess.getConnectionEndpoint());
}
return invocation.invokeNext();
}