org.springframework.context.ApplicationEventPublisher.publishEvent()方法的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(7.7k)|赞(0)|评价(0)|浏览(204)

本文整理了Java中org.springframework.context.ApplicationEventPublisher.publishEvent()方法的一些代码示例,展示了ApplicationEventPublisher.publishEvent()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ApplicationEventPublisher.publishEvent()方法的具体详情如下:
包路径:org.springframework.context.ApplicationEventPublisher
类名称:ApplicationEventPublisher
方法名:publishEvent

ApplicationEventPublisher.publishEvent介绍

[英]Notify all matching listeners registered with this application of an application event. Events may be framework events (such as RequestHandledEvent) or application-specific events.
[中]将应用程序事件通知所有注册到此应用程序的匹配侦听器。事件可以是框架事件(例如RequestHandledEvent)或特定于应用程序的事件。

代码示例

代码示例来源:origin: spring-projects/spring-framework

/**
 * Notify all <strong>matching</strong> listeners registered with this
 * application of an application event. Events may be framework events
 * (such as RequestHandledEvent) or application-specific events.
 * @param event the event to publish
 * @see org.springframework.web.context.support.RequestHandledEvent
 */
default void publishEvent(ApplicationEvent event) {
  publishEvent((Object) event);
}

代码示例来源:origin: org.springframework/spring-context

/**
 * Notify all <strong>matching</strong> listeners registered with this
 * application of an application event. Events may be framework events
 * (such as RequestHandledEvent) or application-specific events.
 * @param event the event to publish
 * @see org.springframework.web.context.support.RequestHandledEvent
 */
default void publishEvent(ApplicationEvent event) {
  publishEvent((Object) event);
}

代码示例来源:origin: spring-projects/spring-framework

private void publishEvent(ApplicationEventPublisher publisher, ApplicationEvent event) {
  try {
    publisher.publishEvent(event);
  }
  catch (Throwable ex) {
    if (logger.isErrorEnabled()) {
      logger.error("Error publishing " + event, ex);
    }
  }
}

代码示例来源:origin: spring-projects/spring-framework

protected void publishBrokerAvailableEvent() {
  boolean shouldPublish = this.brokerAvailable.compareAndSet(false, true);
  if (this.eventPublisher != null && shouldPublish) {
    if (logger.isInfoEnabled()) {
      logger.info(this.availableEvent);
    }
    this.eventPublisher.publishEvent(this.availableEvent);
  }
}

代码示例来源:origin: spring-projects/spring-framework

protected void publishBrokerUnavailableEvent() {
  boolean shouldPublish = this.brokerAvailable.compareAndSet(true, false);
  if (this.eventPublisher != null && shouldPublish) {
    if (logger.isInfoEnabled()) {
      logger.info(this.notAvailableEvent);
    }
    this.eventPublisher.publishEvent(this.notAvailableEvent);
  }
}

代码示例来源:origin: spring-projects/spring-framework

@Override
public Object invoke(MethodInvocation invocation) throws Throwable {
  Object retVal = invocation.proceed();
  Assert.state(this.applicationEventClassConstructor != null, "No ApplicationEvent class set");
  ApplicationEvent event = (ApplicationEvent)
      this.applicationEventClassConstructor.newInstance(invocation.getThis());
  Assert.state(this.applicationEventPublisher != null, "No ApplicationEventPublisher available");
  this.applicationEventPublisher.publishEvent(event);
  return retVal;
}

代码示例来源:origin: redisson/redisson

private void publishEvent(ApplicationEvent event) {
  try {
    eventPublisher.publishEvent(event);
  } catch (Exception e) {
    log.error(e.getMessage(), e);
  }
}

代码示例来源:origin: redisson/redisson

private void publishEvent(ApplicationEvent event) {
  try {
    eventPublisher.publishEvent(event);
  } catch (Exception e) {
    log.error(e.getMessage(), e);
  }
}

代码示例来源:origin: apache/incubator-dubbo

/**
 * @since 2.6.5
 */
private void publishExportEvent() {
  ServiceBeanExportedEvent exportEvent = new ServiceBeanExportedEvent(this);
  applicationEventPublisher.publishEvent(exportEvent);
}

代码示例来源:origin: apache/incubator-dubbo

/**
 * @since 2.6.5
 */
private void publishExportEvent() {
  ServiceBeanExportedEvent exportEvent = new ServiceBeanExportedEvent(this);
  applicationEventPublisher.publishEvent(exportEvent);
}

代码示例来源:origin: org.springframework/spring-context

@Override
public Object invoke(MethodInvocation invocation) throws Throwable {
  Object retVal = invocation.proceed();
  Assert.state(this.applicationEventClassConstructor != null, "No ApplicationEvent class set");
  ApplicationEvent event = (ApplicationEvent)
      this.applicationEventClassConstructor.newInstance(invocation.getThis());
  Assert.state(this.applicationEventPublisher != null, "No ApplicationEventPublisher available");
  this.applicationEventPublisher.publishEvent(event);
  return retVal;
}

