問題タブ [thrift]

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.

0 投票する
0 に答える
1130 参照

boost-asio - Boost Asio の背後に Apache Thrift を配置する方法は?

私が見る限り、Thrift のドキュメント/例/チュートリアルは非常に限られています。C++ での 1 つの例は、Thrift ハンドラーをソケットにアタッチする方法を示しています。Boost::Asio ベースの http サーバーにラップしたいと思います。

この件に関してすでに公開されている経験へのリンクを誰かが持っている場合は、教えてください。何も見つかりませんでした。

または、少なくとも、ヒントをください。

0 投票する
2 に答える
4201 参照

iphone - iPhone の Thrift フレームワーク

私は現在、目的の c で生成されたファイルを iPhone プロジェクトでコンパイルしようとして立ち往生しています。基本的に、次の4つのインポートにはそのようなディレクトリがないと私に言い続けます:

Thrift/TProtocol.h Thrift/TApplicationException.h Thrift/TProtocolUtil.h Thrift/TProcessor.h

Thrift wiki のすべての指示に従い、XCode で Thrift フレームワークをダウンロードしてコンパイルしましたが、iPhone 開発に固有の情報はありません。XCodeで新しいコマンドラインプロジェクトを作成すると、それらのファイルを問題なくインポートできるため、iPhoneプロジェクトに固有の問題であるとほぼ確信しています。

0 投票する
3 に答える
5408 参照

java - RPCフレームワークは利用できますか?

内部で使用するためにRPCフレームワークを使用したいと考えています。フレームワークはクロスランゲージでなければなりません。現在、ApacheThriftを調査しています。GoogleプロトコルバッファはRPC機能を正確に提供していません。私がスリフトから離れて得た選択肢は何ですか。(私のサーバーは主にJavaで、クライアントはJava、Python、PHPです)。

0 投票する
1 に答える
1714 参照

erlang - Thrift 関数定義での「oneway void」の使用

onewayThrift 関数定義の 1 つで修飾子を使用しています。

Thrift を介してそれぞれの Erlang コードを生成すると、これは次のように変換されます。

oneway_voidそこのアトムに注目してください。

関数が実行されると、secret_function次のエラーが発生します。

ユーザー コードに含まれる可能性のあるバグとは別に、ここではthrift_protocol:term_to_typeid/1関数がアトムを引数として呼び出されoneway_void、関数句が発生します。実際、コード (thrift_protocol.erl) から読み取ると、次のようになります。

バグ?他の説明はありますか?なぜoneway_voidその関数に渡されているのですか?

0 投票する
2 に答える
954 参照

.net - .NET での Cassandra 0.7 への接続

既存のライブラリを Cassandra 0.6 から 0.7 beta1にアップグレードするのに苦労しています。当初は運用上の問題だと思っていたので、基本に分解することにしました。

これが私が訴える基本的なセットアップです

次に、入力プロトコルと出力プロトコルを切り替える次の方法で、クライアントのセットアップを変更しようとしました。

次に、ダウンロードから取得したデフォルトの Cassandra 構成を使用する次のプログラムを実行し、データが挿入されていないためゼロを返すと予想されるカウントなどの単純な要求を実行します。

上記で提供した 4 つの異なるセットアップのそれぞれが実行に失敗します。それらのいくつかはロックアップし、他のものは例外をスローします。したがって、基本的に、.NET フレームワークを使用して新しい Cassandra 0.7 で動作するように接続しようとしています。

それぞれで見つかった問題の種類は次のとおりです。

  • all framed: set_keyspace でロックアップ
  • all socket: 無効なメソッド名をスローします: set_keyspace の 'set_keyspace'
  • in: framed out: socket: set_keyspace でロックアップ
  • in: socket out: framed: set_keyspace でロックアップ

この単純なアプリケーションを動作させることができないため、Cassandra の Thrift レイヤーで行っていることと関係があると 99% 確信しています。しかし、私の 0.7 ブランチをブラウジングしたい場合は、ここで見つけることができます:

