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 Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected ApplicationContext
getBeansOfType
(Class<T> type) Get beans for the provided type from the application context.getGraph()
Return the cached graph.void
rebuild()
Rebuild the graph, re-cache it, and return it.void
setAdditionalPropertiesCallback
(Function<NamedComponent, Map<String, Object>> additionalPropertiesCallback) Specify a callbackFunction
to be called against eachNamedComponent
to populate additional properties to the targetIntegrationNode
.void
setApplicationContext
(ApplicationContext applicationContext) void
setApplicationName
(String applicationName) Set the application name that will appear in the 'contentDescriptor' under the 'name' key.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationListener
supportsAsyncExecution
-
Constructor Details
-
IntegrationGraphServer
public IntegrationGraphServer()
-
-
Method Details
-
setApplicationContext
- Specified by:
setApplicationContext
in interfaceApplicationContextAware
- Throws:
BeansException
-
getApplicationContext
-
setApplicationName
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 callbackFunction
to be called against eachNamedComponent
to populate additional properties to the targetIntegrationNode
.- Parameters:
additionalPropertiesCallback
- theFunction
to use for properties.- Since:
- 5.1
-
onApplicationEvent
- Specified by:
onApplicationEvent
in interfaceApplicationListener<ContextRefreshedEvent>
-
getGraph
Return the cached graph. Although the graph is cached, the data therein (stats etc.) are dynamic.- Returns:
- the graph.
- See Also:
-
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
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
-