I just had a particular issue where a mysql database table accepts null values for date time field. However, when attempting to return the record via executeQuery results in a java null pointer exception.
13:45:21,046 WARN [pool-1-thread-2] managers.SFSExtensionManager -
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Exception: java.lang.NullPointerException
Message: *** Null ***
Description: Error during event handling: java.lang.NullPointerException, Listener: { Ext: myext, Type: JAVA, Lev: ZONE, { Zone: myzone}, {} }
+--- --- ---+
Stack Trace:
+--- --- ---+
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.resultSet2object(DefaultSFSDataSerializer.java:388)
com.smartfoxserver.v2.protocol.serialization.DefaultSFSDataSerializer.resultSet2array(DefaultSFSDataSerializer.java:466)
com.smartfoxserver.v2.entities.data.SFSArray.newFromResultSet(SFSArray.java:108)
com.smartfoxserver.v2.db.SFSDBManager.executeQuery(SFSDBManager.java:152)
com.smartfoxserver.v2.db.SFSDBManager.executeQuery(SFSDBManager.java:121)
[My database calling executeQuery()]
[My UserJoinZoneEventHandler.handleServerEvent]
com.smartfoxserver.v2.extensions.SFSExtension.handleServerEvent(SFSExtension.java:242)
com.smartfoxserver.v2.entities.managers.SFSExtensionManager.dispatchEvent(SFSExtensionManager.java:779)
com.smartfoxserver.v2.entities.managers.SFSExtensionManager.dispatchZoneLevelEvent(SFSExtensionManager.java:704)
com.smartfoxserver.v2.entities.managers.SFSExtensionManager.handleServerEvent(SFSExtensionManager.java:897)
com.smartfoxserver.v2.core.SFSEventManager$SFSEventRunner.run(SFSEventManager.java:64)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
I can get around this by ensuring that the field contains a really old date or something, but this does not look like something that was added on purpose.