You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "liubao (JIRA)" <ji...@apache.org> on 2018/03/22 08:05:00 UTC

[jira] [Created] (SCB-425) Add an easier way to read configurations

liubao created SCB-425:
--------------------------

             Summary: 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
            Reporter: liubao


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)