ESPER: Acceso a la propiedad de acceso y llamadas de método en consultas EPL
-
30-10-2019 - |
Pregunta
Actualmente estoy luchando por que funcionen algunas consultas de Esper EPL. Las consultas se ven así:
select a.center.distance(b.center) as delta
from pattern [
every-distinct(a.id, b.id) (
a=org.example.PositionEvent -> b=org.example.PositionEvent
)
]
Cuando trato de compilar esto en un EPLStatement
a través de EPAdministrator.createEPL()
Lanza la siguiente excepción:
com.espertech.esper.client.EpstatementException: Error de inicio Declaración: No se puede cargar la clase por nombre 'A.Center', verifique las importaciones
Si modifico las clases de eventos y la consulta para leer así
select a.distance(b) as delta
from pattern [
every-distinct(a.id, b.id) (
a=org.example.PositionEvent -> b=org.example.PositionEvent
)
]
Se compila bien. Esper parece interpretar a.center.distance(...)
Como nombre de clase seguido de una invocación de método estático, mientras se interpreta a.distance(...)
Como una llamada de método en el objeto a
.
¿Cómo puedo hacer que Esper interprete mi consulta original según lo previsto (es decir, como un acceso a la propiedad seguido de una invocación de método)?
No hay solución correcta