Class IntegrationGraphServer

java.lang.Object
org.springframework.integration.graph.IntegrationGraphServer
All Implemented Interfaces:
EventListener, Aware, ApplicationContextAware, ApplicationListener<ContextRefreshedEvent>

@ImportRuntimeHints(org.springframework.integration.graph.IntegrationGraphRuntimeHints.class) public class IntegrationGraphServer extends Object implements ApplicationContextAware, ApplicationListener<ContextRefreshedEvent>
Builds the runtime object model graph.
Since:
4.3
Author:
Gary Russell, Artem Bilan, Christian Tzolov
  • Constructor Details

    • IntegrationGraphServer

      public IntegrationGraphServer()
  • Method Details

    • setApplicationContext

      public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
      Specified by:
      setApplicationContext in interface ApplicationContextAware
      Throws:
      BeansException
    • getApplicationContext

      protected ApplicationContext getApplicationContext()
    • setApplicationName

      public void setApplicationName(String applicationName)
      Set the application name that will appear in the 'contentDescriptor' under the 'name' key. If not provided, the property 'spring.application.name' from the application context environment will be used (if present).
      Parameters:
      applicationName - the application name.
    • setAdditionalPropertiesCallback

      public void setAdditionalPropertiesCallback(@Nullable Function<NamedComponent,Map<String,Object>> additionalPropertiesCallback)
      Specify a callback Function to be called against each NamedComponent to populate additional properties to the target IntegrationNode.
      Parameters:
      additionalPropertiesCallback - the Function to use for properties.
      Since:
      5.1
    • onApplicationEvent

      public void onApplicationEvent(ContextRefreshedEvent event)
      Specified by:
      onApplicationEvent in interface ApplicationListener<ContextRefreshedEvent>
    • getGraph

      public Graph getGraph()
      Return the cached graph. Although the graph is cached, the data therein (stats etc.) are dynamic.
      Returns:
      the graph.
      See Also:
    • rebuild

      public Graph rebuild()
      Rebuild the graph, re-cache it, and return it. Use this method if the application components have changed (added or removed).
      Returns:
      the graph.
      See Also:
    • getBeansOfType

      protected <T> Map<String,T> getBeansOfType(Class<T> type)
      Get beans for the provided type from the application context. This method can be extended for some custom logic, e.g. get beans from the parent application context as well.
      Type Parameters:
      T - the type for beans to obtain
      Parameters:
      type - the type for beans to obtain
      Returns:
      a Map of bean for the provided type
      Since:
      5.1