When using a POJO task where one of the methods or constructor is annotated with @JPPFRunnable, the node executing the task throws a ClassNotFoundException saying it can't find the class of the POJO task
The PeerAttributesHandler class uses a thread pool to handle JMX notficiations from peer drivers when they update their number of nodes and total number of node threads. It uses Runtime.getRuntime().availableProcessors() which seems wasteful since the tasks performed by the threds are very short-lived.
We should use a configuration property "jppf.peer.handler.threads" which defaults to 1 to configure this number of threads instead.
From [http://www.jppf.org/forums/index.php/topic,7993.0.html this forum post]:
> Adaptive algorithms use statistics but when driver restarts or hardware failure, statistics will be gone and load balancing algorithm adaptation will be return to beginning.
> - Is it possible (and logical?) to save job execution statistics periodically and load them to same driver while restart or to another driver which already running?
> - Another idea, maybe sharing these statistics with peer drivers, so when one of them down, informations still exist on other peers and when it restarts or a new driver added as peer, it will start with existing statistics.
> We are planning to use p2p because of the risk of a single point of failure, but progress of algorithm's learning important and it shouldn't reset each time the server reset.