From 091b6af12a60f65347c9d5467bbf4d920a9d30d5 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Wed, 9 Mar 2016 16:56:35 +0000 Subject: [PATCH] Sort bean names before generating serialization ID Fixes gh-93 --- .../springframework/cloud/context/scope/GenericScope.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/scope/GenericScope.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/scope/GenericScope.java index 0b82ed58..6ecb1b51 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/scope/GenericScope.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/scope/GenericScope.java @@ -16,6 +16,7 @@ package org.springframework.cloud.context.scope; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; @@ -251,8 +252,10 @@ public class GenericScope implements Scope, BeanFactoryPostProcessor, Disposable String id = this.id; if (id == null) { - String names = Arrays.asList(beanFactory.getBeanDefinitionNames()) - .toString(); + List list = new ArrayList<>( + Arrays.asList(beanFactory.getBeanDefinitionNames())); + Collections.sort(list); + String names = list.toString(); logger.debug("Generating bean factory id from names: " + names); id = UUID.nameUUIDFromBytes(names.getBytes()).toString(); }