据我所知,spring.application.index自 version 以来已被认为已弃用2.0.0.RC1。我通过比较以下这些附录来判断:Spring Boot 2.0.0.M7:提到的常见应用程序属性。spring.application.indexSpring Boot 2.0.0.RC1:未提及的常见应用程序属性。spring.application.index通过检查ContextIdApplicationContextInitializer这些版本的源代码可以证明前面的说法:版本2.0.0.M7 ContextIdApplicationContextInitializer。这些版本在自定义用于 ApplicationContextID 创建的应用程序索引方面提供了更多的可变性。/** * Placeholder pattern to resolve for application index. The following order is used * to find the name: * <ul> * <li>{@code vcap.application.instance_index}</li> * <li>{@code spring.application.index}</li> * <li>{@code server.port}</li> * <li>{@code PORT}</li> * </ul> * This order favors a platform defined index over any user defined value. */`"${vcap.application.instance_index:${spring.application.index:${server.port:${PORT:null}}}}"`版本2.0.0.RC1 ContextIdApplicationContextInitializer。可能会发现索引是自动递增的 using AtomicLong,这也确保了它的唯一性。有关源代码中的更多详细信息,请参阅内部ContextIdApplicationContextInitializer$ContextId类。关键方法是它的构造函数:ContextId createChildId() { return new ContextId(this.id + "-" + this.children.incrementAndGet());}
/** * Placeholder pattern to resolve for application index. The following order is used * to find the name: * <ul> * <li>{@code vcap.application.instance_index}</li> * <li>{@code spring.application.index}</li> * <li>{@code server.port}</li> * <li>{@code PORT}</li> * </ul> * This order favors a platform defined index over any user defined value. */`"${vcap.application.instance_index:${spring.application.index:${server.port:${PORT:null}}}}"`版本2.0.0.RC1 ContextIdApplicationContextInitializer。可能会发现索引是自动递增的 using AtomicLong,这也确保了它的唯一性。有关源代码中的更多详细信息,请参阅内部ContextIdApplicationContextInitializer$ContextId类。关键方法是它的构造函数:ContextId createChildId() { return new ContextId(this.id + "-" + this.children.incrementAndGet());}