+ * The %5 after ipv6 address is called scope id. + * see java doc of {@link Inet6Address} for more details. + * + * @param address the input address + * @return the normalized address, with scope id converted to int + */ + static InetAddress normalizeV6Address(Inet6Address address) { + String addr = address.getHostAddress(); + int i = addr.lastIndexOf('%'); + if (i > 0) { + try { + return InetAddress.getByName(addr.substring(0, i) + '%' + address.getScopeId()); + } catch (UnknownHostException e) { + // ignore + SnailJobLog.LOCAL.debug("Unknown IPV6 address: ", e); + } + } + return address; + } + + /** + * Check if an ipv6 address + * + * @return true if it is reachable + */ + static boolean isPreferIPV6Address() { + boolean preferIpv6 = Boolean.getBoolean("java.net.preferIPv6Addresses"); + if (!preferIpv6) { + return false; + } + return false; } /** diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/callback/MapClientCallbackHandler.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/callback/MapClientCallbackHandler.java new file mode 100644 index 000000000..27799c7dc --- /dev/null +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/callback/MapClientCallbackHandler.java @@ -0,0 +1,27 @@ +package com.aizuda.snailjob.server.job.task.support.callback; + +import com.aizuda.snailjob.common.core.enums.JobTaskTypeEnum; +import com.aizuda.snailjob.template.datasource.persistence.mapper.JobTaskMapper; +import org.springframework.stereotype.Component; + +/** + * @author opensnail + * @date 2024-06-24 22:51:20 + * @since sj_1.1.0 + */ +@Component +public class MapClientCallbackHandler extends MapReduceClientCallbackHandler { + public MapClientCallbackHandler(JobTaskMapper jobTaskMapper) { + super(jobTaskMapper); + } + + @Override + public JobTaskTypeEnum getTaskInstanceType() { + return JobTaskTypeEnum.MAP; + } + + @Override + public void callback(ClientCallbackContext context) { + super.callback(context); + } +}