Don't use a cache loader with the 4.2.1 distributed session manager. The session management code was not designed for that.
What should I do if I have to share HTTP sessions between nodes and I have to save sessions when JBoss restart is needed.
If it's a full cluster restart, the sessions are lost. Otherwise, when you restart a server the current session state will be fetched from the in-memory state of the surviving servers.
Session passivation to disk is introduced in AS 5.0.