xoom-examples
xoom-examples copied to clipboard
xoom-eventjournal example fails to start
While all tests are passing, the xoom-eventjournal example fails to start:
Exception in thread "main" java.lang.NullPointerException
at io.vlingo.xoom.actors.Stage.actorFor(Stage.java:485)
at io.vlingo.xoom.actors.Stage.actorFor(Stage.java:106)
at io.vlingo.xoom.actors.Stage.actorFor(Stage.java:95)
at io.vlingo.xoom.symbio.store.journal.Journal.using(Journal.java:76)
at io.vlingo.xoom.examples.eventjournal.Bootstrap.main(Bootstrap.java:51)
13:12:43.853 [pool-2-thread-5] ERROR io.vlingo.xoom.actors.Logger - ActorFactory: failed actor creation. This is sometimes cause be the constructor parameter types not matching the types in the Definition.parameters(). Often it is caused by a failure in the actor constructor. We have attempted to uncover the root cause here, but that may not be available in some cases.
The root cause may be: java.lang.IllegalArgumentException: argument type mismatch
See stacktrace for more information. We strongly recommend reviewing your constructor for possible failures in dependencies that it creates.
java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_92]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_92]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_92]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_92]
at io.vlingo.xoom.actors.ActorFactory.start(ActorFactory.java:124) ~[xoom-actors-1.6.1-20210410.022544-10.jar:na]
at io.vlingo.xoom.actors.ActorFactory.actorFor(ActorFactory.java:79) ~[xoom-actors-1.6.1-20210410.022544-10.jar:na]
at io.vlingo.xoom.actors.Stage.createRawActor(Stage.java:761) ~[xoom-actors-1.6.1-20210410.022544-10.jar:na]
at io.vlingo.xoom.actors.Stage.actorProtocolFor(Stage.java:526) ~[xoom-actors-1.6.1-20210410.022544-10.jar:na]
at io.vlingo.xoom.actors.Stage.actorFor(Stage.java:484) ~[xoom-actors-1.6.1-20210410.022544-10.jar:na]
at io.vlingo.xoom.actors.Stage.actorFor(Stage.java:106) ~[xoom-actors-1.6.1-20210410.022544-10.jar:na]
at io.vlingo.xoom.actors.Stage.actorFor(Stage.java:95) ~[xoom-actors-1.6.1-20210410.022544-10.jar:na]
at io.vlingo.xoom.symbio.store.journal.Journal.using(Journal.java:76) ~[xoom-symbio-1.6.1-20210410.034019-8.jar:na]
at io.vlingo.xoom.examples.eventjournal.Bootstrap.main(Bootstrap.java:51) ~[classes/:na]
This is due to the way the Journal is instantiated:
https://github.com/vlingo/vlingo-examples/blob/49b0a609a293ac9145d0766bd5003159b8a17d7d/xoom-eventjournal/src/main/java/io/vlingo/xoom/examples/eventjournal/Bootstrap.java#L50-L51
There has been a change in Journal arguments. It no longer expects a dispatcher, but a JDBCJournalWriter:
https://github.com/vlingo/xoom-symbio-jdbc/blob/3446e47c33495dd5e854aafa8d191e2797b1d51c/src/main/java/io/vlingo/xoom/symbio/store/journal/jdbc/JDBCJournalActor.java#L65-L67