@Override public void readData(ObjectDataInput in) throws IOException { ScheduledTaskHandler handler = of(in.readUTF()); this.address = handler.getAddress(); this.partitionId = handler.getPartitionId(); this.schedulerName = handler.getSchedulerName(); this.taskName = handler.getTaskName(); }
private void checkAccessibleOwner() { if (handler.isAssignedToPartition()) { if (partitionLost.get()) { throw new IllegalStateException("Partition " + handler.getPartitionId() + ", holding this scheduled task" + " was lost along with all backups."); } } else { if (memberLost.get()) { throw new IllegalStateException("Member with address: " + handler.getAddress() + ", holding this scheduled task" + " is not part of this cluster."); } } }
public GetResultOperation(ScheduledTaskHandler handler) { super(handler.getSchedulerName()); this.taskName = handler.getTaskName(); this.handler = handler; }
public IsCanceledOperation(ScheduledTaskHandler descriptor) { super(descriptor.getSchedulerName()); this.taskName = descriptor.getTaskName(); setPartitionId(descriptor.getPartitionId()); }
public static int calculateDataSize(ScheduledTaskHandler scheduledTaskHandler) { int dataSize = ParameterUtil.calculateDataSize(scheduledTaskHandler.getSchedulerName()); dataSize += ParameterUtil.calculateDataSize(scheduledTaskHandler.getTaskName()); // is to address field dataSize += Bits.BOOLEAN_SIZE_IN_BYTES; Address address = scheduledTaskHandler.getAddress(); if (address != null) { dataSize += AddressCodec.calculateDataSize(address); } else { dataSize += Bits.INT_SIZE_IN_BYTES; } return dataSize; } }
void notifyPartitionLost(PartitionLostEvent event) { ScheduledTaskHandler handler = this.handler; if (handler == null) { // Already disposed future return; } int durability = instance.getConfig().getScheduledExecutorConfig(handler.getSchedulerName()).getDurability(); if (handler.isAssignedToPartition() && handler.getPartitionId() == event.getPartitionId() && event.getLostBackupCount() >= durability) { this.partitionLost.set(true); } }
private void cancelScheduledTasks(NamedTask namedTask) { Map<Member, List<IScheduledFuture<Object>>> allScheduledFutures = scheduledExecutorService.getAllScheduledFutures(); allScheduledFutures.values().forEach( iScheduledFutures -> iScheduledFutures.forEach(objectIScheduledFuture -> { ScheduledTaskHandler handler = objectIScheduledFuture.getHandler(); if (handler.getTaskName().equals(namedTask.getName())) { log.info("Cancelling Task:" + objectIScheduledFuture.getHandler().getTaskName()); IScheduledFuture<Object> scheduledFuture = scheduledExecutorService.getScheduledFuture(objectIScheduledFuture.getHandler()); boolean cancel = scheduledFuture.cancel(false); log.info("Cancelled Task:" + cancel); scheduledFuture.dispose(); } } ) ); }
void notifyMemberLost(MembershipEvent event) { ScheduledTaskHandler handler = this.handler; if (handler == null) { // Already disposed future return; } if (handler.isAssignedToMember() && handler.getAddress().equals(event.getMember().getAddress())) { this.memberLost.set(true); } }
public ResultReadyNotifyOperation(ScheduledTaskHandler handler) { super(handler.getSchedulerName()); this.handler = handler; }
@Override protected void writeInternal(ObjectDataOutput out) throws IOException { super.writeInternal(out); out.writeUTF(handler.toUrn()); }
@Override protected void readInternal(ObjectDataInput in) throws IOException { super.readInternal(in); this.handler = ScheduledTaskHandler.of(in.readUTF()); } }
public CancelTaskOperation(ScheduledTaskHandler descriptor, boolean mayInterruptIfRunning) { super(descriptor.getSchedulerName()); this.taskName = descriptor.getTaskName(); this.mayInterruptIfRunning = mayInterruptIfRunning; setPartitionId(descriptor.getPartitionId()); }
public static int calculateDataSize(ScheduledTaskHandler scheduledTaskHandler) { int dataSize = ParameterUtil.calculateDataSize(scheduledTaskHandler.getSchedulerName()); dataSize += ParameterUtil.calculateDataSize(scheduledTaskHandler.getTaskName()); // is to address field dataSize += Bits.BOOLEAN_SIZE_IN_BYTES; Address address = scheduledTaskHandler.getAddress(); if (address != null) { dataSize += AddressCodec.calculateDataSize(address); } else { dataSize += Bits.INT_SIZE_IN_BYTES; } return dataSize; } }
public GetResultOperation(ScheduledTaskHandler handler) { super(handler.getSchedulerName()); this.taskName = handler.getTaskName(); this.handler = handler; }
void notifyPartitionLost(PartitionLostEvent event) { ScheduledTaskHandler handler = this.handler; if (handler == null) { // Already disposed future return; } int durability = instance.getConfig().getScheduledExecutorConfig(handler.getSchedulerName()).getDurability(); if (handler.isAssignedToPartition() && handler.getPartitionId() == event.getPartitionId() && event.getLostBackupCount() >= durability) { this.partitionLost.set(true); } }
public static void main(String[] args) throws Exception { HazelcastInstance instance = Hazelcast.newHazelcastInstance(); IScheduledExecutorService scheduler = instance.getScheduledExecutorService("scheduler"); IScheduledFuture<String> future = scheduler.schedule(named("MyTask", new EchoTask("foobar")), 5, TimeUnit.SECONDS); Object result = future.get(); System.out.println(future.getHandler().getTaskName() + " result: " + result); future.dispose(); Hazelcast.shutdownAll(); } }
void notifyMemberLost(MembershipEvent event) { ScheduledTaskHandler handler = this.handler; if (handler == null) { // Already disposed future return; } if (handler.isAssignedToMember() && handler.getAddress().equals(event.getMember().getAddress())) { this.memberLost.set(true); } }
ClientScheduledFutureProxy(ScheduledTaskHandler handler, ClientContext context) { super(DistributedScheduledExecutorService.SERVICE_NAME, handler.getSchedulerName(), context); this.handler = handler; }
@Override protected void writeInternal(ObjectDataOutput out) throws IOException { super.writeInternal(out); out.writeUTF(handler.toUrn()); }
@Override protected void readInternal(ObjectDataInput in) throws IOException { super.readInternal(in); this.handler = ScheduledTaskHandler.of(in.readUTF()); } }