The VLINGO XOOM platform SDK for the type-safe Actor Model, delivering Reactive concurrency, high scalability, high-throughput, and resiliency using Java and other JVM languages.
java.lang.NullPointerException
at io.vlingo.actors.World.register(World.java:122)
at io.vlingo.actors.plugin.logging.jdk.JDKLoggerPlugin.start(JDKLoggerPlugin.java:63)
at io.vlingo.actors.plugin.PluginLoader.registerPlugin(PluginLoader.java:79)
at io.vlingo.actors.plugin.PluginLoader.loadEnabledPlugins(PluginLoader.java:35)
at io.vlingo.actors.World.<init>(World.java:270)
at io.vlingo.actors.World.start(World.java:47)
at io.vlingo.actors.World.start(World.java:39)
at com.github.aleixmorgadas.vlingo.PlaygroundTest.testPlayPingPong(PlaygroundTest.java:11)
java.lang.IllegalStateException: Cannot load plugin io.vlingo.actors.plugin.logging.jdk.JDKLoggerPlugin
at io.vlingo.actors.plugin.PluginLoader.registerPlugin(PluginLoader.java:83)
at io.vlingo.actors.plugin.PluginLoader.loadEnabledPlugins(PluginLoader.java:35)
at io.vlingo.actors.World.<init>(World.java:270)
at io.vlingo.actors.World.start(World.java:47)
at io.vlingo.actors.World.start(World.java:39)
at com.github.aleixmorgadas.vlingo.PlaygroundTest.testPlayPingPong(PlaygroundTest.java:11)
When the value is changed to true, it works. After the researching why it happens, found the case at World.java#L122 returns null value due to keep method overrides the default logger being unable to be found by findDefault().
Ok, thanks. This is now corrected in the tutorial blog post. This recently changed because:
The first logger to get registered becomes the default, so default = false didn't matter for only one logger
Any other logger to get registered after that and is default = true takes over as default
Now I have replaced JDK logger with an actor-based logger (async logging) but I have to bootstrap the normal JDK logger in because starting the World requires a logger, which now happens in plugin pass 1, and then during pass 2 I replace the normal JDK logger with the actor-based logger that actually reuses the pass 1 JDK logger internally :)
at vlingo/actors tutorial, the
vlingo-actors.properties
file says:It throws NullPointerException. Here stack trace:
When the value is changed to true, it works. After the researching why it happens, found the case at World.java#L122 returns null value due to
keep
method overrides the default logger being unable to be found byfindDefault()
.