xoom-examples icon indicating copy to clipboard operation
xoom-examples copied to clipboard

xoom-eventjournal example fails to start

Open jakzal opened this issue 3 years ago • 0 comments

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

jakzal avatar Apr 10 '21 12:04 jakzal