vlingo / xoom-actors

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.
https://vlingo.io
Mozilla Public License 2.0
229 stars 28 forks source link

vlingo/actors tutorials. defaultLogger property needs to be true. #11

Closed ghost closed 6 years ago

ghost commented 6 years ago

at vlingo/actors tutorial, the vlingo-actors.properties file says:

...
plugin.jdkLogger.defaultLogger = false

It throws NullPointerException. Here stack trace:

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().

VaughnVernon commented 6 years ago

Ok, thanks. This is now corrected in the tutorial blog post. This recently changed because: