Правило Perseo не может быть создано: тип события не найден - PullRequest
1 голос
/ 04 апреля 2019

Я подражаю глупому сценарию, чтобы поиграть с Персео и Орионом. Я использую 4 док-контейнера: Mongo, Orion, Perseo FE и Perseo Core. Все они бегут здоровыми.

Шаги, которые я делаю:

  1. Сначала я создаю объект с POST для Orion (localhost:1026/v2/entities). Эта сущность выглядит так:
{
  "id": "DummyEvent1",
  "type": "DummyEvent",
  "identification": {
    "value": "default",
    "type": "String"
  }
}
  1. Во-вторых, я создаю подписку с POST для Orion (localhost:1026/v2/subscriptions), чтобы переместить DummyEvent из Orion в Perseo:
{
  "description": "A subscription to get info about DummyEvent1",
  "subject": {
    "entities": [
      {
        "id": "DummyEvent1",
        "type": "DummyEvent"
      }
    ],
    "condition": {
      "attrs": [ ]
    }
  },
  "notification": {
    "http": {
      "url": "http://perseo-fe:9090/notices"
    },
    "attrs": [
      "identification"
    ]
  }
}
  1. В-третьих, если я ПОЛУЧУ все подписки в Орионе (localhost:1026/v2/subscriptions), я могу видеть, что Орион правильно перенаправляет DummyEvent в Perseo:
{
  "id": "5ca5c18ab07f5ae96aa12152",
  "description": "A subscription to get info about DummyEvent1",
  "status": "active",
  "subject": {
    "entities": [
      {
        "id": "DummyEvent1",
          "type": "DummyEvent"
      }
    ],
    "condition": {
      "attrs": []
     }
  },
  "notification": {
    "timesSent": 1,
    "lastNotification": "2019-04-04T08:34:18.00Z",
      "attrs": [
        "identification"
      ],
      "attrsFormat": "normalized",
      "http": {
        "url": "http://perseo-fe:9090/notices"
      },
      "lastSuccess": "2019-04-04T08:34:18.00Z",
      "lastSuccessCode": 200
  }
}
  1. В-четвертых, проблема возникает, когда я пытаюсь POST-правило в Perseo (localhost:8080/perseo-core/rules), используя это DummyEvent:
{
    "name": "dummy_rule",
    "text": "select * from DummyEvent",
    "action": {
        "type": "update",
        "parameters": {
            "name": "identification",
            "value": "updatedValue",
            "type": "string"
        }
    }
}

Персей говорит мне это:

{
    "error": "Failed to resolve event type: Event type or class named 'DummyEvent' was not found [select * from DummyEvent]"
}

Что я делаю не так?

Спасибо!

...