2017-08-07 14 views
0

Thriftの別のサービスのメソッドに引数としてサービスを渡すことはできますか?Thriftサービスを引数として渡す

service MyService { 
    void foo(1: MyOtherService), 
} 

service MyOtherService { 
    void bar(), 
} 
+0

[恐怖の非同期関数のコールバック?](https://stackoverflow.com/questions/2554999/callbacks-in-thrift-asynchronous-functions)の重複の可能性あり – JensG

答えて

0

サービスは(他の言葉で:ネットワークを介してサービスを送信しても意味 - あなたのfoo機能透過引数を指定して、リモートマシン上で実行される)スリフトの直列化可能ではありません。

と思っています。ではなく、です。

実際の目標は何ですか? 私は直感を持っていますあなたは良いOOパターンが欲しいです。 この種のパラメータ化ですか?

+0

など。 gRPC/protobufは、1つのユースケースになる可能性のある組み込みストリーミングを提供します。 APIを適切な方法で設計すると、Thriftでエミュレートできます – JensG

+0

目的は、サービスを部分的に異なる言語で実装できるようにすることでした。サービスはメソッドのシグネチャに依存しますが、実装は異なります。しかし、これはネイティブ・スリフトでは不可能と思われます。 – ashwin153

+0

0.署名に同意してください!=実装。 1.すべてのソリューションは、完全に混合言語にすることができますが、BUT .... 2.すべてのパイプは2つの端を持っています。私は、同じ側の2つの(部分的な)サービスが他の側のためのコミュニティで働きたいと思っています。質問:世界とは異なる言語、f.e. Java /、NET?これは非常に簡単です –

関連する問題