http://github.com/managedfusion/fluentcassandra/tree/0.7

0 投票する
1 に答える
554 参照

c# - Cassandraでbatch_mutateがサイレントに失敗する

thrift インターフェイスを使用して Cassandra 0.6.5 を使用しています。batch_mutate メソッド呼び出しを使用しようとしていますが、実行してもエラー メッセージが表示されません。これは、それが機能したと私に信じさせます。CLIで確認すると何もありません。私のコードや、誰もが見ることができる Mutation_map の形式に何か問題がありますか? 何か案は?

前もって感謝します、

LN

上記のコードは生成します (列は名前:値 @ タイムスタンプで、値は型: と実際の値の表現で構成されます):

0 投票する
2 に答える
442 参照

cassandra - AssertionError:ThriftAPIバージョンの不一致。(クライアント:12、サーバー:13)

私はTwissandraをインストールしています-Cassandraの上にPythonの例です。 ここでの説明。Lubuntu 10.04へのすべての依存関係を正常にコンパイルおよび構築した後(Thrift 4.0を使用してから2.0で試してみました)、Webサーバーで最後の手順を実行すると、クラッシュして次のApacheThriftエラーが発生します。

AssertionError: Thrift API version mismatch. (Client: 12, Server: 13)

これは節約の問題(4.0)またはCassandraの問題(7.0ベータ)ですか?Cassandraはログで報告します

INFO 23:52:01,487 Cassandra version: 0.7.0-beta1-SNAPSHOT INFO 23:52:01,487 Thrift API version: 13.0.0

0 投票する
0 に答える
799 参照

cassandra - スリフトメイクエラー

thrift を適切にコンパイルできません。make を使用すると、次のように出力されます。

何か案は?ありがとう :)

0 投票する
1 に答える
1908 参照

rubygems - Thrift gem と JRuby

最近、MRI で使用した後、JRuby と Thrift gem をインストールしました。「thrift」が必要な場合に「thrift_native 拡張機能を読み込めません。純粋な Ruby ライブラリにデフォルト設定されています。」というメッセージが表示されるという問題が発生しています。次に、Ruby で生成されたコード thrift を要求しようとすると、次のエラーが表示されます: "NameError: uninitialized constant Thrift::Struct_Union"

現在、thrift gem は JRuby で動作しませんか?

gem を使用する以外に、JRuby で倹約を使用するためにできることはありますか?

編集: 私の Mac を調べたところ、MRI の gem と JRuby の gem は同じバージョン (0.2.0.4) であっても、異なることがわかりました。これはひどいアイデアのように思えますが、.rb ファイルを MRI gem から JRuby gem にコピーして thrift.rb に追加require 'thrift/struct_union'すると、thirft_native が見つからないことを除いて、Thrift gem に関連するエラーは発生しなくなります。純粋な Ruby ライブラリを使用します。これは、thrift_native が Java ではなく C 用に作成されているため説明できます。

0 投票する
3 に答える
923 参照

c++ - Webアプリのバックエンド計算にC++を使用する

私は、データを処理し、Cassandraをデータストアとして使用するアプリケーションに対してPHPフロントエンドを実行しています。

ただし、PHPでは、一部の計算に必要なパフォーマンス(および、メモリ内に必要な膨大な量のデータの管理)が得られないことはわかっています。

裏付けのあるものをC++で記述し、PHPアプリケーションからアクセスしたいと思います。私は2つをインターフェースするための最良の方法を見つけようとしています。

私が見たいくつかのオプション:

  1. スリフト(私はすでにカサンドラに使用しているので自然な選択です)
  2. Googleのプロトコルバッファ
  3. gSOAP
  4. Apache Axis

上記は私が見たものだけであり、私は自分自身を制限するものではありません。

PHPアプリケーションに転送されるデータは非常に小さいため、ストリーミングは必要ありません。計算結果のみが転送されます。

皆さんはどう思いますか?