URN используется для построения ScheduledTaskHandler
снова, если вам понадобится будущий экземпляр позже. Смотрите пример ниже:
HazelcastInstance hazelcast = Hazelcast.newHazelcastInstance();
IScheduledExecutorService executorService = hazelcast.getScheduledExecutorService("myScheduler");
IScheduledFuture<Integer> future = executorService.schedule(
new ScheduledClusterTask(), 10, TimeUnit.SECONDS);
String urn = future.getHandler().toUrn();
ScheduledTaskHandler handler = ScheduledTaskHandler.of(urn);
IScheduledFuture<Integer> scheduledFuture = executorService.getScheduledFuture(handler);
urn
может быть сгенерировано после отправки задачи и может быть сохранено / сохранено для доступа к будущему экземпляру позже.
Если вы задаете URN для экземпляра задачи после отправки задачи, вы не сможете получить его, когда задача выполняется от другого члена кластера. Потому что задача сериализуется и отправляется в кластер во время отправки, а изменения после отправки не отражаются в отправленной задаче.