Class AlfrescoEventsAutoConfiguration

java.lang.Object
org.alfresco.event.sdk.autoconfigure.AlfrescoEventsAutoConfiguration

@AutoConfiguration(after={org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration.class,org.springframework.boot.activemq.autoconfigure.ActiveMQAutoConfiguration.class,org.springframework.boot.jms.autoconfigure.JmsAutoConfiguration.class}) @ConditionalOnClass(org.alfresco.repo.event.v1.model.RepoEvent.class) @EnableConfigurationProperties(AlfrescoEventsProperties.class) public class AlfrescoEventsAutoConfiguration extends Object
Auto-configuration for Alfresco Event Java API.

This auto-configuration defines the beans required to read the Alfresco JSON events from an ActiveMQ topic, transform that event from JSON to RepoEvent making use of the EventGenericTransformer and do up to two things:

  • Forward a Spring Integration Message to a publish-subscribe channel
  • Invoke the list of EventHandler registered to handle the specific event type consumed from the topic

This way the integrator can configure the Alfresco Java Event API to consume the events using Spring Integration or plain Java event handlers.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.integration.channel.PublishSubscribeChannel
     
    org.springframework.integration.channel.DirectChannel
     
    org.springframework.integration.dsl.IntegrationFlow
    acsEventsHandlersFlow(org.alfresco.event.sdk.handling.EventHandlingExecutor eventHandlingExecutor)
     
    org.springframework.integration.dsl.IntegrationFlow
    acsEventsListeningFlow(org.apache.activemq.ActiveMQConnectionFactory activeMQConnectionFactory, org.springframework.integration.channel.DirectChannel acsEventErrorChannel, jakarta.jms.Topic acsEventsTopic, org.springframework.integration.core.GenericTransformer<String,org.alfresco.repo.event.v1.model.RepoEvent<org.alfresco.repo.event.v1.model.DataAttributes<org.alfresco.repo.event.v1.model.Resource>>> acsEventTransformer)
     
    org.springframework.integration.dsl.IntegrationFlow
    acsEventsSpringIntegrationFlow(org.springframework.integration.channel.PublishSubscribeChannel acsEventChannel)
     
    jakarta.jms.Topic
     
    org.springframework.integration.core.GenericTransformer<String,org.alfresco.repo.event.v1.model.RepoEvent<org.alfresco.repo.event.v1.model.DataAttributes<org.alfresco.repo.event.v1.model.Resource>>>
     
    org.alfresco.event.sdk.handling.EventHandlingExecutor
    eventHandlingExecutor(org.alfresco.event.sdk.handling.EventHandlingRegistry eventHandlingRegistry)
     
    org.alfresco.event.sdk.handling.EventHandlingRegistry
    eventHandlingRegistry(List<org.alfresco.event.sdk.handling.handler.EventHandler> eventHandlers)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AlfrescoEventsAutoConfiguration

      public AlfrescoEventsAutoConfiguration()
  • Method Details

    • acsEventsListeningFlow

      @Bean public org.springframework.integration.dsl.IntegrationFlow acsEventsListeningFlow(org.apache.activemq.ActiveMQConnectionFactory activeMQConnectionFactory, @Qualifier("alfresco.events.error.channel") org.springframework.integration.channel.DirectChannel acsEventErrorChannel, jakarta.jms.Topic acsEventsTopic, org.springframework.integration.core.GenericTransformer<String,org.alfresco.repo.event.v1.model.RepoEvent<org.alfresco.repo.event.v1.model.DataAttributes<org.alfresco.repo.event.v1.model.Resource>>> acsEventTransformer)
    • acsEventsTopic

      @Bean public jakarta.jms.Topic acsEventsTopic()
    • acsEventErrorChannel

      @Bean(name="alfresco.events.error.channel") public org.springframework.integration.channel.DirectChannel acsEventErrorChannel()
    • acsEventTransformer

      @Bean public org.springframework.integration.core.GenericTransformer<String,org.alfresco.repo.event.v1.model.RepoEvent<org.alfresco.repo.event.v1.model.DataAttributes<org.alfresco.repo.event.v1.model.Resource>>> acsEventTransformer()
    • acsEventsSpringIntegrationFlow

      @Bean public org.springframework.integration.dsl.IntegrationFlow acsEventsSpringIntegrationFlow(@Qualifier("alfresco.events.main.channel") org.springframework.integration.channel.PublishSubscribeChannel acsEventChannel)
    • acsEventChannel

      @Bean(name="alfresco.events.main.channel") public org.springframework.integration.channel.PublishSubscribeChannel acsEventChannel()
    • acsEventsHandlersFlow

      @Bean public org.springframework.integration.dsl.IntegrationFlow acsEventsHandlersFlow(org.alfresco.event.sdk.handling.EventHandlingExecutor eventHandlingExecutor)
    • eventHandlingExecutor

      @Bean public org.alfresco.event.sdk.handling.EventHandlingExecutor eventHandlingExecutor(org.alfresco.event.sdk.handling.EventHandlingRegistry eventHandlingRegistry)
    • eventHandlingRegistry

      @Bean public org.alfresco.event.sdk.handling.EventHandlingRegistry eventHandlingRegistry(List<org.alfresco.event.sdk.handling.handler.EventHandler> eventHandlers)