2017-05-09 3 views
0

私はGit上で私のapplication.propertiesファイルを保存した個人用リポジトリを作成しました。@ConfigurationPropertiesが外部プロパティファイルを取得しない

クラウド設定サーバー( 'my-config-server')を作成し、gitリポジトリURLを使用しました。

Gitリポジトリを使用して外部プロパティファイルにアクセスするはずのSpring起動アプリケーションをバインドしました。

@javax.jws.WebService(
        serviceName = "myService", 
        portName = "my_service", 
        targetNamespace = "urn://vdc.com/xmlmessaging/SD", 
        wsdlLocation = "classpath:myService.wsdl", 
        endpointInterface = "com.my.service.SDType") 

@PropertySource("application.properties") 
@ConfigurationProperties 
public class SDTypeImpl implements SDType { 

/*It has various services implementation that use following method**/ 

private SDObj getObj (BigDecimal value) { 
    AnnotationConfigApplicationContext context = 
        new AnnotationConfigApplicationContext(
          SDTypeImpl.class); 
    SDObj obj = context.getBean(SDPropertiesUtil.class).getObj(value); 
    context.close(); 
    return obj; 
} 

}

別のクラス:

public class SDPropertiesUtil { 

@Autowired 
public Environment env; 

public SDObj getObj(BigDecimal value) { 

String valueStr = env.getProperty(value.toString()); 
/*do logic*/ 
} 

私のアプリケーションは起動しますが、私のgitリポジトリからプロパティファイルをロードするために失敗しました。私は、外部からのapplication.propertiesを使用するために自分のアプリケーションを言っている

@PropertySource("application.properties") 
@ConfigurationProperties 

を使用していますので、

は、私は自分のアプリケーションでのsrc /メイン/リソースでapplication.propertiesを持つべきであると考えているが、内部プロパティファイルを使用しないでください。しかし、これは起こっていない。私のアプリケーションは依然として内部プロパティファイルを使用しています。

+0

@PraneethRamesh:

詳細なチュートリアルがで私のブログで発見されるだろうか? – Tiya

答えて

0

あなたが含まれているソースには、設定サーバーに接続するためのアプリ設定が表示されません。それを共有してもよろしいですか?

これはコンフィグサーバがクライアントアプリから照会することができる方法である:

/{application}/{profile}[/{label}] 
/{application}-{profile}.yml 
/{label}/{application}-{profile}.yml 
/{application}-{profile}.properties 
/{label}/{application}-{profile}.properties 

のは、このファイルが含まれてGitのレポにコンフィグサーバポイントを言ってみましょう:demo-config-client-development.properties

としてあなたは構成サーバーを照会することができるはずです。

curl http://localhost:8101/demo-config-client-development.properties 

は、構成サーバーが実行されていると仮定すると、 デモ-config設定 - クライアントコンフィグサーバに接続し、開発春のプロファイルを使用して実行し、このアプリは今のことができるようになりますローカルおよび8181

にリスニングのは、また、あなたが名前のクライアントアプリを持っているとしましょうGitリポジトリでホストされているリモートプロパティをConfigサーバ経由で読み込みます。あなたは何が起こっているか知っています、http://tech.asimio.net/2016/12/09/Centralized-and-Versioned-Configuration-using-Spring-Cloud-Config-Server-and-Git.html

+0

cf create-serviceコマンドを使用して設定サーバーを作成しました。私は自分のgitリポジトリURLをサーバーに提供し、Springブートアプリケーションでは、構成サーバー名(サービス: - config-server)を順番に追加しましたアプリケーションがプッシュされると、サーバーとアプリケーションをバインドする。 – Tiya

+0

次に、Springプロファイル-Pspring.profiles.active = devを使用し、Gitのプロパティファイルの名前を -dev.propertiesに変更してみてください。 @PropertySource( "application.properties")は必要ありません – ootero

+0

@PropertySource( "application.properties")は削除しましたが、SpringブートアプリケーションはGitからどのプロパティファイルを参照するのか、正確にファイルがGitのどこにあるのかを理解していますか? – Tiya

関連する問題