問題タブ [spring-cloud]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - spring-cloud-config の Maven ビルドを作成できません
spring-cloud-config の Maven ビルドを作成しようとしています。JGitEnvironmentRepositoryTests クラスのすべてのテストは、次の例外スタック トレースで失敗しています。
私のSSHキーは、githubでテストして適切に機能したため、.sshフォルダーで適切に構成されています。
heroku - Heroku の職長用の Cloud Connector はありませんか?
Heroku を使用して spring-cloud hello world を実行しようとしています。私はフォアマンを使用しようとしていますが、次のスタックトレースを取得します:
私が見逃した「職長」コネクタはありますか?
apache-camel - Spring Cloud を使用する場合、Apache Camel は無関係ですか?
Spring Cloud と Apache Camel を使用したサービスの設計に携わっています。今日、同僚が本当にApache Camelが必要かどうかを尋ねたとき(おそらく擁護する方が良いかもしれません)、私はびっくりしました。彼の見解では、私たちが話している下流システムのほとんどは REST ベースであるため、統合フレームワークは必要ないはずです。私の記憶が正しければ、彼はマイクロサービスと統合フレームワークには互換性がないこともほのめかしていました。
私は、Spring Cloud がデプロイメント/運用の問題を解決するのに役立ち、統合フレームワークが統合の問題を解決し、それらには直交する要件があることを熱心に提案し始めました。
システムが通信に使用するプロトコルの一部を次に示します。
不明なプロトコル: お客様の環境に統合する際に、お客様のシステムと統合する必要があります。通信プロトコルはまだ不明です。
Martin Fowler と James Lewis による次の声明は、ESB とマイクロサービスには互換性がないことを示唆しているようです。 Apache Camel などの統合フレームワーク?
より一般的に言えば、私の同僚の意見は正しいでしょうか? これは、統合パターンがマイクロサービスに適していないことを意味するのでしょうか?
spring-cloud - 接続/読み取りタイムアウトを設定できないrestTemplateを使用したリボン/ eureka / hystrixを備えたspring-cloud
spring-cloud を使用してスプリング ブート アプリケーションを構築しましたが、統合テストに引き続き mockMvc を使用できるように、クライアント アプリケーション (これもマイクロサービス) 内で RestTemplate を使用したいと考えています。私は、呼び出しているサービス内のクライアント マイクロサービスと eureka クライアントで、デフォルトのリボン/eureka/hystrix クライアント セットアップを使用しています。これは機能しています(serviceIdsがrestTemplate内のサービスエンドポイントを識別するものであることを理解したら)。私の問題は、restTemplateの読み取りタイムアウトも接続タイムアウトも、デフォルトの300msのように見えるものから変更できないように見えることです。
通話の詳細:
以下を含む application.properties を使用:
restTemplate のデフォルトのタイムアウトを変更するために設定する必要があるプロパティを知っている人はいますか? ドキュメントはこの件に関して非常に軽く、コードはつい最近、restTemplate をリボン/eureka スプリング ブート デフォルトに対して使用することさえ許可したようです。おそらくこれはまだ構築されていません。
java - javanica 内の Hystrix 非同期メソッドが spring-boot Java アプリケーション内で実行されていない
spring-cloud-starter (つまり、すべてのマイクロサービス機能を備えた spring boot) を使用しています。javanica @HystrixCommand を使用してアノテーションが付けられたコンポーネントで hystrix メソッドを作成するときは、javanica github サイト ( https://github.com/Netflix/Hystrix/tree/master/hystrix-contrib/hystrix-javanica ) の指示に従って作成します。そのメソッドは、「Future<>」またはリアクティブ実行「Observable<>」のどちらを使用するかに関係なく、非同期で実行され、何も実行/実行されず
java.lang.ClassCastException: springbootdemo.EricComponent$1 cannot be cast to springbootdemo.Eric
、結果を取得しようとするたびに取得します (Future<> の場合) または取得しますコールバック(リアクティブ実行の場合..およびprintlnのdontトリガーの場合、実際には実行されませんでした)。
EricComponent$1
ではなくが返されるのはなぜEric
ですか? ところで、Eric
2つの文字列を持つ単純なクラスです...省略されています。
私は明示的に実行する必要があると考えていますが、それは次の理由で私をほのめかしています:私が得るそれを実行する方法。
java - Spring Cloud Hystrix ダッシュボードの例の起動に問題がある
Hystrix ダッシュボードを起動しようとすると、起動時にエラーが発生します。ベースとして github を介して提供される例に従います。実際にはコードに変更を加えていません。起動しようとしているだけです。
以下は、報告されているエラーです。
spring-cloud-starters 1.0.0.BUILD-SNAPSHOT と 1.0.0.M1 の両方を試しました。
spring - Spring ブート構成サーバー
ここにあるスプリングブート構成サーバーを把握しようとしてきました: https://github.com/spring-cloud/spring-cloud-configドキュメントをより完全に読んだ後、ほとんどの作業を行うことができました私の問題の。ただし、ファイルベースの PropertySourceLocator 用に追加のクラスを作成する必要がありました
次に、これを ConfigServiceBootstrapConfiguration.java に追加しました
結局、これは私が望んでいたことをしました。これが私がすべきことだったのか、それともまだ何かが欠けていて、これはすでに処理されていて、見逃しただけなのか知りたいです。
*****デイブが求めた情報を編集*****
ファイル プロパティのソース ローダーを取り出して、bootstrap.yml を次のように更新すると、
サンプル アプリケーションは、起動時に次のエラーをスローします。
これが、追加のクラスが必要になると思った理由です。テストケースに関する限り、SpringApplicationEnvironmentRepositoryTests.javaについて話していると思います。環境の作成に同意しますが、全体として、uriプロトコルが「ファイル」の場合、アプリケーションは期待どおりに動作していないようです。
******追加編集*******
これが私がこれが機能していることを理解する方法です: サンプル プロジェクトは spring-cloud-config-client アーティファクトに依存しているため、spring-cloud-config-server アーティファクトに推移的な依存関係があります。クライアント アーティファクトの ConfigServiceBootstrapConfiguration.java は、タイプ ConfigServicePropertySourceLocator のプロパティ ソース ロケータ Bean を作成します。構成クライアント アーティファクトの ConfigServicePropertySourceLocator.java には注釈 @ConfigurationProperties("spring.cloud.config") があり、プロパティ uri はそのクラスに存在するため、bootstrap.yml ファイルで spring.cloud.config.uri を設定します。
これは、quickstart.adoc の次のステートメントによって強化されると思います。
実行すると、ポート 8888 でデフォルトのローカル構成サーバーから外部構成が取得されます (実行中の場合)。起動動作を変更するには、 (アプリケーション コンテキストのブートストラップ フェーズと
bootstrap.properties
同様) を使用して構成サーバーの場所を変更できます。application.properties
---- spring.cloud.config.uri: http://myconfigserver.com
この時点で、JGitEnvironmentRepository Bean がどのように使用され、github への接続を探しているかがわかります。uri は ConfigServicePropertySourceLocator で設定されるプロパティであるため、任意の有効な uri プロトコルが場所を指すために機能すると想定しました。そのため、サーバーが NativeEnvironmentRepository を取得すると考えて、「file://」プロトコルを使用しました。
したがって、この時点で、いくつかの手順が抜けているか、ファイル システム プロパティのソース ロケータを追加する必要があると確信しています。
それが少し明確になることを願っています。
フルスタック:
heroku - 複数の RedisLabs データベースに接続するために、Spring Cloud Connector for Heroku を使用する
ホームページで説明されているように、私のアプリケーションには複数のRedisLabs データベースが必要です。
プラン内の複数の専用データベース
1 つのプランで複数の DB を有効にし、それぞれが専用のプロセスでノンブロッキング方式で実行されます。
Heroku (またはローカルの Foreman) に接続するためにSpring Cloud Connectorsに依存していますが、RedisServiceInfoCreator クラスは単一の RedisLabs URL を許可しているようです。REDISCLOUD_URL
最初の redis 接続ファクトリを構成した方法は次のとおりです。
複数の redis labs データベースを使用する場合、 2 番目の接続ファクトリを構成するにはどうすればよいですか?