Skip to content

Commit 0a7f3f9

Browse files
committed
use singleton
1 parent 716cad5 commit 0a7f3f9

File tree

6 files changed

+14
-19
lines changed

6 files changed

+14
-19
lines changed

launcher/src/main/java/com/dtstack/flink/sql/launcher/executor/StandaloneExecutor.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,10 @@
3939
* @author maqi
4040
*/
4141
public class StandaloneExecutor {
42-
43-
StandaloneClientFactory standaloneClientFactory;
4442
JobParamsInfo jobParamsInfo;
4543

4644
public StandaloneExecutor(JobParamsInfo jobParamsInfo) {
4745
this.jobParamsInfo = jobParamsInfo;
48-
standaloneClientFactory = new StandaloneClientFactory();
4946
}
5047

5148
public void exec() throws Exception {
@@ -62,7 +59,7 @@ public void exec() throws Exception {
6259

6360
JobGraphBuildUtil.fillJobGraphClassPath(jobGraph);
6461

65-
ClusterDescriptor clusterDescriptor = standaloneClientFactory.createClusterDescriptor("", flinkConfiguration);
62+
ClusterDescriptor clusterDescriptor = StandaloneClientFactory.INSTANCE.createClusterDescriptor("", flinkConfiguration);
6663
ClusterClientProvider clusterClientProvider = clusterDescriptor.retrieve(StandaloneClusterId.getInstance());
6764
ClusterClient clusterClient = clusterClientProvider.getClusterClient();
6865

launcher/src/main/java/com/dtstack/flink/sql/launcher/executor/YarnJobClusterExecutor.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import com.dtstack.flink.sql.launcher.factory.YarnClusterClientFactory;
2424
import com.dtstack.flink.sql.launcher.utils.JobGraphBuildUtil;
2525
import org.apache.commons.lang3.StringUtils;
26-
import org.apache.flink.api.common.cache.DistributedCache;
2726
import org.apache.flink.client.deployment.ClusterSpecification;
2827
import org.apache.flink.client.program.ClusterClientProvider;
2928
import org.apache.flink.configuration.Configuration;
@@ -39,10 +38,8 @@
3938

4039
import java.io.File;
4140
import java.net.MalformedURLException;
42-
import java.net.URL;
4341
import java.util.ArrayList;
4442
import java.util.List;
45-
import java.util.Map;
4643
import java.util.Optional;
4744

4845

@@ -58,12 +55,10 @@ public class YarnJobClusterExecutor {
5855
private static final String CONFIG_FILE_LOG4J_NAME = "log4j.properties";
5956
private static final String DEFAULT_TOTAL_PROCESS_MEMORY = "1024m";
6057

61-
YarnClusterClientFactory yarnClusterClientFactory;
6258
JobParamsInfo jobParamsInfo;
6359

6460
public YarnJobClusterExecutor(JobParamsInfo jobParamsInfo) {
6561
this.jobParamsInfo = jobParamsInfo;
66-
yarnClusterClientFactory = new YarnClusterClientFactory();
6762
}
6863

6964
public void exec() throws Exception {
@@ -75,12 +70,13 @@ public void exec() throws Exception {
7570
Configuration flinkConfiguration = JobGraphBuildUtil.getFlinkConfiguration(jobParamsInfo.getFlinkConfDir(), jobParamsInfo.getConfProperties());
7671
appendApplicationConfig(flinkConfiguration, jobParamsInfo);
7772

78-
YarnClusterDescriptor clusterDescriptor = (YarnClusterDescriptor) yarnClusterClientFactory.createClusterDescriptor(jobParamsInfo.getYarnConfDir(), flinkConfiguration);
73+
YarnClusterDescriptor clusterDescriptor = (YarnClusterDescriptor) YarnClusterClientFactory.INSTANCE
74+
.createClusterDescriptor(jobParamsInfo.getYarnConfDir(), flinkConfiguration);
7975

8076
List<File> shipFiles = getShipFiles(jobParamsInfo.getFlinkJarPath(), jobParamsInfo.getPluginLoadMode(), jobGraph, clusterDescriptor);
8177
clusterDescriptor.addShipFiles(shipFiles);
8278

83-
ClusterSpecification clusterSpecification = yarnClusterClientFactory.getClusterSpecification(flinkConfiguration);
79+
ClusterSpecification clusterSpecification = YarnClusterClientFactory.INSTANCE.getClusterSpecification(flinkConfiguration);
8480
ClusterClientProvider<ApplicationId> applicationIdClusterClientProvider = clusterDescriptor.deployJobCluster(clusterSpecification, jobGraph, true);
8581

8682
String applicationId = applicationIdClusterClientProvider.getClusterClient().getClusterId().toString();

launcher/src/main/java/com/dtstack/flink/sql/launcher/executor/YarnSessionClusterExecutor.java

+1-4
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,23 @@
3434
import org.apache.hadoop.yarn.api.records.ApplicationId;
3535
import org.apache.hadoop.yarn.util.ConverterUtils;
3636

37-
import java.io.UnsupportedEncodingException;
3837

3938
/**
4039
* Date: 2020/3/4
4140
* Company: www.dtstack.com
4241
* @author maqi
4342
*/
4443
public class YarnSessionClusterExecutor {
45-
YarnClusterClientFactory yarnClusterClientFactory;
4644
JobParamsInfo jobParamsInfo;
4745

4846
public YarnSessionClusterExecutor(JobParamsInfo jobParamsInfo) {
4947
this.jobParamsInfo = jobParamsInfo;
50-
yarnClusterClientFactory = new YarnClusterClientFactory();
5148
}
5249

5350
public void exec() throws Exception {
5451
JobGraph jobGraph = JobGraphBuildUtil.buildJobGraph(jobParamsInfo);
5552
Configuration flinkConfiguration = JobGraphBuildUtil.getFlinkConfiguration(jobParamsInfo.getFlinkConfDir(), jobParamsInfo.getConfProperties());
56-
ClusterDescriptor clusterDescriptor = yarnClusterClientFactory.createClusterDescriptor(jobParamsInfo.getYarnConfDir(), flinkConfiguration);
53+
ClusterDescriptor clusterDescriptor = YarnClusterClientFactory.INSTANCE.createClusterDescriptor(jobParamsInfo.getYarnConfDir(), flinkConfiguration);
5754

5855
Object yid = jobParamsInfo.getYarnSessionConfProperties().get("yid");
5956
if (null == yid) {

launcher/src/main/java/com/dtstack/flink/sql/launcher/factory/AbstractClusterClientFactory.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333
* Company: www.dtstack.com
3434
* @author maqi
3535
*/
36-
public abstract class AbstractClusterClientFactory {
36+
public interface AbstractClusterClientFactory {
3737

38-
public ClusterSpecification getClusterSpecification(Configuration configuration) {
38+
default ClusterSpecification getClusterSpecification(Configuration configuration) {
3939
checkNotNull(configuration);
4040

4141
final int jobManagerMemoryMb = ConfigurationUtils

launcher/src/main/java/com/dtstack/flink/sql/launcher/factory/StandaloneClientFactory.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@
2929
* Company: www.dtstack.com
3030
* @author maqi
3131
*/
32-
public class StandaloneClientFactory extends AbstractClusterClientFactory {
32+
public enum StandaloneClientFactory implements AbstractClusterClientFactory {
33+
INSTANCE;
34+
3335
@Override
3436
public ClusterDescriptor createClusterDescriptor(String clusterConfPath, Configuration flinkConfig) {
3537
checkNotNull(flinkConfig);

launcher/src/main/java/com/dtstack/flink/sql/launcher/factory/YarnClusterClientFactory.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,11 @@
4141
* Company: www.dtstack.com
4242
* @author maqi
4343
*/
44-
public class YarnClusterClientFactory extends AbstractClusterClientFactory {
44+
public enum YarnClusterClientFactory implements AbstractClusterClientFactory {
45+
INSTANCE;
46+
4547
private static final String XML_FILE_EXTENSION = "xml";
48+
4649
@Override
4750
public ClusterDescriptor createClusterDescriptor(String yarnConfDir, Configuration flinkConfig) {
4851

0 commit comments

Comments
 (0)