Skip to content

Commit 1dfb802

Browse files
committed
GH-2988: Use @Config(proxyBeanMethods=false)
Fixes #2988 For faster startup (and possibility to compile to native code with GraalVM) use a `proxyBeanMethods = false` on all the `@Configuration` classes in the Framework * Provide some other code style polishing
1 parent 733b895 commit 1dfb802

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfiguration.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
*
4545
* @since 4.2
4646
*/
47-
@Configuration
47+
@Configuration(proxyBeanMethods = false)
4848
public class IntegrationManagementConfiguration implements ImportAware, EnvironmentAware {
4949

5050
private AnnotationAttributes attributes;
@@ -60,7 +60,7 @@ public void setEnvironment(Environment environment) {
6060
public void setImportMetadata(AnnotationMetadata importMetadata) {
6161
Map<String, Object> map = importMetadata.getAnnotationAttributes(EnableIntegrationManagement.class.getName());
6262
this.attributes = AnnotationAttributes.fromMap(map);
63-
Assert.notNull(this.attributes,
63+
Assert.notNull(this.attributes, ()->
6464
"@EnableIntegrationManagement is not present on importing class " + importMetadata.getClassName());
6565
}
6666

@@ -85,7 +85,7 @@ public IntegrationManagementConfigurer managementConfigurer() {
8585
}
8686

8787
private void setupCountsEnabledNamePatterns(IntegrationManagementConfigurer configurer) {
88-
List<String> patterns = new ArrayList<String>();
88+
List<String> patterns = new ArrayList<>();
8989
String[] countsEnabled = this.attributes.getStringArray("countsEnabled");
9090
for (String managedComponent : countsEnabled) {
9191
String pattern = this.environment.resolvePlaceholders(managedComponent);

spring-integration-jmx/src/main/java/org/springframework/integration/jmx/config/IntegrationMBeanExportConfiguration.java

+10-7
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,13 @@
5858
*
5959
* @since 4.0
6060
*/
61-
@Configuration
61+
@Configuration(proxyBeanMethods = false)
6262
public class IntegrationMBeanExportConfiguration implements ImportAware, EnvironmentAware, BeanFactoryAware {
6363

64-
private static final String MBEAN_EXPORTER_NAME = "integrationMbeanExporter";
64+
/**
65+
* A name for default {@link IntegrationMBeanExporter} bean.
66+
*/
67+
public static final String MBEAN_EXPORTER_NAME = "integrationMbeanExporter";
6568

6669
private AnnotationAttributes attributes;
6770

@@ -95,7 +98,7 @@ public void setEnvironment(Environment environment) {
9598
public void setImportMetadata(AnnotationMetadata importMetadata) {
9699
Map<String, Object> map = importMetadata.getAnnotationAttributes(EnableIntegrationMBeanExport.class.getName());
97100
this.attributes = AnnotationAttributes.fromMap(map);
98-
Assert.notNull(this.attributes,
101+
Assert.notNull(this.attributes, () ->
99102
"@EnableIntegrationMBeanExport is not present on importing class " + importMetadata.getClassName());
100103
}
101104

@@ -121,7 +124,7 @@ public IntegrationMBeanExporter mbeanExporter() {
121124

122125
private void setupDomain(IntegrationMBeanExporter exporter) {
123126
String defaultDomain = this.attributes.getString("defaultDomain");
124-
if (defaultDomain != null && this.environment != null) {
127+
if (this.environment != null) {
125128
defaultDomain = this.environment.resolvePlaceholders(defaultDomain);
126129
}
127130
if (StringUtils.hasText(defaultDomain)) {
@@ -131,11 +134,11 @@ private void setupDomain(IntegrationMBeanExporter exporter) {
131134

132135
private void setupServer(IntegrationMBeanExporter exporter) {
133136
String server = this.attributes.getString("server");
134-
if (server != null && this.environment != null) {
137+
if (this.environment != null) {
135138
server = this.environment.resolvePlaceholders(server);
136139
}
137140
if (StringUtils.hasText(server)) {
138-
MBeanServer bean = null;
141+
MBeanServer bean;
139142
if (server.startsWith("#{") && server.endsWith("}")) {
140143
bean = (MBeanServer) this.resolver.evaluate(server, this.expressionContext);
141144
}
@@ -159,7 +162,7 @@ private void setupComponentNamePatterns(IntegrationMBeanExporter exporter) {
159162
String pattern = this.environment.resolvePlaceholders(managedComponent);
160163
patterns.addAll(Arrays.asList(StringUtils.commaDelimitedListToStringArray(pattern)));
161164
}
162-
exporter.setComponentNamePatterns(patterns.toArray(new String[patterns.size()]));
165+
exporter.setComponentNamePatterns(patterns.toArray(new String[0]));
163166
}
164167

165168
}

0 commit comments

Comments
 (0)