package me.hao0.antares.client.core; import me.hao0.antares.client.job.Job; import me.hao0.antares.client.job.execute.JobExecutor; import me.hao0.antares.client.job.JobManager; import me.hao0.antares.common.support.Lifecycle; import me.hao0.antares.common.zk.ZkClient; import java.util.List; /** * Author: haolin * Email: haolin.h0@gmail.com */ public interface AntaresClient extends Lifecycle { /** * Get the client version * @return the client version */ String getClientVersion(); /** * Get the app name * @return the app name */ String getAppName(); /** * Get the app secret * @return the app secret */ String getAppSecret(); /** * Get the zk namespace * @return the zk namespace */ String getZkNamespace(); /** * Get the zk server list * @return the zk server list */ String getZkServers(); /** * Get the thread count for executing jobs * @return the thread count */ Integer getExecutorThreadCount(); /** * Get the zk client * @return the zk client */ ZkClient getZk(); /** * Get the job manager * @return the job manager */ JobManager getJobManager(); /** * Get the job executor * @return the job executor */ JobExecutor getJobExecutor(); void setJobExecutor(JobExecutor jobExecutor); /** * Get the http agent * @return the http agent */ AntaresHttpAgent getHttp(); /** * Get the current http servers * @return the current http servers */ List<String> getHttpServers(); /** * Add a http server * @param httpServer the http server */ void addHttpServer(String httpServer); /** * Remove a http server * @param httpServer the http server */ void removeHttpServer(String httpServer); /** * Register the job * @param job the job */ void registerJob(Job job); }