类org.springframework.boot.ExitCodeGenerator源码实例Demo

下面列出了怎么用org.springframework.boot.ExitCodeGenerator的API类实例代码及写法,或者点击链接到github查看源代码。


@Override
public void attack() {
  try {
    Logger.info("Chaos Monkey - I am killing your Application!");

    if (metricEventPublisher != null) {
      metricEventPublisher.publishMetricEvent(MetricType.KILLAPP_ASSAULT);
    }

    int exit = SpringApplication.exit(context, (ExitCodeGenerator) () -> 0);
    Thread.sleep(5000); // wait before kill to deliver some metrics

    System.exit(exit);
  } catch (Exception e) {
    Logger.info("Chaos Monkey - Unable to kill the App, I am not the BOSS!");
  }
}
 
源代码2 项目: bugsnag-java   文件: TestCaseRunner.java

@Override
public void run(String... args) {
    setupBugsnag();

    // Create and run the test case
    LOGGER.info("Creating test case");
    Scenario scenario = testCaseForName(System.getenv("EVENT_TYPE"));
    if (scenario != null) {
        LOGGER.info("running test case");
        scenario.run();
    } else {
        LOGGER.error("No test case found for " + System.getenv("EVENT_TYPE"));
    }

    // Exit the application
    LOGGER.info("Exiting spring");
    System.exit(SpringApplication.exit(ctx, (ExitCodeGenerator) new ExitCodeGenerator() {
        @Override
        public int getExitCode() {
            return 0;
        }
    }));
}
 
源代码3 项目: bugsnag-java   文件: TestCaseRunner.java

@Override
public void run(String... args) {
    // Create and run the test case
    LOGGER.info("Creating test case");
    Scenario scenario = testCaseForName(System.getenv("EVENT_TYPE"));
    if (scenario != null) {
        LOGGER.info("running test case");
        scenario.run();
    } else {
        LOGGER.error("No test case found for " + System.getenv("EVENT_TYPE"));
    }

    // Exit the application
    LOGGER.info("Exiting spring");
    System.exit(SpringApplication.exit(ctx, (ExitCodeGenerator) new ExitCodeGenerator() {
        @Override
        public int getExitCode() {
            return 0;
        }
    }));
}
 
源代码4 项目: AuTe-Framework   文件: Application.java

public static void main(String[] args) {
    ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
    if (Arrays.asList(args).contains("execute")) {
        int exitCode = SpringApplication.exit(
                context,
                (ExitCodeGenerator) () -> TestRunnerExitCodeContext.getInstance().getExitCode()
        );
        System.exit(exitCode);
    }
}
 

@Bean
public ExitCodeGenerator exitCodeGenerator() {
    System.out.println("ExitCodeGenerator Bean 创建...");
    return () -> {
        System.out.println("执行退出码(88)生成...");
        return 88;
    };
}
 

@Bean
public ExitCodeGenerator exitCodeGenerator() {
    return () -> {
        System.out.println("执行退出码(9)生成...");
        return 9;
    };
}
 

private int calcExitStatus() {
	int exitCode = 0;
	if (this.exitCodeEvent != null) {
		exitCode = this.exitCodeEvent.getExitCode();
	}
	else if (this.listenerFailed || this.applicationFailedException != null) {
		Throwable exception = this.listenerException;
		if (exception instanceof TaskExecutionException) {
			TaskExecutionException taskExecutionException = (TaskExecutionException) exception;
			if (taskExecutionException
					.getCause() instanceof InvocationTargetException) {
				InvocationTargetException invocationTargetException = (InvocationTargetException) taskExecutionException
						.getCause();
				if (invocationTargetException != null
						&& invocationTargetException.getTargetException() != null) {
					exception = invocationTargetException.getTargetException();
				}
			}
		}

		if (exception instanceof ExitCodeGenerator) {
			exitCode = ((ExitCodeGenerator) exception).getExitCode();
		}
		else {
			exitCode = 1;
		}
	}

	return exitCode;
}
 
源代码8 项目: java-starthere   文件: DataSourceConfig.java

@Bean(name = "dsCustom")
public DataSource dataSource()
{
    String myUrlString = "";
    String myDriverClass = "";
    String myDBUser = "";
    String myDBPassword = "";

    String dbValue = env.getProperty("local.run.db");

    if (dbValue.equalsIgnoreCase("POSTGRESQL"))
    {
        checkEnvironmentVariable("MYDBHOST");
        checkEnvironmentVariable("MYDBNAME");
        checkEnvironmentVariable("MYDBUSER");
        checkEnvironmentVariable("MYDBPASSWORD");

        if (stop)
        {
            logger.info("Manually shutting down system");
            int exitCode = SpringApplication.exit(appContext,
                                                  (ExitCodeGenerator) () -> 1);
            System.exit(exitCode);
        }

        myUrlString = "jdbc:postgresql://" + System.getenv("MYDBHOST") + ":5432/" + System.getenv("MYDBNAME");
        myDriverClass = "org.postgresql.Driver";
        myDBUser = System.getenv("MYDBUSER");
        myDBPassword = System.getenv("MYDBPASSWORD");
    } else
    {
        // Assumes H2
        myUrlString = "jdbc:h2:mem:testdb";
        myDriverClass = "org.h2.Driver";
        myDBUser = "sa";
        myDBPassword = "";
    }

    logger.info("Database URL is " + myUrlString);
    return DataSourceBuilder.create()
                            .username(myDBUser)
                            .password(myDBPassword)
                            .url(myUrlString)
                            .driverClassName(myDriverClass)
                            .build();
}
 

private void conditionallyExitSpringApp(int exitCode) {
    if (flinkProperties.isTerminate()) {
        log.info("Terminating flink spring application with application code " + exitCode);
        System.exit(SpringApplication.exit(appCtx, (ExitCodeGenerator) () -> exitCode));
    }
}
 
 类所在包
 类方法
 同包方法