in java/client/src/main/java/org/apache/rocketmq/client/java/impl/ClientManagerImpl.java [382:441]
protected void startUp() {
final ClientId clientId = client.getClientId();
log.info("Begin to start the client manager, clientId={}", clientId);
scheduler.scheduleWithFixedDelay(
() -> {
try {
clearIdleRpcClients();
} catch (Throwable t) {
log.error("Exception raised during the clearing of idle rpc clients, clientId={}", clientId, t);
}
},
RPC_CLIENT_IDLE_CHECK_INITIAL_DELAY.toNanos(),
RPC_CLIENT_IDLE_CHECK_PERIOD.toNanos(),
TimeUnit.NANOSECONDS
);
scheduler.scheduleWithFixedDelay(
() -> {
try {
client.doHeartbeat();
} catch (Throwable t) {
log.error("Exception raised during heartbeat, clientId={}", clientId, t);
}
},
HEART_BEAT_INITIAL_DELAY.toNanos(),
HEART_BEAT_PERIOD.toNanos(),
TimeUnit.NANOSECONDS
);
scheduler.scheduleWithFixedDelay(
() -> {
try {
log.info("Start to log statistics, clientVersion={}, clientWrapperVersion={}, "
+ "clientEndpoints={}, os description=[{}], java description=[{}], clientId={}",
MetadataUtils.getVersion(), MetadataUtils.getWrapperVersion(), client.getEndpoints(),
Utilities.getOsDescription(), Utilities.getJavaDescription(), clientId);
client.doStats();
} catch (Throwable t) {
log.error("Exception raised during statistics logging, clientId={}", clientId, t);
}
},
LOG_STATS_INITIAL_DELAY.toNanos(),
LOG_STATS_PERIOD.toNanos(),
TimeUnit.NANOSECONDS
);
scheduler.scheduleWithFixedDelay(
() -> {
try {
client.syncSettings();
} catch (Throwable t) {
log.error("Exception raised during the setting synchronization, clientId={}", clientId, t);
}
},
SYNC_SETTINGS_DELAY.toNanos(),
SYNC_SETTINGS_PERIOD.toNanos(),
TimeUnit.NANOSECONDS
);
log.info("The client manager starts successfully, clientId={}", clientId);
}