[ 
https://issues.apache.org/jira/browse/SCB-425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

liubao updated SCB-425:
-----------------------
    Fix Version/s:     (was: java-chassis-1.0.0-m2)

> Add an easier way to read configurations
> ----------------------------------------
>
>                 Key: SCB-425
>                 URL: https://issues.apache.org/jira/browse/SCB-425
>             Project: Apache ServiceComb
>          Issue Type: New Feature
>          Components: Java-Chassis
>            Reporter: liubao
>            Priority: Major
>
> Background:
> Read configurations for microservice or operation is quite common in code, 
> e.g.
> {code:java}
> config = CONSUMER_FAULTINJECTION + serviceName + ".schemas." + schema + "."
> + CONSUMER_FAULTINJECTION_POLICY_PROTOCOLS + 
> invocation.getTransport().getName() + "." + key;
> value = getConfigValue(config);
> if ((value != FAULT_INJECTION_DEFAULT_VALUE)) {
> return value;
> }
> config = CONSUMER_FAULTINJECTION + serviceName + "." + 
> CONSUMER_FAULTINJECTION_POLICY_PROTOCOLS
> + invocation.getTransport().getName() + "." + key;
> value = getConfigValue(config);
> if ((value != FAULT_INJECTION_DEFAULT_VALUE)) {
> return value;
> }
> config = CONSUMER_FAULTINJECTION_GLOBAL + 
> CONSUMER_FAULTINJECTION_POLICY_PROTOCOLS
> + invocation.getTransport().getName() + "." + key;
> {code}
> This code is very long and add callbacks if hard for user code. 
>  
> Suggestions:
> We need a easier way to read configurations, code snippets: 
> {code:java}
> @Configuration(name="cse.myconfiguration")
> class MyConfiguration
> {
>    @Configuration(name="prop1")
>    String prop1;
>    @Configuration(name="prop2")
>    String prop2;
> }
> MyConfiguration configuration = 
> ConfigurationFactory.getReference(invocation.getQualifiedMicroserviceName()){code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to