Shorten internal component names for graph (#3128)
* Shorten internal component names for graph The long `IntegrationContextUtils.ERROR_LOGGER_BEAN_NAME` name is used for `errorChannel` `LoggingHandler`'s endpoint. It is too long for endpoint node in the graph meanwhile the `errorChannel` is good everywhere * Change an `IntegrationGraphServer` logic to shorten internal component names before drawing a graph * Introduce `IntegrationUtils.obtainComponentName()` for shortening an internal name if any * Use `IntegrationConfigUtils.BASE_PACKAGE` in the `IntegrationMBeanExporter` instead of its own static property * Remove `IntegrationConfigUtils.FACTORY_BEAN_OBJECT_TYPE` in favor of introduced in SF `FactoryBean.OBJECT_TYPE_ATTRIBUTE` * Rework affected test classes to JUnit 5 * Remove usage of deprecated options in the `@EnableIntegrationManagement` * Document names shortening feature for graph * * Improve `obtainComponentName()` function
This commit is contained in:
@@ -80,7 +80,7 @@ A Spring Integration application with only the default components would expose a
|
||||
"max" : 0.0
|
||||
}
|
||||
},
|
||||
"name" : "_org.springframework.integration.errorLogger"
|
||||
"name" : "errorLogger"
|
||||
} ],
|
||||
"links" : [ {
|
||||
"from" : 2,
|
||||
@@ -143,29 +143,7 @@ The `nodes` graph element is perhaps the most interesting, because its elements
|
||||
Node elements contain various properties that are generally self-explanatory.
|
||||
For example, expression-based components include the `expression` property that contains the primary expression string for the component.
|
||||
To enable the metrics, add an `@EnableIntegrationManagement` to a `@Configuration` class or add an `<int:management/>` element to your XML configuration.
|
||||
You can control exactly which components in the framework collect statistics.
|
||||
See <<./metrics.adoc#metrics-management,Metrics and Management>> for complete information.
|
||||
See the `stats` attribute from the `o.s.i.errorLogger` component in the JSON example shown earlier.
|
||||
In this case, The `nullChannel` and `errorChannel` do not provide statistics information, because the configuration for this example was as follows:
|
||||
|
||||
====
|
||||
[source,java]
|
||||
----
|
||||
@Configuration
|
||||
@EnableIntegration
|
||||
@EnableIntegrationManagement(statsEnabled = "_org.springframework.integration.errorLogger.handler",
|
||||
countsEnabled = "!*",
|
||||
defaultLoggingEnabled = "false")
|
||||
public class ManagementConfiguration {
|
||||
|
||||
@Bean
|
||||
public IntegrationGraphServer integrationGraphServer() {
|
||||
return new IntegrationGraphServer();
|
||||
}
|
||||
|
||||
}
|
||||
----
|
||||
====
|
||||
|
||||
The `nodeId` represents a unique incremental identifier to let you distinguish one component from another.
|
||||
It is also used in the `links` element to represent a relationship (connection) of this component to others, if any.
|
||||
|
||||
@@ -26,3 +26,7 @@ See its JavaDocs and <<./graph.adoc#integration-graph,Integration Graph>> for mo
|
||||
|
||||
The gateway proxy now doesn't proxy `default` methods by default.
|
||||
see <<./gateway.adoc/gateway-calling-default-methods,Invoking `default` Methods>> for more information.
|
||||
|
||||
|
||||
Internal components (such as `_org.springframework.integration.errorLogger`) now have a shortened name when they are represented in the integration graph.
|
||||
See <<./graph.adoc#integration-graph,Integration Graph>> for more information.
|
||||
|
||||
Reference in New Issue
Block a user