{"action":"created","issue":{"url":"https://api.github.com/repos/neos/Neos.EventStore/issues/19","repository_url":"https://api.github.com/repos/neos/Neos.EventStore","labels_url":"https://api.github.com/repos/neos/Neos.EventStore/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/neos/Neos.EventStore/issues/19/comments","events_url":"https://api.github.com/repos/neos/Neos.EventStore/issues/19/events","html_url":"https://github.com/neos/Neos.EventStore/issues/19","id":179757336,"number":19,"title":"Why can events not be stored when there is no associated listeners","user":{"login":"sorenmalling","id":531918,"avatar_url":"https://avatars.githubusercontent.com/u/531918?v=3","gravatar_id":"","url":"https://api.github.com/users/sorenmalling","html_url":"https://github.com/sorenmalling","followers_url":"https://api.github.com/users/sorenmalling/followers","following_url":"https://api.github.com/users/sorenmalling/following{/other_user}","gists_url":"https://api.github.com/users/sorenmalling/gists{/gist_id}","starred_url":"https://api.github.com/users/sorenmalling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sorenmalling/subscriptions","organizations_url":"https://api.github.com/users/sorenmalling/orgs","repos_url":"https://api.github.com/users/sorenmalling/repos","events_url":"https://api.github.com/users/sorenmalling/events{/privacy}","received_events_url":"https://api.github.com/users/sorenmalling/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-09-28T12:21:31Z","updated_at":"2016-09-28T12:36:34Z","closed_at":null,"body":"Partly mentioned in #8 i will like to open the topic \"persisting events even when no listeners\".\r\n\r\nIt is true, that no listeners are located/detected if no class is found implementing the EventListenerInterface and having a method named ex. `whenAccountCreated`.\r\n\r\nAnd as a consequence of that your event will not be persisted to the `es_stream` table when doing the following from your code\r\n```\r\n$eventTransport = EventTransport::create(\r\n            new AccountCreated(\r\n                $account->getAccountIdentifier(),\r\n                $account->getAuthenticationProviderName()\r\n            ),\r\n            new MessageMetadata()\r\n        );\r\n        $this->eventBus->handle($eventTransport);\r\n```\r\nas the `eventBus::handle` does a early return if no listeners are found (edited)\r\n\r\nThis leaves you with no possibility of having a message queue like \"rabbitmq\" \"beanstalkd\" and similar to handle this or simply have events store that have happened at a time, where there might not have been  a concrete listener.\r\n\r\nIs there a reasoning for this being to tight coupled and \"requiring\" everything to happen in sync/at runtime?"},"comment":{"url":"https://api.github.com/repos/neos/Neos.EventStore/issues/comments/250154198","html_url":"https://github.com/neos/Neos.EventStore/issues/19#issuecomment-250154198","issue_url":"https://api.github.com/repos/neos/Neos.EventStore/issues/19","id":250154198,"user":{"login":"sorenmalling","id":531918,"avatar_url":"https://avatars.githubusercontent.com/u/531918?v=3","gravatar_id":"","url":"https://api.github.com/users/sorenmalling","html_url":"https://github.com/sorenmalling","followers_url":"https://api.github.com/users/sorenmalling/followers","following_url":"https://api.github.com/users/sorenmalling/following{/other_user}","gists_url":"https://api.github.com/users/sorenmalling/gists{/gist_id}","starred_url":"https://api.github.com/users/sorenmalling/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sorenmalling/subscriptions","organizations_url":"https://api.github.com/users/sorenmalling/orgs","repos_url":"https://api.github.com/users/sorenmalling/repos","events_url":"https://api.github.com/users/sorenmalling/events{/privacy}","received_events_url":"https://api.github.com/users/sorenmalling/received_events","type":"User","site_admin":false},"created_at":"2016-09-28T12:36:34Z","updated_at":"2016-09-28T12:36:34Z","body":"@bwaidelich In my case I'm creating the exact event as you can see above after a new account is created (authenticated from Facebook OAuth).\r\n\r\nI was expecting it to commit to my stream but the method just does a early return as no listener is found.\r\n\r\n```\r\npublic function handle(EventTransport $transport)\r\n    {\r\n        $listeners = $this->locator->getListeners($transport->getEvent());\r\n\r\n        if ($listeners === null) {\r\n            return;\r\n        }\r\n      ...\r\n}\r\n```"}}
{"actor":{"display_login":"sorenmalling"}}