2016-02-01 6 views
10

वसंत प्रोफ़ाइल के आधार पर वसंत-बूट यूरेका ग्राहक पंजीकरण को अक्षम करने का कोई तरीका है?यूरेका डिस्कवरी क्लाइंट - चुनिंदा अक्षम

वर्तमान में मैं निम्नलिखित एनोटेशन का उपयोग:

@Configuration 
@EnableAutoConfiguration 
@EnableDiscoveryClient 
@EnableConfigServer 

public class ConfigApplication { 
    public static void main(String[] args) { 
     SpringApplication.run(ConfigApplication.class, args); 
    } 
} 

क्या मैं की जरूरत है या तो के रूप में एक सशर्त इस तरह के (छद्म कोड बहाना)

@if (Profile!="development") 
@EnableDiscoveryClient 
@endif 

या गुण दायर आवेदन में किसी तरह। मैंने application.yml फ़ाइल को इस प्रकार सेट करने का प्रयास किया है:

spring: 
    profiles: development 
    cloud: 
    discovery: 
     enabled: false 

लेकिन यह काम नहीं किया।

+0

संभावित प्रोफाइल डुप्लिकेट [जब प्रोफाइल सक्रिय नहीं होता है तो बीन परिभाषा सहित] (http://stackoverflow.com/questions/13575201/including-bean-definition-when-a-profile-is-not-active) – g00glen00b

+0

एक प्रोफ़ाइल को छोड़कर सभी मामलों में कक्षा का उपयोग करें, आप '@profile ("! विकास ") ' – dmitryvim

उत्तर

13

इसे इस तरह कार्य करें: कुछ @Configuration एनोटेट वर्ग बनाने (कक्षा शरीर छोड़ा जा सकता है) पूर्व .:

@Profile("!developement") 
@Configuration 
@EnableDiscoveryClient 
public class EurekaClientConfiguration { 
} 

इसका मतलब है कि इस विन्यास फाइल (और भीतर @EnableDiscoveryClient) को छोड़कर हर प्रोफ़ाइल में लोड किया जाएगा " developement "।

आशा है कि मदद करता है,

+0

लिख सकते हैं धन्यवाद कि मैं –

+0

की तलाश कर रहा था क्योंकि यह एक अद्भुत जवाब है। – ogradyjd

3

यहां एक ही समस्या है।

spring: 
    profiles: development 

    eureka: 
    instance: 
     hostname: localhost 
    client: 
     registerWithEureka: false 
     fetchRegistry: false 
27

आप का उपयोग कर इस application.yml में यूरेका ग्राहक निष्क्रिय कर सकते हैं: आप बस निम्नलिखित विन्यास आपके आवेदन संपत्ति फाइल में डाल सकते हैं

eureka: 
    client: 
    enabled: false 

यह एक प्रोफ़ाइल के लिए भी है

+4

कृपया अपने उत्तर में स्पष्टीकरण जोड़ें। –

+0

application.yml या application.properties में आप विभिन्न प्रोफाइल में वसंत चर सेट कर सकते हैं, क्योंकि यह तीसरे प्रश्न कोड नमूने में लिखा गया था। मैंने अभी इस तरह यूरेका को अक्षम करने का सुझाव दिया है – dmitryvim

4

नहीं है एक मानक बूलियन स्प्रिंग-क्लाउड प्रॉपर्टी

spring.cloud.discovery.enabled

यह "यूरेका" से बेहतर हो सकता है क्योंकि आप एक अलग प्रदाता का उपयोग कर रहे हैं।

संबंधित मुद्दे