問題タブ [esper]

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 投票する
1 に答える
1187 参照

esper - Time(t) と Time(t-1) の Esper EPL クエリ

Time(t) & Time(t-1) の平均を取得できる EPL クエリを実装しようとしています。

例えば:

a) 最初の 5 秒間 (0 ~ 5 秒) に、平均 12 のイベントが 2 つある

b) 次の 5 秒間 (5 秒から 10 秒) に、平均 23 の 3 つのイベントがあり、この情報をキャッチする EPL クエリでは、前の時間ウィンドウからの平均 12 も確認できます。最初の5秒

私が持っているアイデアは、仮想的に作成されたオブジェクト ScoreInfoBeforeAfter に見られるように、最終的な epl クエリが Time(t) & Time(t-1) のスナップショットを持つようにオブジェクト/クエリをずらすことです。しかし、それは機能していません。

どんなアイデアでも大歓迎です。ありがとう。

~~~~

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

method-chaining - Esper:EPLクエリでのプロパティアクセスとメソッド呼び出しの連鎖

私は現在、いくつかのEsperEPLクエリを機能させるのに苦労しています。クエリは次のようになります。

EPLStatementこれをviaにコンパイルしようとするとEPAdministrator.createEPL()、次の例外がスローされます。

com.espertech.esper.client.EPStatementException:ステートメントの開始中にエラーが発生しました:名前'a.center'でクラスを読み込めませんでした。インポートを確認してください

イベントクラスとクエリを次のように変更すると

それはうまくコンパイルされます。Esperはa.center.distance(...)、クラス名とそれに続く静的メソッド呼び出しとして解釈a.distance(...)されるようですが、オブジェクトに対するメソッド呼び出しとして解釈されますa

どうすればEsperに元のクエリを意図したとおりに解釈させることができますか(つまり、プロパティアクセスとそれに続くメソッド呼び出しとして)?

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

drools - CEP が必要か (システム状態とイベントの再生)

CEP エンジンを探していますが、要件を満たすエンジンがあるかどうかわかりません。私のシステムは、イベント データの複数のストリームを処理し、複雑なイベントを生成する必要があります。これは、ほぼすべての CEP エンジン (ESPER、Drools) に完全に適合します。

すべての生のイベントをデータベースに保存し (CEP の部分ではありませんが、これを行います)、ルール (または継続的なクエリなど) を使用して、複雑なイベントに対するカスタム アクションを生成します。しかし、私のルールのいくつかは、過去の出来事に依存しています。たとえば、配偶者が家に出入りするたびにセンサー送信イベントを設定できます。私の車と好きな女性の車の両方が家の近くにある場合、SMS 'Dangerous' を受け取ります。

問題は、イベント処理サービスを再起動すると、システムの状態に関するすべての情報が失われ (妻は家にいますか?)、それを復元するには、不明な期間イベントを再生する必要があることです。システム状態は、生のイベントだけでなく、複雑なイベントにも依存する可能性があります。

過去の複雑なイベントに関するレポートが必要な場合も、同じ問題が発生します。生のイベント データをデータベースに保存しており、生のイベントを再生するこれらの複雑なイベントを生成できますが、それらを再生する正確な期間がわかりません。

同時に、ほとんどのルールでは、システム状態を復元するために、過去から処理されるイベントの数 (または処理されるイベントをロードする期間) を自動的に見つけることができることは明らかです。与えられたアクションが家にいる妻の存在に依存する場合、CEP システムは最後のステータス変更を要求する必要があります。複雑なイベントに関するレポートが要求され、複雑なイベントが前の期間内の平均価格に依存する場合、この期間のすべての価格変更イベントを再生する必要があります。等々...

何か見逃したら?

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

flex4 - クライアント接続の数でデータが2倍または3倍になるのを回避する方法

blazeDs pub / sub手法とflex_sdk_4.1を使用して、esperを使用して生成されたリアルタイムイベントのデータグリッドとチャートを表示するflexアプリケーションを開発しています。actionscriptで記述されたmessageHandler()は、JMSを介して渡されたイベントを取得します。このアプリケーションをTomcatServerで実行すると、1つの接続でうまく機能しますが、同時にクライアント接続の数を増やすと、接続の数に応じてイベントが2倍または3倍になります。重複せずにデータを表示する必要があります。誰かが私がこのバグを修正するのを手伝ってくれますか?前もって感謝します。以下のコードは、参照用のflex構成ファイルです。

