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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top