Question

J'ai actuellement du mal à faire fonctionner des requêtes EPL EPL. Les requêtes ressemblent à ceci:

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

Quand j'essaie de compiler cela dans un EPLStatement passant par EPAdministrator.createEPL() Il lance l'exception suivante:

com.espertech.esper.client.epstatementException: Erreur Instruction de démarrage: Impossible de charger la classe par le nom «A.Center», veuillez vérifier les importations

Si je modifie les classes d'événements et la requête à lire comme ceci

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

il compile très bien. Esper semble interpréter a.center.distance(...) comme nom de classe suivi d'une invocation de méthode statique, alors qu'elle interprète a.distance(...) comme méthode appelle l'objet a.

Comment puis-je faire interpréter ESPER ma requête d'origine comme prévu (c'est-à-dire comme un accès à la propriété suivi d'une invocation de méthode)?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top