Java 类org.springframework.boot.context.event.ApplicationFailedEvent 实例源码

项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void logsDebugOnError() {
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
    this.initializer.initialize(context);
    context.register(ErrorConfig.class);
    try {
        context.refresh();
        fail("Did not error");
    }
    catch (Exception ex) {
        this.initializer.onApplicationEvent(new ApplicationFailedEvent(
                new SpringApplication(), new String[0], context, ex));
    }
    assertThat(this.debugLog.size()).isNotEqualTo(0);
    assertThat(this.infoLog.size()).isEqualTo(0);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void logsInfoOnErrorIfDebugDisabled() {
    setupLogging(false, true);
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
    this.initializer.initialize(context);
    context.register(ErrorConfig.class);
    try {
        context.refresh();
        fail("Did not error");
    }
    catch (Exception ex) {
        this.initializer.onApplicationEvent(new ApplicationFailedEvent(
                new SpringApplication(), new String[0], context, ex));
    }
    assertThat(this.debugLog.size()).isEqualTo(0);
    assertThat(this.infoLog.size()).isNotEqualTo(0);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:RestartApplicationListener.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (event instanceof ApplicationStartedEvent) {
        onApplicationStartedEvent((ApplicationStartedEvent) event);
    }
    if (event instanceof ApplicationPreparedEvent) {
        Restarter.getInstance()
                .prepare(((ApplicationPreparedEvent) event).getApplicationContext());
    }
    if (event instanceof ApplicationReadyEvent
            || event instanceof ApplicationFailedEvent) {
        Restarter.getInstance().finish();
        if (event instanceof ApplicationFailedEvent) {
            Restarter.getInstance().prepare(null);
        }
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:RestartApplicationListenerTests.java   
private void testInitialize(boolean failed) {
    Restarter.clearInstance();
    RestartApplicationListener listener = new RestartApplicationListener();
    SpringApplication application = new SpringApplication();
    ConfigurableApplicationContext context = mock(
            ConfigurableApplicationContext.class);
    listener.onApplicationEvent(new ApplicationStartedEvent(application, ARGS));
    assertThat(Restarter.getInstance()).isNotEqualTo(nullValue());
    assertThat(Restarter.getInstance().isFinished()).isFalse();
    listener.onApplicationEvent(
            new ApplicationPreparedEvent(application, ARGS, context));
    if (failed) {
        listener.onApplicationEvent(new ApplicationFailedEvent(application, ARGS,
                context, new RuntimeException()));
    }
    else {
        listener.onApplicationEvent(
                new ApplicationReadyEvent(application, ARGS, context));
    }
}
项目:spring-boot-concourse    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void logsDebugOnError() {
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
    this.initializer.initialize(context);
    context.register(ErrorConfig.class);
    try {
        context.refresh();
        fail("Did not error");
    }
    catch (Exception ex) {
        this.initializer.onApplicationEvent(new ApplicationFailedEvent(
                new SpringApplication(), new String[0], context, ex));
    }
    assertThat(this.debugLog.size()).isNotEqualTo(0);
    assertThat(this.infoLog.size()).isEqualTo(0);
}
项目:spring-boot-concourse    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void logsInfoOnErrorIfDebugDisabled() {
    setupLogging(false, true);
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
    this.initializer.initialize(context);
    context.register(ErrorConfig.class);
    try {
        context.refresh();
        fail("Did not error");
    }
    catch (Exception ex) {
        this.initializer.onApplicationEvent(new ApplicationFailedEvent(
                new SpringApplication(), new String[0], context, ex));
    }
    assertThat(this.debugLog.size()).isEqualTo(0);
    assertThat(this.infoLog.size()).isNotEqualTo(0);
}
项目:spring-boot-concourse    文件:RestartApplicationListener.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (event instanceof ApplicationStartedEvent) {
        onApplicationStartedEvent((ApplicationStartedEvent) event);
    }
    if (event instanceof ApplicationPreparedEvent) {
        Restarter.getInstance()
                .prepare(((ApplicationPreparedEvent) event).getApplicationContext());
    }
    if (event instanceof ApplicationReadyEvent
            || event instanceof ApplicationFailedEvent) {
        Restarter.getInstance().finish();
        if (event instanceof ApplicationFailedEvent) {
            Restarter.getInstance().prepare(null);
        }
    }
}
项目:spring-boot-concourse    文件:RestartApplicationListenerTests.java   
private void testInitialize(boolean failed) {
    Restarter.clearInstance();
    RestartApplicationListener listener = new RestartApplicationListener();
    SpringApplication application = new SpringApplication();
    ConfigurableApplicationContext context = mock(
            ConfigurableApplicationContext.class);
    listener.onApplicationEvent(new ApplicationStartedEvent(application, ARGS));
    assertThat(Restarter.getInstance()).isNotEqualTo(nullValue());
    assertThat(Restarter.getInstance().isFinished()).isFalse();
    listener.onApplicationEvent(
            new ApplicationPreparedEvent(application, ARGS, context));
    if (failed) {
        listener.onApplicationEvent(new ApplicationFailedEvent(application, ARGS,
                context, new RuntimeException()));
    }
    else {
        listener.onApplicationEvent(
                new ApplicationReadyEvent(application, ARGS, context));
    }
}
项目:contestparser    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void logsDebugOnError() {
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
    this.initializer.initialize(context);
    context.register(ErrorConfig.class);
    try {
        context.refresh();
        fail("Did not error");
    }
    catch (Exception ex) {
        this.initializer.onApplicationEvent(new ApplicationFailedEvent(
                new SpringApplication(), new String[0], context, ex));
    }

    assertThat(this.debugLog.size(), not(equalTo(0)));
    assertThat(this.infoLog.size(), equalTo(0));
}
项目:contestparser    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void logsInfoOnErrorIfDebugDisabled() {
    setupLogging(false, true);
    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
    this.initializer.initialize(context);
    context.register(ErrorConfig.class);
    try {
        context.refresh();
        fail("Did not error");
    }
    catch (Exception ex) {
        this.initializer.onApplicationEvent(new ApplicationFailedEvent(
                new SpringApplication(), new String[0], context, ex));
    }

    assertThat(this.debugLog.size(), equalTo(0));
    assertThat(this.infoLog.size(), not(equalTo(0)));
}
项目:contestparser    文件:RestartApplicationListenerTests.java   
private void testInitialize(boolean failed) {
    Restarter.clearInstance();
    RestartApplicationListener listener = new RestartApplicationListener();
    SpringApplication application = new SpringApplication();
    ConfigurableApplicationContext context = mock(
            ConfigurableApplicationContext.class);
    listener.onApplicationEvent(new ApplicationStartedEvent(application, ARGS));
    assertThat(Restarter.getInstance(), not(nullValue()));
    assertThat(Restarter.getInstance().isFinished(), equalTo(false));
    if (failed) {
        listener.onApplicationEvent(new ApplicationFailedEvent(application, ARGS,
                context, new RuntimeException()));
    }
    else {
        listener.onApplicationEvent(
                new ApplicationReadyEvent(application, ARGS, context));
    }
}
项目:spring-backend-boilerplate    文件:ShutdownNotification.java   
@Override
public void onApplicationEvent(ApplicationFailedEvent event) {
    if (StringUtils.isEmpty(webhookConfigurationProperties.getUrl())) {
        return;
    }

    webhookClient.sendMessage(webhookConfigurationProperties.getUrl(),
                              String.format("%s startup failed. The cause is %s",
                                            getAppName(),
                                            event.getException().getMessage()),
                              event.getException().getMessage());
}
项目:DingTalkRobot-SpringBoot    文件:MyFailListener.java   
@SuppressWarnings("ALL")
@Override
public void onApplicationEvent(ApplicationFailedEvent event) {

    SimpleCommandLinePropertySource commandLinePropertySource = new SimpleCommandLinePropertySource(event.getArgs());


    if (commandLinePropertySource.containsProperty("ding-url")) {
        final String name = ListenerUtils.getServerName(commandLinePropertySource.getProperty("ding-app-name"));

        //ding-url  ding-msg
        Map<String, Object> map = of(
                "msgtype", "text",
                "text", of("content", "【[对不起]】" + name + "启动失败。")
        );

        new Thread() {
            @Override
            public void run() {
                super.run();
                String url = commandLinePropertySource.getProperty("ding-url");
                try {
                    String returnString = Request.Post(url).connectTimeout(8000)
                            .bodyString(JSON.toJSONString(map), ContentType.APPLICATION_JSON).execute().returnContent().asString();
                    log.info("钉钉通知已发送 return:" + returnString);
                } catch (Exception e) {
                    log.warn("发送钉钉通知失败", e);
                }
            }
        }.start();
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:ClasspathLoggingApplicationListener.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (this.logger.isDebugEnabled()) {
        if (event instanceof ApplicationEnvironmentPreparedEvent) {
            this.logger
                    .debug("Application started with classpath: " + getClasspath());
        }
        else if (event instanceof ApplicationFailedEvent) {
            this.logger.debug(
                    "Application failed to start with classpath: " + getClasspath());
        }
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:ClasspathLoggingApplicationListener.java   
@Override
public boolean supportsEventType(ResolvableType resolvableType) {
    Class<?> type = resolvableType.getRawClass();
    if (type == null) {
        return false;
    }
    return ApplicationEnvironmentPreparedEvent.class.isAssignableFrom(type)
            || ApplicationFailedEvent.class.isAssignableFrom(type);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:EndpointWebMvcAutoConfiguration.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (event instanceof ContextClosedEvent) {
        onContextClosedEvent((ContextClosedEvent) event);
    }
    if (event instanceof ApplicationFailedEvent) {
        onApplicationFailedEvent((ApplicationFailedEvent) event);
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:EndpointWebMvcAutoConfigurationTests.java   
@Test
public void onDifferentPortWithPrimaryFailure() throws Exception {
    this.applicationContext.register(RootConfig.class, EndpointConfig.class,
            DifferentPortConfig.class, BaseConfiguration.class,
            EndpointWebMvcAutoConfiguration.class, ErrorMvcAutoConfiguration.class);
    this.applicationContext.refresh();
    ApplicationContext managementContext = this.applicationContext
            .getBean(ManagementContextResolver.class).getApplicationContext();
    ApplicationFailedEvent event = mock(ApplicationFailedEvent.class);
    given(event.getApplicationContext()).willReturn(this.applicationContext);
    this.applicationContext.publishEvent(event);
    assertThat(((ConfigurableApplicationContext) managementContext).isActive())
            .isFalse();
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:AutoConfigurationReportLoggingInitializer.java   
protected void onApplicationEvent(ApplicationEvent event) {
    ConfigurableApplicationContext initializerApplicationContext = AutoConfigurationReportLoggingInitializer.this.applicationContext;
    if (event instanceof ContextRefreshedEvent) {
        if (((ApplicationContextEvent) event)
                .getApplicationContext() == initializerApplicationContext) {
            logAutoConfigurationReport();
        }
    }
    else if (event instanceof ApplicationFailedEvent) {
        if (((ApplicationFailedEvent) event)
                .getApplicationContext() == initializerApplicationContext) {
            logAutoConfigurationReport(true);
        }
    }
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:AutoConfigurationReportLoggingInitializer.java   
@Override
public boolean supportsEventType(ResolvableType resolvableType) {
    Class<?> type = resolvableType.getRawClass();
    if (type == null) {
        return false;
    }
    return ContextRefreshedEvent.class.isAssignableFrom(type)
            || ApplicationFailedEvent.class.isAssignableFrom(type);
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void noErrorIfNotInitialized() throws Exception {
    this.initializer
            .onApplicationEvent(new ApplicationFailedEvent(new SpringApplication(),
                    new String[0], null, new RuntimeException("Planned")));
    assertThat(this.infoLog.get(0))
            .contains("Unable to provide auto-configuration report");
}
项目:spring-boot-concourse    文件:ClasspathLoggingApplicationListener.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (this.logger.isDebugEnabled()) {
        if (event instanceof ApplicationEnvironmentPreparedEvent) {
            this.logger
                    .debug("Application started with classpath: " + getClasspath());
        }
        else if (event instanceof ApplicationFailedEvent) {
            this.logger.debug(
                    "Application failed to start with classpath: " + getClasspath());
        }
    }
}
项目:spring-boot-concourse    文件:ClasspathLoggingApplicationListener.java   
@Override
public boolean supportsEventType(ResolvableType resolvableType) {
    Class<?> type = resolvableType.getRawClass();
    if (type == null) {
        return false;
    }
    return ApplicationEnvironmentPreparedEvent.class.isAssignableFrom(type)
            || ApplicationFailedEvent.class.isAssignableFrom(type);
}
项目:spring-boot-concourse    文件:EndpointWebMvcAutoConfiguration.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (event instanceof ContextClosedEvent) {
        onContextClosedEvent((ContextClosedEvent) event);
    }
    if (event instanceof ApplicationFailedEvent) {
        onApplicationFailedEvent((ApplicationFailedEvent) event);
    }
}
项目:spring-boot-concourse    文件:EndpointWebMvcAutoConfigurationTests.java   
@Test
public void onDifferentPortWithPrimaryFailure() throws Exception {
    this.applicationContext.register(RootConfig.class, EndpointConfig.class,
            DifferentPortConfig.class, BaseConfiguration.class,
            EndpointWebMvcAutoConfiguration.class, ErrorMvcAutoConfiguration.class);
    this.applicationContext.refresh();
    ApplicationContext managementContext = this.applicationContext
            .getBean(ManagementContextResolver.class).getApplicationContext();
    ApplicationFailedEvent event = mock(ApplicationFailedEvent.class);
    given(event.getApplicationContext()).willReturn(this.applicationContext);
    this.applicationContext.publishEvent(event);
    assertThat(((ConfigurableApplicationContext) managementContext).isActive())
            .isFalse();
}
项目:spring-boot-concourse    文件:AutoConfigurationReportLoggingInitializer.java   
protected void onApplicationEvent(ApplicationEvent event) {
    ConfigurableApplicationContext initializerApplicationContext = AutoConfigurationReportLoggingInitializer.this.applicationContext;
    if (event instanceof ContextRefreshedEvent) {
        if (((ApplicationContextEvent) event)
                .getApplicationContext() == initializerApplicationContext) {
            logAutoConfigurationReport();
        }
    }
    else if (event instanceof ApplicationFailedEvent) {
        if (((ApplicationFailedEvent) event)
                .getApplicationContext() == initializerApplicationContext) {
            logAutoConfigurationReport(true);
        }
    }
}
项目:spring-boot-concourse    文件:AutoConfigurationReportLoggingInitializer.java   
@Override
public boolean supportsEventType(ResolvableType resolvableType) {
    Class<?> type = resolvableType.getRawClass();
    if (type == null) {
        return false;
    }
    return ContextRefreshedEvent.class.isAssignableFrom(type)
            || ApplicationFailedEvent.class.isAssignableFrom(type);
}
项目:spring-boot-concourse    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void noErrorIfNotInitialized() throws Exception {
    this.initializer
            .onApplicationEvent(new ApplicationFailedEvent(new SpringApplication(),
                    new String[0], null, new RuntimeException("Planned")));
    assertThat(this.infoLog.get(0))
            .contains("Unable to provide auto-configuration report");
}
项目:contestparser    文件:ClasspathLoggingApplicationListener.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (event instanceof ApplicationStartedEvent) {
        if (this.logger.isDebugEnabled()) {
            this.logger
                    .debug("Application started with classpath: " + getClasspath());
        }
    }
    else if (event instanceof ApplicationFailedEvent) {
        if (this.logger.isInfoEnabled()) {
            this.logger.info(
                    "Application failed to start with classpath: " + getClasspath());
        }
    }
}
项目:contestparser    文件:ClasspathLoggingApplicationListener.java   
@Override
public boolean supportsEventType(ResolvableType resolvableType) {
    Class<?> type = resolvableType.getRawClass();
    if (type == null) {
        return false;
    }
    return ApplicationStartedEvent.class.isAssignableFrom(type)
            || ApplicationFailedEvent.class.isAssignableFrom(type);
}
项目:contestparser    文件:AutoConfigurationReportLoggingInitializer.java   
protected void onApplicationEvent(ApplicationEvent event) {
    ConfigurableApplicationContext initializerApplicationContext = AutoConfigurationReportLoggingInitializer.this.applicationContext;
    if (event instanceof ContextRefreshedEvent) {
        if (((ApplicationContextEvent) event)
                .getApplicationContext() == initializerApplicationContext) {
            logAutoConfigurationReport();
        }
    }
    else if (event instanceof ApplicationFailedEvent) {
        if (((ApplicationFailedEvent) event)
                .getApplicationContext() == initializerApplicationContext) {
            logAutoConfigurationReport(true);
        }
    }
}
项目:contestparser    文件:AutoConfigurationReportLoggingInitializer.java   
@Override
public boolean supportsEventType(ResolvableType resolvableType) {
    Class<?> type = resolvableType.getRawClass();
    if (type == null) {
        return false;
    }
    return ContextRefreshedEvent.class.isAssignableFrom(type)
            || ApplicationFailedEvent.class.isAssignableFrom(type);
}
项目:contestparser    文件:AutoConfigurationReportLoggingInitializerTests.java   
@Test
public void noErrorIfNotInitialized() throws Exception {
    this.initializer
            .onApplicationEvent(new ApplicationFailedEvent(new SpringApplication(),
                    new String[0], null, new RuntimeException("Planned")));
    assertThat(this.infoLog.get(0),
            containsString("Unable to provide auto-configuration report"));
}
项目:contestparser    文件:RestartApplicationListener.java   
@Override
public void onApplicationEvent(ApplicationEvent event) {
    if (event instanceof ApplicationStartedEvent) {
        onApplicationStartedEvent((ApplicationStartedEvent) event);
    }
    if (event instanceof ApplicationReadyEvent
            || event instanceof ApplicationFailedEvent) {
        Restarter.getInstance().finish();
    }
}
项目:spring-cloud-task    文件:TaskLifecycleListener.java   
/**
 * Utilizes {@link ApplicationEvent}s to determine the start, end, and failure of a
 * task.  Specifically:
 * <ul>
 *     <li>{@link ContextRefreshedEvent} - Start of a task</li>
 *     <li>{@link ApplicationReadyEvent} - Successful end of a task</li>
 *     <li>{@link ApplicationFailedEvent} - Failure of a task</li>
 * </ul>
 *
 * @param applicationEvent The application being listened for.
 */
@Override
public void onApplicationEvent(ApplicationEvent applicationEvent) {
    if(applicationEvent instanceof ApplicationFailedEvent) {
        this.applicationFailedEvent = (ApplicationFailedEvent) applicationEvent;
        doTaskEnd();
    }
    else if(applicationEvent instanceof ExitCodeEvent){
        this.exitCodeEvent = (ExitCodeEvent) applicationEvent;
    }
    else if(applicationEvent instanceof ApplicationReadyEvent) {
        doTaskEnd();
    }
}
项目:spring-cloud-task    文件:TaskExecutionListenerTests.java   
/**
 * Verify that if a TaskExecutionListener Bean is present that the onTaskFailed method
 * is called.
 */
@Test
public void testTaskFail() {
    RuntimeException exception = new RuntimeException(EXCEPTION_MESSAGE);
    setupContextForTaskExecutionListener();
    SpringApplication application = new SpringApplication();
    DefaultTaskListenerConfiguration.TestTaskExecutionListener taskExecutionListener =
            context.getBean(DefaultTaskListenerConfiguration.TestTaskExecutionListener.class);
    context.publishEvent(new ApplicationFailedEvent(application, new String[0], context, exception));
    context.publishEvent(new ApplicationReadyEvent(application, new String[0], context));

    TaskExecution taskExecution = new TaskExecution(0, 1, "wombat", new Date(),
            new Date(), null, new ArrayList<String>(), null, null);
    verifyListenerResults(true, true, true, taskExecution,taskExecutionListener);
}
项目:spring-cloud-task    文件:TaskExecutionListenerTests.java   
/**
 * Verify that if a bean has a @FailedTask annotation present that the associated
 * method is called.
 */
@Test
public void testAnnotationFail() {
    RuntimeException exception = new RuntimeException(EXCEPTION_MESSAGE);
    setupContextForAnnotatedListener();
    SpringApplication application = new SpringApplication();
    DefaultAnnotationConfiguration.AnnotatedTaskListener annotatedListener =
            context.getBean(DefaultAnnotationConfiguration.AnnotatedTaskListener.class);
    context.publishEvent(new ApplicationFailedEvent(application, new String[0], context, exception));
    context.publishEvent(new ApplicationReadyEvent(application, new String[0], context));

    TaskExecution taskExecution = new TaskExecution(0, 1, "wombat", new Date(),
            new Date(), null, new ArrayList<String>(), null, null);
    verifyListenerResults(true, true, true, taskExecution,annotatedListener);
}
项目:spring-cloud-task    文件:TaskLifecycleListenerTests.java   
@Test
public void testTaskFailedUpdate() {
    context.refresh();
    RuntimeException exception = new RuntimeException("This was expected");
    SpringApplication application = new SpringApplication();
    this.taskExplorer = context.getBean(TaskExplorer.class);
    context.publishEvent(new ApplicationFailedEvent(application, new String[0], context, exception));
    context.publishEvent(new ApplicationReadyEvent(application, new String[0], context));

    verifyTaskExecution(0, true, 1, exception, null);
}
项目:spring-cloud-task    文件:TaskLifecycleListenerTests.java   
@Test
public void testTaskFailedWithExitCodeEvent() {
    final int exitCode = 10;
    context.refresh();
    RuntimeException exception = new RuntimeException("This was expected");
    SpringApplication application = new SpringApplication();
    this.taskExplorer = context.getBean(TaskExplorer.class);
    context.publishEvent(new ExitCodeEvent(context, exitCode));
    context.publishEvent(new ApplicationFailedEvent(application, new String[0], context, exception));
    context.publishEvent(new ApplicationReadyEvent(application, new String[0], context));

    verifyTaskExecution(0, true, exitCode, exception, null);
}
项目:spring-backend-boilerplate    文件:WebHookSupportConfiguration.java   
@Bean
public ApplicationListener<ApplicationFailedEvent> shutdownNotificatioin() {
    return new ShutdownNotification();
}
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:EndpointWebMvcAutoConfiguration.java   
private void onApplicationFailedEvent(ApplicationFailedEvent event) {
    propagateCloseIfNecessary(event.getApplicationContext());
}