/// <summary> /// /// </summary> private void SendAuditEvent(IntegrationRequestEvent integrationRequestEvent) { if (runtimeBundleProperties.EventsProperties.IntegrationAuditEventsEnabled) { IntegrationRequestSentEventImpl @event = new IntegrationRequestSentEventImpl(runtimeBundleProperties.AppName, runtimeBundleProperties.AppVersion, runtimeBundleProperties.ServiceName, runtimeBundleProperties.ServiceFullName, runtimeBundleProperties.ServiceType, runtimeBundleProperties.ServiceVersion, integrationRequestEvent.ExecutionId, integrationRequestEvent.ProcessDefinitionId, integrationRequestEvent.ProcessInstanceId, integrationRequestEvent.IntegrationContextId, integrationRequestEvent.FlowNodeId); auditProducer.Send(MessageBuilder <IProcessEngineEvent[]> .WithPayload(new IProcessEngineEvent[] { @event }).Build()); } }
/// <summary> /// Publishes an custom event using the Spring <seealso cref="IApplicationEventPublisher"/>. This event will be caught by /// <seealso ref="IntegrationRequestSender#sendIntegrationRequest(IntegrationRequestEvent)"/> which is annotated with /// <seealso ref="TransactionalEventListener"/> on phase <seealso ref="TransactionPhase#AFTER_COMMIT"/>. </summary> /// <param name="execution"> the related execution </param> /// <param name="integrationContext"> the related integration context </param> private void PublishSpringEvent(IExecutionEntity execution, IIntegrationContextEntity integrationContext) { IntegrationRequestEvent @event = new IntegrationRequestEvent(execution, integrationContext, runtimeBundleProperties.AppName, runtimeBundleProperties.AppVersion, runtimeBundleProperties.ServiceName, runtimeBundleProperties.ServiceFullName, runtimeBundleProperties.ServiceType, runtimeBundleProperties.ServiceVersion); eventPublisher.PublishEvent(@event); }
/// <summary> /// /// </summary> private IMessage <IntegrationRequestEvent> buildIntegrationRequestMessage(IntegrationRequestEvent @event) { return(MessageBuilder <IntegrationRequestEvent> .WithPayload(@event).SetHeader(CONNECTOR_TYPE, @event.ConnectorType).Build()); }
/// <summary> /// /// </summary> public virtual void sendIntegrationRequest(IntegrationRequestEvent @event) { resolver.ResolveDestination(@event.ConnectorType).Send(buildIntegrationRequestMessage(@event)); SendAuditEvent(@event); }
public void PublishEvent(IntegrationRequestEvent @event) { inMemoryBus.PublishAsync(@event); }