ESPER:EPLクエリでのプロパティアクセスとメソッド呼び出しをチェーン

StackOverflow https://stackoverflow.com/questions/4934429

  •  30-10-2019
  •  | 
  •  

質問

私は現在、ESPER EPLクエリを機能させるのに苦労しています。クエリは次のように見えます:

select a.center.distance(b.center) as delta
from pattern [
    every-distinct(a.id, b.id) (
        a=org.example.PositionEvent -> b=org.example.PositionEvent
    )
]

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

com.espertech.esper.client.epstatementexception:エラー開始ステートメント:名前でクラスをロードできませんでした。

イベントクラスとクエリを変更してこのように読む場合

select a.distance(b) as delta
from pattern [
    every-distinct(a.id, b.id) (
        a=org.example.PositionEvent -> b=org.example.PositionEvent
    )
]

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

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

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top