Messaging-config.xml

Remoting-config.xml

services.config.xml

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

esper - エスパー - 異議を唱える「ステートメント ファクトリー」を構築する方法は?

Esper エンジンを使用して、多くの文字列 SQL を記述し、クエリを EPStatement オブジェクトに挿入するために多くの文字列アクションを実行していることに気づきました。

より便利な方法でクエリを作成するためのベスト プラクティスは何ですか? 純粋な文字列ではなく、オブジェクトを使用してクエリを作成することはできますか? (EPManagedStatement オブジェクトを使用した人はいますか?)

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

java - 単一の Epser Engine で複数のストリームでイベントを注文する方法

現在、Esperイベント プロセッサを使用しています。状況は次のとおりです。

クライアントから複数のメッセージを受信する 1 つのサーバーがあり、それらのメッセージはストリームに挿入されます。現在、 str1 、 str2と呼ばれる 2 種類のストリームがあり、どちらにも異なるイベント タイプが含まれています。さまざまなクライアントからのメッセージを整列させるために、整列メカニズムを探しています。

1 つの eventtype ( type1 ) のパッケージには、 globaltimeという変数である絶対タイミング情報が含まれています。ここでの課題は、 type1のさまざまなクライアントのイベントを順序付けすることです。したがって、type2のイベントは、 type1 イベントの順序から得られる情報によって順序付けできます。

私の最初の直感は、 x秒のタイム ウィンドウを取り、ORDER BY句を使用することです。しかし、 type1のイベントの順序に基づいてtype2イベントを順序付けるにはどうすればよいですか。

この説明が、いくつかの提案やヒントを投げかけるのに十分明確であることを願っています.

事前にt​​hnx。

Grtz Mv2k

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

time-series - Esper - サブタイムウィンドウの集約

(価格、取引時間) プロパティを持つ市場データ イベントのストリームがあります。

新しい市場データ イベントごとに、過去の時間枠の単純平均を計算したいと考えています。単純平均 = 取引価格の合計 / イベントの数

ただし、注意が必要なのは、現在のイベント時間から複数のサブタイムウィンドウに対してこれを計算したいということです。したがって、[t-0 分、t-2 分]、[t-2 分、t-4 分]、[t-4 分、​​t-6 分]、... の単純平均を言ってみましょう。

これらの時間枠は、新しいイベントごとに再計算されます。

現在、複数のストリームを使用して、[t-0 分、t-2 分]、[t-0 分、t-4 分]、t-0 分、t-6 分] の価格とイベントを合計します。 ...そして、減算によって個々の単純平均を見つけます。1つまたは2つのストリームのみを使用して、これを行うためのより良い方法が必要ですか?

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

esper - 異なる JVM で実行されている 2 つの Esper インスタンスの接続 (クライアント/サーバー モード?)

Esper サービスを実行する JVM を実行するホストが 1 つあります。最初の JVM で実行されている esper サービスに接続したい別のホストがあります。

つまり、次のようなことができるようになりたいです。

ドキュメントからこれを行う方法を見つけることができませんが、それはかなり一般的な要件であると考えていました。この種のことは一般的にどのように行われますか?

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

java - EsperIOSocketAdapterを介してイベントを受信できません

ソケットを介してEsperエンジンにイベントを送信しようとしていますが、問題が発生しました。

EsperIOSocketAdapterプロパティを構成し、EsperIOSocketAdapter.start()メソッドが呼び出されると、クライアントをリッスンする新しいデーモンスレッドが開始されますが、ソケットクライアントが実際に接続を試みる前に、親スレッドが終了するとデーモンスレッドが終了します。

私のコードスニペットは次のとおりです。

もう1つの疑問は、コードを介してイベントを送信するために使用したSocketAdapterを使用しないプログラムにあります

EPRuntime.sendEvent(new TestEvent(event));

SocketAdapterを使用している間、sendEvent()を使用する必要があります。そうしないと、イベントが自動的にエンジンにプッシュされます。