代码示例来源:origin: spring-projects/spring-framework

@PostConstruct
  public void init() {
    this.publisher.publishEvent("earlyEvent");
  }
}

代码示例来源:origin: ctripcorp/apollo

@PreAuthorize(value = "@permissionValidator.isSuperAdmin()")
@DeleteMapping("/{appId:.+}")
public void deleteApp(@PathVariable String appId) {
 App app = appService.deleteAppInLocal(appId);
 publisher.publishEvent(new AppDeletionEvent(app));
}

代码示例来源:origin: ctripcorp/apollo

@PreAuthorize(value = "@permissionValidator.isSuperAdmin()")
@DeleteMapping("/apps/{appId}/appnamespaces/{namespaceName:.+}")
public ResponseEntity<Void> deleteAppNamespace(@PathVariable String appId, @PathVariable String namespaceName) {
 AppNamespace appNamespace = appNamespaceService.deleteAppNamespace(appId, namespaceName);
 publisher.publishEvent(new AppNamespaceDeletionEvent(appNamespace));
 return ResponseEntity.ok().build();
}

代码示例来源:origin: ctripcorp/apollo

@PreAuthorize(value = "@permissionValidator.isAppAdmin(#appId)")
@PutMapping("/{appId:.+}")
public void update(@PathVariable String appId, @Valid @RequestBody AppModel appModel) {
 if (!Objects.equals(appId, appModel.getAppId())) {
  throw new BadRequestException("The App Id of path variable and request body is different");
 }
 App app = transformToApp(appModel);
 App updatedApp = appService.updateAppInLocal(app);
 publisher.publishEvent(new AppInfoChangedEvent(updatedApp));
}

代码示例来源:origin: hs-web/hsweb-framework

@Override
public int updateByPk(String id, PermissionEntity entity) {
  int len = super.updateByPk(id, entity);
  eventPublisher.publishEvent(new ClearUserAuthorizationCacheEvent(null, true));
  return len;
}

代码示例来源:origin: hs-web/hsweb-framework

@Override
  public PermissionEntity deleteByPk(String id) {
    PermissionEntity old = super.deleteByPk(id);
    eventPublisher.publishEvent(new ClearUserAuthorizationCacheEvent(null, true));
    return old;
  }
}

代码示例来源:origin: ctripcorp/apollo

@PreAuthorize(value = "@permissionValidator.hasCreateAppNamespacePermission(#appId, #appNamespace)")
@PostMapping("/apps/{appId}/appnamespaces")
public AppNamespace createAppNamespace(@PathVariable String appId,
  @RequestParam(defaultValue = "true") boolean appendNamespacePrefix,
  @Valid @RequestBody AppNamespace appNamespace) {
 AppNamespace createdAppNamespace = appNamespaceService.createAppNamespaceInLocal(appNamespace, appendNamespacePrefix);
 if (portalConfig.canAppAdminCreatePrivateNamespace() || createdAppNamespace.isPublic()) {
  namespaceService.assignNamespaceRoleToOperator(appId, appNamespace.getName(),
    userInfoHolder.getUser().getUserId());
 }
 publisher.publishEvent(new AppNamespaceCreationEvent(createdAppNamespace));
 return createdAppNamespace;
}

代码示例来源:origin: ctripcorp/apollo

@PostMapping
public App create(@Valid @RequestBody AppModel appModel) {
 App app = transformToApp(appModel);
 App createdApp = appService.createAppInLocal(app);
 publisher.publishEvent(new AppCreationEvent(createdApp));
 Set<String> admins = appModel.getAdmins();
 if (!CollectionUtils.isEmpty(admins)) {
  rolePermissionService
    .assignRoleToUsers(RoleUtils.buildAppMasterRoleName(createdApp.getAppId()),
      admins, userInfoHolder.getUser().getUserId());
 }
 return createdApp;
}

代码示例来源:origin: hs-web/hsweb-framework

@EventListener
public void handleUserCreatedEvent(UserCreatedEvent event) {
  //生成totp
  String key = TotpUtil.getRandomSecretBase32(64);
  UserEntity userEntity = event.getUserEntity();
  String keyUrl = TotpUtil.generateTotpString(userEntity.getUsername(), domain, key);
  //创建一个用户没有操作权限的配置
  userSettingManager.saveSetting(userEntity.getId(), settingId, key, UserSettingPermission.NONE);
  eventPublisher.publishEvent(new TotpTwoFactorCreatedEvent(userEntity, keyUrl));
}

相关文章

微信公众号

最新文章

更多

ApplicationEventPublisher类方法