JPPF Changelog

New in version 5.0

March 2nd, 2015
  • Enhancements :
  • 306 Revisit the samples to apply the job streaming pattern where applicable
  • 307 Server scalability: improve the thread pool handling for NIO operations
  • 310 Improve the handling of nonserializable tasks in the client.
  • 316 Improve server responsiveness when many nodes connect at once
  • 317 Add awaitXXX methods to the client side connection and JMX pools
  • 322 Properties substitutions: implement missing uses cases, improve resources usage
  • 332 Change all popup windows and child frames to modeless dialogs
  • 350 Add a CLOSED status for client to server connections
  • 367 Document which jars each package can be found in
  • 369 Add nodesInformation(NodeSelector) method to
  • DriverManagementMBean
  • New features:
  • 6 Improvements for nodes in idle mode
  • 29 Ability to disable resource lookup in the file system
  • 261 Refactor the jar packaging in the
  • distribution
  • 262 Integrate the functionality of
  • ResultCollector into
  • Job
  • 294 Ability for individual connection pools to specify whether they use SSL
  • 295 Execution policies should have access to job and grid information
  • 298 .Net bridge for
  • 303 Let node shutdown and reprovisioning respect executing nodes
  • 314 Admin console charts: add new chart types and fields
  • 315 Admin console support for pluggable components and external GUI integration
  • 318 Provide a helper class for building job streams
  • 323 Integrate Idle Host mode as part of the main code
  • 330 Add a Task.getTaskClassLoader() method
  • 334 Provide physical/virtual machine RAM information for nodes and drivers
  • 336 New sample: admin console pluggable view
  • 341 Allow Monitoring and Administration Tool to display either HostName or IP
  • 348 Ability to import/export the admin console settings
  • 349 Admin console: ability to hide columns in tree table views
  • 352 Alternative to drivers and nodes as Windows services using Apache commons daemon
  • 353 Notifications of tasks completion status in the server
  • Tasks:
  • 293 Configuration properties resolution as part of TypedProperties
  • 296 Rename SubmissionStatusXXX classes into JobStatusXXX
  • 358 Update headers copyright end date to 2015

New in version 5.0 RC 1 (February 13th, 2015)

  • Enhancements :
  • JPPF-306 Revisit the samples to apply the job streaming pattern where applicable
  • JPPF-307 Server scalability: improve the thread pool handling for NIO operations
  • JPPF-310 Improve the handling of non-serializable tasks in the client.
  • JPPF-316 Improve server responsiveness when many nodes connect at once
  • JPPF-317 Add awaitXXX methods to the client side connection and JMX pools
  • JPPF-322 Properties substitutions: implement missing uses cases, improve resources usage
  • JPPF-332 Change all popup windows and child frames to modeless dialogs
  • JPPF-350 Add a CLOSED status for client to server connections
  • JPPF-367 Document which jars each package can be found in
  • Feature requests:
  • JPPF-6 Improvements for nodes in idle mode
  • JPPF-29 Ability to disable resource lookup in the file system
  • JPPF-261 Refactor the jar packaging in the
  • JPPF distribution
  • JPPF-262 Integrate the functionality of
  • JPPFResultCollector into
  • JPPFJob
  • JPPF-294 Ability for individual connection pools to specify whether they use SSL
  • JPPF-295 Execution policies should have access to job and grid information
  • JPPF-298 .Net bridge for
  • JPPF
  • JPPF-303 Let node shutdown and reprovisioning respect executing nodes
  • JPPF-336 New sample: admin console pluggable view
  • JPPF-314 Admin console charts: add new chart types and fields
  • JPPF-315 Admin console support for pluggable components and external GUI integration
  • JPPF-318 Provide a helper class for building job streams
  • JPPF-323 Integrate Idle Host mode as part of the main code
  • JPPF-330 Add a Task.getTaskClassLoader() method
  • JPPF-334 Provide physical/virtual machine RAM information for nodes and drivers
  • JPPF-341 Allow Monitoring and Administration Tool to display either HostName or IP
  • JPPF-348 Ability to import/export the admin console settings
  • JPPF-349 Admin console: ability to hide columns in tree table views
  • JPPF-352 Alternative to drivers and nodes as Windows services using Apache commons daemon
  • JPPF-353 Notifications of tasks completion status in the server
  • Tasks:
  • JPPF-293 Configuration properties resolution as part of TypedProperties
  • JPPF-296 Rename SubmissionStatusXXX classes into JobStatusXXX
  • JPPF-358 Update headers copyright end date to 2015

New in version 4.2.6 (February 9th, 2015)

  • This maintenance release brings important bug fixes and enhancements.
  • Bug fixes:
  • JPPF-357 J2EE connector does not work with Wildfly 8.x app server
  • JPPF-359 Node unable to reconnect when connection is closed from a separate thread
  • JPPF-360 Nodes not enrolled in tasks distribution when JMX server is disabled or unreachable
  • JPPF-361 Driver sends results for wrong job upon task resubmit Enhancements
  • JPPF-362 Ability for the cient to handle multiple class loaders per job

New in version 4.2.5 (December 27th, 2014)

  • This maintenance release brings important bug fixes and enhancements
  • Bug fixes:
  • JPPF-354 NPE in the node notification forwarding mechanism
  • Enhancements:
  • JPPF-355 Add an "interruptible" flag to the tasks

New in version 4.2.4 (November 17th, 2014)

  • This maintenance release brings important bug fixes and enhancements.
  • Bug fixes:
  • JPPF-340 Deadlock on task completion
  • JPPF-342 Uncontrolled incrementing of idle node count
  • JPPF-343 Use of log4j2 with console appender causes slave node to hang
  • JPPF-344 Server deadlock with many slave nodes
  • JPPF-345 Shutdown vs. Provisioning race condition causes duplicate nodes with nincomplete tasks
  • Enhancements:
  • JPPF-346 Make JPPFManagementInfo immutable

New in version 4.2.3 (October 20th, 2014)

  • Bug Fixes:
  • Bug fixes JPPF-327 Node deadlock when shutting it down
  • JPPF-329 Inconsistent classloading in org.jppf.client.balancer.ChannelWrapperRemote JPPF-333 Server statistics report incorrect inbound traffic from nodes and clients JPPF-335 NPE in JMXConnectionWrapper.getAttribute() JPPF-337 Deadlock upon closing the administration console JPPF-338 Issues with recovery of peer server connections JPPF-339 Driver log full of null pointer exception traces.

New in version 5.0 Alpha (September 15th, 2014)

  • Enhancements :
  • JPPF-306 Revisit the samples to apply the job streaming pattern where applicable
  • JPPF-307 Server scalability: improve the thread pool handling for NIO operations
  • JPPF-317 Add awaitXXX methods to the client side connection and JMX pools
  • JPPF-322 Properties substitutions: implement missing uses cases, improve resources usage
  • Feature requests :
  • JPPF-6 Improvements for nodes in idle mode
  • JPPF-261 Refactor the jar packaging in the JPPF distribution
  • JPPF-262 Integrate the functionality of JPPFResultCollector into JPPFJob
  • JPPF-294 Ability for individual connection pools to specify whether they use SSL
  • JPPF-295 Execution policies should have access to job and grid information
  • JPPF-303 Let node shutdown and reprovisioning respect executing nodes
  • JPPF-314 Admin console charts: add new chart types and fields
  • JPPF-318 Provide a helper class for building job streams
  • JPPF-323 Integrate Idle Host mode as part of the main code
  • Tasks :
  • JPPF-293 Configuration properties resolution as part of TypedProperties

New in version 4.2.1 (August 16th, 2014)

  • Bug fixes:
  • JPPF-297 Synchronization Deadlock in Queue/Job Processing
  • JPPF-299 DriverJobManagementMBean.getAllJobIds() reports an incorrect number of jobs
  • JPPF-300 Node default connection strategy does not retrieve the recovery port
  • JPPF-301 Deadlock in the adminstration console upon startup
  • JPPF-302 Server reports negative number of tasks when job is cancelled upon client disconnect
  • JPPF-304 Node default connection strategy uses incorrect default server port with manual settings
  • JPPF-308 Low performance of node/driver when the allocated heap is small
  • JPPF-309 Jobs with non-serializable task is still executed remotely
  • JPPF-311 Incorrect JMX remote classpath in wrapper-driver.conf and wrapper-node.conf
  • Enhancements:
  • JPPF-305 JPPFClient.submitJob() has a useless throws clause

New in version 4.2 (July 22nd, 2014)

  • Feature requests:
  • JPPF-14 Remote control of server broadcasting service (discovery)
  • JPPF-250 Enable separate JMX connection pool for each client connection pool
  • JPPF-251 Implement and document global performance configuration properties
  • JPPF-260 Deprecate usage of TaskResultListener in exposed APIs
  • JPPF-270 Execution policy for valid subnet bitmask
  • JPPF-272 Add maximum number of resubmits attribute at the task level
  • JPPF-277 Execution policy which evaluates to an ordered list of prefered policies
  • JPPF-279 Make JPPFJob extend java.util.concurrent.Future

New in version 4.1.3 (July 7th, 2014)

  • Bug fixes:
  • JPPF-281 Many failed node reconnection attempts upon restart request
  • JPPF-284 Admin console job view not updated upon node disconnect
  • JPPF-287 Typos in docs
  • JPPF-290 New connected nodes are not automatically enrolled in notification forwarding
  • JPPF-291 Wrong configuration / startup scripts for Sequence Alignment sample

New in version 4.2 Beta (June 17th, 2014)

  • Enhancements:
  • JPPF-282 Allow job SLA's maxTaskResubmits attribute to apply upon node error
  • JPPF-285 Review and fix the doc on management and monitoring
  • Feature requests:
  • JPPF-250 Enable separate JMX connection pool for each client connection pool
  • JPPF-251 Implement and document global performance configuration properties
  • JPPF-260 Deprecate usage of TaskResultListener in exposed APIs
  • JPPF-270 Execution policy for valid subnet bitmask
  • JPPF-272 Add maximum number of resubmits attribute at the task level
  • JPPF-277 Execution policy which evaluates to an ordered list of prefered policies
  • JPPF-279 Make JPPFJob extend java.util.concurrent.Future

New in version 4.1.2 (June 3rd, 2014)

  • Bug fixes:
  • 265 Node initialization hooks are executed by the driver
  • 267 Driver queue incorrectly increments/decrements when failed nodes present
  • 271 Lower the visiblity of log message upon connectionFailed() notification
  • 273 Documentation for CustomPolicy needs update for v4
  • 274 Server-local nodes cannot be managed
  • 275 Dependency on commons-io is missing in maven artifacts
  • 276 The management port of a server-local node cannot be configured separately

New in version 4.1.1 (May 16th, 2014)

  • Enhancements:
  • JPPF-257 Better exception handling for overriden or custom TaskResultListener implementations
  • Bug fixes:
  • JPPF-252 Admin GUI fails to handle the nodes when discovery is disabled
  • JPPF-259 JPPFResultCollector.getAllResults() returns null at the time JobListener.jobEnded() is called
  • JPPF-263 The cancel upon client disconnect attribute is not working

New in version 4.1 (April 22nd, 2014)

  • Feature requests:
  • JPPF-115 Node provisioning facility
  • JPPF-212 Add a hook for specifying the server to which a node should connect
  • JPPF-214 Ability to redirect std and err output for nodes and drivers
  • JPPF-215 Configuration enhancement: variable substitutions
  • JPPF-216 Configuration enhancement: scripted property values
  • JPPF-217 Ability to disable the node class loader resource cache
  • JPPF-221 Ability to provide the driver management port to the client during handshake
  • JPPF-223 Configuration guide: add a \"putting it all together\" section
  • JPPF-231 Assign a priority to the local executor and auto-discovered connections
  • JPPF-233 Ability for a task to schedule itself for resubmission
  • JPPF-234 Change the size of client connection pools dynamically
  • JPPF-240 Make the JPPFClient and JPPFClientConnection class hierarchies implement AutoCloseable
  • JPPF-242 Listener API for notification of client queue events
  • JPPF-245 New sample demonstrating the use of dynamic client connection pools size and node provisioning
  • Enhancements:
  • JPPF-219 Unambiguous way to distinguish between JPPF and user-defined task notifications
  • JPPF-241 Update the JPPF tutorial
  • Tasks:
  • JPPF-152 Refactor the client API to provide access to connections organized into pools
  • JPPF-236 Optimize build scripts
  • JPPF-244 Deprecate ClientWithFailover

New in version 4.0.3 (April 16th, 2014)

  • Enhancements:
  • JPPF-246 Reduce the number of threads created by the JMX connections
  • Bug fixes:
  • JPPF-243 Admin tool reports a wrong number of nodes
  • JPPF-247 Job notifications are not sent upon requeuing in the client

New in version 4.0.2 (April 1st, 2014)

  • Enhancements:
  • JPPF-229 Publish JPPF admin-ui artifact to maven central
  • Bug fixes:
  • JPPF-230 The JVM health panel in the admin console does not initially show the drivers and nodes
  • JPPF-232 JPPF client is not closing properly
  • JPPF-237 Client raises IllegalStateException when using multiple JPPFClient with the same uuid
  • JPPF-238 Scalability issues with the administration tool

New in version 4.1 Beta (March 31st, 2014)

  • Enhancements:
  • JPPF-219 Unambiguous way to distinguish between JPPF and user-defined task notifications
  • Feature requests:
  • JPPF-115 Node provisioning facility
  • JPPF-212 Add a hook for specifying the server to which a node should connect
  • JPPF-214 Ability to redirect std and err output for nodes and drivers
  • JPPF-215 Configuration enhancement: variable substitutions
  • JPPF-216 Configuration enhancement: scripted property values
  • JPPF-217 Ability to disable the node class loader resource cache
  • JPPF-221 Ability to provide the driver management port to the client during handshake
  • JPPF-223 Configuration guide: add a "putting it all together" section
  • JPPF-231 Assign a priority to the local executor and auto-discovered connections
  • JPPF-233 Ability for a task to schedule itself for resubmission
  • Tasks:
  • JPPF-152 Refactor the client API to provide access to connections organized into pools

New in version 4.1 Alpha (March 4th, 2014)

  • Enhancements:
  • JPPF-219 Unambiguous way to distinguish between JPPF and user-defined task notifications
  • Feature requests:
  • JPPF-212 Add a hook for specifying the server to which a node should connect
  • JPPF-217 Ability to disable the node class loader resource cache
  • JPPF-215 Configuration enhancement: variable substitutions
  • JPPF-214 Ability to redirect std and err output for nodes and drivers
  • JPPF-223 Configuration guide: add a "putting it all together" section
  • JPPF-115 Node provisioning facility

New in version 4.0.1 (February 28th, 2014)

  • Enhancements:
  • Improve notes about driver1.jppf.pool.size setting to specimen client properties file
  • Bug fixes:
  • ClassCastException in Kryo serializer
  • Calling fireNotification() from a task does not send notifications to local listeners
  • jppf-gui.properties should mention driver1.jppf.management.port
  • Class path in the configuration file of the wrapper does not match the jar file provided
  • Invalid remove() operation after OutOfMemory exception
  • StackOverflowError when running built-in screensaver

New in version 4.0 (January 14th, 2014)

  • Feature requests:
  • JPPF-8 Ability to export statistics
  • JPPF-11 Ability for the nodes to work offline
  • JPPF-18 Support for JVM-based dynamic languages
  • JPPF-20 Class loader statistics
  • JPPF-21 Data transfer statistics
  • JPPF-22 Make the client dynamically configurable
  • JPPF-127 Refactor the client and node APIs to use Task instead of JPPFTask
  • JPPF-135 Provide a more flexible mechanism for custom serialization extension
  • JPPF-137 Enabling a more flexible way of matching jobs to nodes
  • JPPF-155 Add Wikipedia database word count as a sample
  • JPPF-156 JCA connector: provide a mechanism for reconfiguration of the client without restart of the app server
  • JPPF-161 Ability to change the admin console layout
  • JPPF-173 Ability to include external configuration in the JPPF configuration
  • JPPF-175 Extend the JPPF network protocol to enable properly closing the network connections
  • JPPF-184 Optimize deserialization errors handling in the node
  • JPPF-193 Timeout of bundles dispatched to the nodes
  • JPPF-195 New "jppf@home" sample illustrating a volunteer computing model with JPPF
  • JPPF-196 Ability to associate a screen saver with a node
  • JPPF-197 Built-in ability for the tasks to send notifications during execution
  • JPPF-201 Recovery from hard failures between servers
  • JPPF-202 Drop support for OC4J app server in the JCA connector
  • JPPF-205 Ability to reset the JPPF client
  • JPPF-210 Add new execution policy executing an arbitrary script
  • JPPF-211 Document the statistics API
  • List of enhancements:
  • JPPF-93 Class loader enhancements: client channel requests
  • JPPF-143 Apply data transformation and serialization scheme to JMX data
  • JPPF-146 Fully automate unit testing for the J2EE connector
  • JPPF-182 Generalize the tasks exception property to Throwable type
  • JPPF-190 Improve handling of deserialization errors in the nodes
  • JPPF-204 Add the 'jppf.' prefix to the configuration properties that miss it
  • List of implemented tasks:
  • JPPF-144 Regroup NodeLifeCycleListener and NodeLifeCycleListenerEx into a single interface
  • JPPF-158 Refactor the entire statistics and performance monitoring APIs
  • JPPF-159 Provide an API for easily implementing simple hooks in any area
  • JPPF-167 Refactor the client API so that standalone and JCA client use the same code
  • JPPF-170 Move \"jdk7 add-ons\" to the \"common\" module
  • JPPF-181 Genericize the get methods of dictionary types
  • JPPF-191 Create minimal set of unit tests for SSL/TLS configurations
  • JPPF-192 Create minimal set of unit tests for multi-server configurations
  • JPPF-206 Document the API changes between 3.3 and 4.0
  • JPPF-208 Remove obsolete \"Task notifications\" sample
  • JPPF-209 Update javadoc links and copyright headers in the samples
  • List of bug fixes:
  • JPPF-165 JPPFConfiguration constructor and getConfigurationStream() method should be private
  • JPPF-194 Missing batching of class loading requests in class loading doc

New in version 4.0 RC1 (January 4th, 2014)

  • Bug fixes:
  • JPPF-165 JPPFConfiguration constructor and getConfigurationStream() method should be private
  • JPPF-194 Missing batching of class loading requests in class loading doc
  • Enhancements :
  • JPPF-93 Class loader enhancements: client channel requests
  • JPPF-143 Apply data transformation and serialization scheme to JMX data
  • JPPF-146 Fully automate unit testing for the J2EE connector
  • JPPF-182 Generalize the tasks exception property to Throwable type
  • JPPF-190 Improve handling of deserialization errors in the nodes
  • JPPF-204 Add the 'jppf.' preffix to the configuration properties that miss it
  • Feature requests:
  • JPPF-8 Ability to export statistics
  • JPPF-11 Ability for the nodes to work offline
  • JPPF-18 Support for JVM-based dynamic languages
  • JPPF-20 Class loader statistics
  • JPPF-21 Data transfer statistics
  • JPPF-22 Make the client dynamically configurable
  • JPPF-127 Refactor the client and node APIs to use Task instead of JPPFTask
  • JPPF-135 Provide a more flexible mechanism for custom serialization extension
  • JPPF-137 Enabling a more flexible way of matching jobs to nodes
  • JPPF-155 Add Wikipedia database word count as a sample
  • JPPF-156 JCA connector: provide a mechanism for reconfiguration of the client without restart of the app server
  • JPPF-161 Ability to change the admin console layout
  • JPPF-173 Ability to include external configuration in the JPPF configuration
  • JPPF-175 Extend the JPPF network protocol to enable properly closing the network connections
  • JPPF-184 Optimize deserialization errors handling in the node
  • JPPF-193 Timeout of bundles dispatched to the nodes
  • JPPF-195 New \"jppf@home\" sample illustrating a volunteer computing model with JPPF
  • JPPF-196 Ability to associate a screen saver with a node
  • JPPF-197 Built-in ability for the tasks to send notifications during execution
  • JPPF-201 Recovery from hard failures between servers
  • JPPF-202 Drop support for OC4J app server in the JCA connector
  • JPPF-205 Ability to reset the JPPF client
  • JPPF-210 Add new execution policy executing an arbitrary script
  • JPPF-211 Document the statistics API
  • Tasks:
  • JPPF-144 Regroup NodeLifeCycleListener and NodeLifeCycleListenerEx into a single interface
  • JPPF-158 Refactor the entire statistics and performance monitoring APIs
  • JPPF-159 Provide an API for easily implementing simple hooks in any area
  • JPPF-167 Refactor the client API so that standalone and JCA client use the same code
  • JPPF-170 Move \"jdk7 add-ons\" to the \"common\" module
  • JPPF-181 Genericize the get methods of dictionary types
  • JPPF-191 Create minimal set of unit tests for SSL/TLS configurations
  • JPPF-192 Create minimal set of unit tests for multi-server configurations
  • JPPF-206 Document the API changes between 3.3 and 4.0
  • JPPF-208 Remove obsolete \"Task notifications\" sample
  • JPPF-209 Update javadoc links and copyright headers in the samples

New in version 4.0 Beta (December 3rd, 2013)

  • Bug fixes:
  • JPPFConfiguration constructor and getConfigurationStream() method should be private
  • Missing batching of class loading requests in class loading doc
  • Enhancements:
  • Class loader enhancements: client channel requests
  • Apply data transformation and serialization scheme to JMX data
  • Fully automate unit testing for the JEE connector
  • Generalize the tasks exception property to Throwable type
  • Improve handling of deserialization errors in the nodes
  • Add the 'jppf.' preffix to the configuration properties that miss it
  • Feature requests:
  • Ability to export statistics
  • Ability for the nodes to work offline
  • Class loader statistics
  • Data transfer statistics
  • Make the client dynamically configurable
  • Refactor the client and node APIs to use Task instead of JPPFTask
  • Provide a more flexible mechanism for custom serialization extension
  • Add Wikipedia database word count as a sample
  • JCA connector: provide a mechanism for reconfiguration of the client without restart of the app server
  • Ability to change the admin console layout
  • Ability to include external configuration in the JPPF configuration
  • Optimize deserialization errors handling in the node
  • Timeout of bundles dispatched to the nodes
  • Ability to associate a screen saver with a node
  • Extend the JPPF network protocol to enable properly closing the network connections
  • Built-in ability for the tasks to send notifications during execution
  • Drop support for OCJ app server in the JCA connector
  • Ability to reset the JPPF client
  • Tasks:
  • Regroup NodeLifeCycleListener and NodeLifeCycleListenerEx into a single interface
  • Refactor the entire statistics and performance monitoring APIs
  • Provide an API for easily implementing simple hooks in any area
  • Refactor the client API so that standalone and JCA client use the same code
  • Move \"jdk add-ons\" to the \"common\" module
  • Genericize the get methods of dictionary types
  • Create minimal set of unit tests for SSL/TLS configurations
  • Create minimal set of unit tests for multi-server configurations
  • Document the API changes between 3.3 and 4.0

New in version 3.3.7 (November 29th, 2013)

  • Bug fixes:
  • Issues with multi-server topologies
  • Regression causes JPPFTask.compute() to throw a ClassCastException
  • Documentation incorrectly states that idle socket timeout is working for server and nodes
  • Class loader resource cache generates duplicate resources

New in version 4.0 Alpha 2 (October 22nd, 2013)

  • Bug Fixes:
  • JPPFConfiguration constructor and getConfigurationStream() method should be private
  • Missing batching of class loading requests in class loading doc
  • Enhancements:
  • Class loader enhancements: client channel requests
  • Apply data transformation and serialization scheme to JMX data
  • Fully automate unit testing for the J2EE connector
  • Generalize the tasks exception property to Throwable type
  • Improve handling of deserialization errors in the nodes
  • Feature requests:
  • Ability to export statistics
  • Ability for the nodes to work offline
  • Provide a more flexible mechanism for custom serialization extension
  • Add Wikipedia database word count as a sample
  • Ability to change the admin console layout
  • Ability to include external configuration in the JPPF configuration
  • Optimize deserialization errors handling in the node
  • Timeout of bundles dispatched to the nodes
  • Completed tasks:
  • Regroup NodeLifeCycleListener and NodeLifeCycleListenerEx into a single interface
  • Provide an API for easily implementing simple hooks in any area
  • Refactor the client API so that standalone and JCA client use the same code
  • Move \"jdk7 add-ons\" to the \"common\" module
  • Genericize the get methods of dictionary types

New in version 3.3.6 (September 20th, 2013)

  • Bug fixes:
  • JPPF-180 - Client class loading issues when using Weblogic 10.3.6 remote JDBC JPPF-185 - NoClassDefFoundError in JPPFNode.reset()
  • JPPF-186 - SSL services unable to distinguish between client and node certificates
  • Enhancements:
  • JPPF-183 - Add relevant classes cache lookups in the driver
  • JPPF-187 - Ability to enable TCP keepalive from the configuration

New in version 3.3.5 (August 13th, 2013)

  • Bug fixes:
  • Alternate configuration source incorrectly handled
  • Distribution scripts are missing the execute permission
  • Deadlock in the server upon client disconnection
  • Failover in the client is not working
  • Thread context class loader is null for client-local execution
  • Deadlock in the driver
  • Enhancements:
  • Ability to disable the class cache in the server
  • Performance enhancement: remove unnecessary data from results sent by the node

New in version 4.0 Alpha (July 15th, 2013)

  • Bug Fixes:
  • JPPFConfiguration constructor and getConfigurationStream() method should be private
  • Enhancements;
  • Apply data transformation and serialization scheme to JMX data
  • Fully automate unit testing for the J2EE connector
  • New Features:
  • Provide a more flexible mechanism for custom serialization extension
  • Ability to change the admin console layout
  • Completed Tasks:
  • Regroup NodeLifeCycleListener and NodeLifeCycleListenerEx into a single interface
  • Provide an API for easily implementing simple hooks in any area
  • Refactor the client API so that standalone and JCA client use the same code

New in version 3.3.4 (July 8th, 2013)

  • Improper handling of serialized tasks with a size > 2GB
  • OOME in the driver upon receiving large results from multiple nodes concurrently OOME: PermGen space in a node after many reconnections
  • Class loading and configuration issues in JCA connector
  • The property jppf.local.execution.enabled not used at client startup

New in version 3.3.3 (June 15th, 2013)

  • Bug fixes:
  • JPPF-150 Cancelling job from client API results in missing jobEnded() event
  • JPPF-151 Calling AbstractJPPFClassLoader.close() leads to NoSuchMethodError
  • JPPF-153 In the node, context class loader and task class loader do not match after first job execution
  • JPPF-154 Issues when the client disconnects while a node has active class loading requests

New in version 3.3.2 (May 24th, 2013)

  • Bug fixes:
  • JPPF-140 Node class loader's resource cache should perform proper cleanup
  • JPPF-145 Node execution manager does not clean up the data provider after job execution
  • JPPF-147 Deadlock in the driver
  • JPPF-148 Deadlock in the admin console at startup
  • Enhancements:
  • JPPF-118 Improvements in NodeExecutionManagerImpl
  • JPPF-149 Enable on-demand cleanup of class loader resource cache

New in version 3.3.1 (April 26th, 2013)

  • JPPF-138 JCA client does not reconnect to the driver when discovery is disabled JPPF-142 Erroneous property names for discovery filters

New in version 3.2.3 (March 13th, 2013)

  • Bug fixes:
  • JPPF-122 JMX connection threads leak in the driver
  • JPPF-123 NPE at driver startup when jppf.ssl.server.port = -1
  • JPPF-125 Selection in job data panel does not update the buttons state
  • JPPF-126 Job cancelled from the admin console may get stuck in the server queue JPPF-130 Job hang when loading a large number of classes with multiple nodes JPPF-131 JPPF client does not release JMX thread upon connection failure
  • Enhancements:
  • JPPF-118 Improvements in NodeExecutionManagerImpl

New in version 3.2.2 (January 28th, 2013)

  • [JPPF-110 Proportional algorithm results in uneven load with small number of long-lived tasks](http://www.jppf.org/tracker/tbg/jppf/issues/JPPF-110)
  • [JPPF-116 NPE in AbstractJPPFClassLoader.findResources()](http://www.jppf.org/tracker/tbg/jppf/issues/JPPF-1116)
  • [JPPF-117 Task timeout is not working as expected](http://www.jppf.org/tracker/tbg/jppf/issues/JPPF-117)
  • [JPPF-120 (Regression) Impossible to make an SSL connection to the server]

New in version 3.2.1 (January 8th, 2013)

  • JPPF-105 Temporary files disappear when setting a large MemoryMapDataProvider as data provider in a JPPFJob
  • JPPF-107 Missing exception handling upon invocation of NodeLifeCycleListener methods JPPF-108 Deadlock in the server upon client disconnection
  • JPPF-113 NullPointerException in the console upon connection to first driver
  • JPPF-114 Missing unit tests for node management and monitoring APIs

New in version 3.1.4 (November 13th, 2012)

  • JPPF-58 JPPFResultCollector.setStatus(COMPLETE) is called twice for each job
  • JPPF-59 Cannot submit multiple jobs concurrently with JCA adaptor
  • JPPF-62 Jobs with timeout expire in the client instead of the server
  • JPPF-65 Some threads are still alive when the client is closed
  • JPPF-78 Generic serializer throws a ClassFormatError
  • JPPF-88 Nodes and drivers running as services cannot be restarted via JMX
  • JPPF-94 JPPF source distribution is missing "jdk7-addons" and "application-template" modules JPPF-95 ConcurrentModificationException in driverJobManagement.getAllJobIds()
  • JPPF-96 Deadlock in the client: RemoteChannelWrapper / TaskQueueChecker
  • JPPF-97 OutOfMemoryError in the driver when using multiple client connections

New in version 3.2 RC 2 (November 8th, 2012)

  • Bug fixes:
  • JPPF-5 NoSuchFieldException: target for ForkJoinWorkerThread
  • JPPF-43 MemLeak: ResourceCache (minor)
  • JPPF-60 NPE: AbstractJPPFClassLoader.findResources(284)
  • JPPF-67 NPE: periodic task
  • JPPF-71 Regression: administration console is broken
  • JPPF-54 LocalNode: long init when network is broken
  • JPPF-74 Reg: Failing test on slow single core machine
  • JPPF-73 Peer nodes - infinite reconnection
  • JPPF-75 NPE: display information about peer node in admin
  • JPPF-72 Server deadlock in TaskQueueChecker / NodeNioServer
  • JPPF-78 Generic serializer throws a ClassFormatError
  • JPPF-81 FAIL: TestExecutorServiceConfiguration.testSubmitWithClientExecutionPolicy
  • JPPF-82 FAIL: TestJobPersistence.testJobRecovery
  • JPPF-41 BarChart: queue size sometimes negative
  • JPPF-42 ServerStats/Latest number of jobs show negative value
  • JPPF-70 IllegalStateException: Job xxx already enqueued when job is submitted via multiple channels
  • JPPF-64 Deadlock: state transition in NodeClass and ClientClass
  • JPPF-85 P2P connection failure: IllegalArgumentException: bundle is null
  • JPPF-87 Memory leak in the driver: ServerJob instances fill the heap
  • JPPF-88 Nodes and drivers running as services cannot be restarted via JMX
  • JPPF-94 JPPF source distribution is missing 'jdk7-addons' and 'application-template' modules
  • JPPF-95 ConcurrentModificationException in DriverJobManagement.getAllJobIds()
  • JPPF-96 Deadlock in the client: RemoteChannelWrapper / TaskQUeueChecker
  • Enhancements:
  • JPPF-50 Add data provider to the JPPFExecutor service job configuration
  • JPPF-55 Extensions to NodeLifeCycleListener
  • JPPF-45 Class loader enhancements
  • JPPF-66 Additional notifications needed for JobListener
  • JPPF-63 Add a separate job SLA for processing on the client side
  • JPPF-53 Enhancements to JPPFExecutorService
  • JPPF-76 Make sure JPPF is IPv6-ready

New in version 3.1.1 (July 9th, 2012)

  • Bundler.getMaxBundleSize() always returns 0
  • Job does not terminate when using connection pool
  • Local execution does not use configured number of threads
  • JMX: performConnection is blocking connectAndWait
  • Regression: driver2 waits till driver1 timeouts
  • ClientDataProvider: computeValue=null on drivers local node
  • Broadcast job: can hang on connection failure
  • Exception in resource cache when starting multiple nodes
  • Broadcast job not executed if submitted too soon
  • Errors in the documentation

New in version 3.1 (June 25th, 2012)

  • Management and monitoring:
  • A new graph view of the grid topology has been added to the administration console
  • A new management policy was added to test execution policies against the current grid state
  • Jobs can now be cancelled directly from a standalone JPPF client or from a JCA connection to the J2EE connector
  • Executor services Job SLAs and metadata, along with task timeout and cancel handlers, can now be dynamically configured for tasks and jobs submitted from a JPPFExecutorService Documentation can be found here: http://www.jppf.org/doc/v3/index.php?title=JPPF_Executor_Services#Configuring_jobs_and_tasks (Development guide > JPPF Executor Services > Configuring jobs and tasks)
  • Clients:
  • The load balancing between local and remote execution is now fully configurable in the client.
  • The same algorithms and configuration parameters as for the server are available.
  • Documentation can be found here: http://www.jppf.org/doc/v3/index.php?title=Client_and_administration_console_configuration#Load-balancing_in_the_client (Configuration guide > Client and administration console > Load balancing in the client)
  • Nodes A new node extension enables switching the node execution model to a local fork/join model, using the JDK 7 APIs.
  • This feature is documented here: http://www.jppf.org/doc/v3/index.php?title=Fork/Join_thread_pool_in_the_nodes All implemented feature requests 2977885
  • Add SSL capabilities to JPPF 3390360
  • Graph view of the grid topology (admin console) 3442570
  • Enable timeout/onCancel for Callable/Runnable/POJO tasks 3522495
  • Add management capabilities to J2EE connector 3502395 - Document runtime dependencies for JPPF components 3488092
  • Determine if a job SLA matches any node before submission 3481576
  • ForkJoin executor service 3353566
  • Add JPPFClient.cancelJob() 3285058
  • Enable configurable load-balancing on the client 3353578
  • JPPFTask timeout for local execution

New in version 2.5.5 (December 19th, 2011)

  • 3438303 - Driver doesn't recognize that client connection was closed
  • http://sourceforge.net/tracker/?func=detail&aid=3438303&group_id=135654&atid=733518
  • 3442606 - JPPFExecutorService.submit(Callable) doesn't handle JPPFTask
  • http://sourceforge.net/tracker/?func=detail&aid=3442606&group_id=135654&atid=733518
  • 3454260 - Broadcasting service does not recover from network breakdown
  • http://sourceforge.net/tracker/?func=detail&aid=3454260&group_id=135654&atid=733518
  • 3398676 - Broadcast job not executed when local execution is enabled
  • http://sourceforge.net/tracker/?func=detail&aid=3398676&group_id=135654&atid=733518

New in version 2.5.4 (November 21st, 2011)

  • Bugs fixes:
  • 3386071 - Missing scenarios in generic serializer http://sourceforge.net/tracker/index.php?func=detail&aid=3386071&group_id=135654&atid=733518
  • 3387099 - Admin console handles drivers with multiple addresses poorly http://sourceforge.net/tracker/index.php?func=detail&aid=3387099&group_id=135654&atid=733518
  • 3392801 - Local resource cache should handle full real paths http://sourceforge.net/tracker/index.php?func=detail&aid=3392801&group_id=135654&atid=733518 3399764 - REG trunk 1762: Class not found exception http://sourceforge.net/tracker/index.php?func=detail&aid=3399764&group_id=135654&atid=733518
  • 3376794 - Driver: local node start sometimes http://sourceforge.net/tracker/index.php?func=detail&aid=3376794&group_id=135654&atid=733518
  • New features:
  • 3395638 - Port the J2EE connector to JBoss 7 http://sourceforge.net/tracker/index.php?func=detail&aid=3395638&group_id=135654&atid=733521
  • 3404188 - Allow disabling NIO checks http://sourceforge.net/tracker/?func=detail&aid=3404188&group_id=135654&atid=733521

New in version 2.5.2 (August 1st, 2011)

  • Bugs fixes:
  • 3382065 - Deadlock in node when using generic serialization
  • 3362103 - SerializationUtils.readLong - wrong results
  • 3362045 - Deserializer - read int array instead of longs
  • 3362017 - InputStream not closed 3x
  • 3358138 - the doc does not mention that JMX port are auto-incremented
  • 3356881 - REG 2.5.1: NPE: ResourceProvider.getMultipleResourcesAsBytes
  • 3373217 - Node failover is not working

New in version 2.5.1 (July 6th, 2011)

  • Bug fixes:
  • 3315652 - Unneeded delay upon client initialization
  • 3317127 - Mishandling of tasks distribution in mixed execution mode
  • 3321908 - Bad synchronization in the client leads to jobs resubmitted
  • 3321904 - AbstractJPPFClassLoader is not calling super.findClass()
  • 3322904 - Deadlock in JPPFClassLoader
  • 3348381 - Client deadlock with asynchronous jobs
  • 3354119 - Calling JPPFClient.getConnection() leads to client deadlock
  • Enhancements:
  • 3322850 - Make AbstractJPPFClassLoader.addURL() public
  • 3322847 - Enable classloader to lookup resources in file system
  • 3315389 - Return emptyList from JPPFJob:getTasks not

New in version 2.4 (December 27th, 2010)

  • New Features:
  • 3134243 - Ability to receive notifications of node life cycle events
  • 3112354 - Ability to to specify the look and feel in the admin GUI
  • 3105038 - Document the job distribution model
  • 3102697 - Document JPPF class loading in details
  • 3094064 - Enable local execution in the J2EE connector
  • 3091088 - Enable synchronuous job execution with J2EE connector
  • 3091083 - Add ResultListener to non-blocking job when missing
  • 3091078 - Ability to disable remote execution
  • 3091077 - Implement disk overflow on clients and nodes
  • 3064104 - Batching individual tasks with the JPPFExecutorService
  • Bug Fixes:
  • 3140964 - Fractals sample fails to start
  • 3132907 - CNFE when custom class loader is used
  • 3125121 - NPE in DriverJobManagement when in DEBUG mode
  • 3120933 - Server misses class loading requests
  • 3119256 - NPE in AbstractJPPFClassLoader.findResources()
  • 3112365 - Tabs appear twice in the admin GUI
  • 3110449 - OOM in the node upon large console output
  • 3103455 - [CRITICAL] CME upon returning results
  • 3101406 - Inconsistent behaviour for task timeout
  • 3100204 - Node connection status is incorrect.
  • 3100186 - Java service wrapper config file points to wrong libraries
  • 3098381 - Encryption example bug
  • 3096095 - Multiple driver connections being made to the same machine
  • 3095404 - Client does not receive results upon node error

New in version 2.3 (October 18th, 2010)

  • New Features:
  • 3018899 - Upgrade to GigaSpaces XAP 7.1.1
  • 3018563 - Expiration date/time for jobs
  • 3016249 - Document usage of JPPF configuration APIs
  • 2994564 - Ability to select all nodes / all drivers in the console
  • 2990285 - J2EE connector: ability to connect to multiple JPPF servers
  • 2972415 - Provide an ExecutorService facade to the JPPF client
  • Bug Fixes:
  • 3032447 - JMX connector binds RMI registry to the wrong host
  • 3030900 - Server fails to dispatch tasks to some nodes
  • 3017866 - When connected to multiple drivers, client only uses one
  • 3010245 - Typo and wrong comment in config of peer server discovery
  • 3006929 - Client connections are named improperly
  • 2993389 - Nodes are not removed from the console upon dying

New in version 2.2 (July 27th, 2010)

  • New Features
  • 3018899 - Upgrade to GigaSpaces XAP 7.1.1
  • 3018563 - Expiration date/time for jobs
  • 3016249 - Document usage of JPPF configuration APIs
  • 2994564 - Ability to select all nodes / all drivers in the console
  • 2990285 - J2EE connector: ability to connect to multiple JPPF servers
  • 2972415 - Provide an ExecutorService facade to the JPPF client
  • Bug Fixes
  • 3032447 - JMX connector binds RMI registry to the wrong host
  • 3030900 - Server fails to dispatch tasks to some nodes
  • 3017866 - When connected to multiple drivers, client only uses one
  • 3010245 - Typo and wrong comment in config of peer server discovery
  • 3006929 - Client connections are named improperly
  • 2993389 - Nodes are not removed from the console upon dying

New in version 2.1 (April 7th, 2010)

  • 2972979 - Un-connected nodes shouldn't report a valid number of thread
  • 2969881 - Undefined processing.threads causes execution policy to fail
  • 2969126 - ClientDataProvider feature not implemented in J2EE connector
  • 2967151 - Improper exception handling in JPPFBroadcaster
  • 2962404 - Changing load-balancer settings is done at the wrong time
  • 2955491 - Connection pool not working whith server discovery disabled
  • 2953562 - Node does not report results of tasks with timeout
  • 2933677 - Server thread stuck when serialization fails in node
  • 2914622 - Local IP addresses should include more than 127.0.0.1
  • 2907258 - JMX initialization failure causes node to stop working
  • 2907246 - Remote debugging is only possible on localhost

New in version 1.9 (May 4th, 2009)

  • Submitted tasks can now fetch data from the client while executing
  • A node's configuration can now be updated remotely without restart
  • A new sample illustrates how tasks can communicate with each other
  • Numberous bugs have been fixed, improving the overall stability and performance

New in version 1.8 (February 21st, 2009)

  • A new API enables users to run non-Java processes on the nodes.
  • JPPF is now integrated with GigaSpaces XAP.
  • Jobs and tasks can now be prioritized.
  • The configuration of a client connection pool is now easy and intuitive.

New in version 1.6 (November 1st, 2008)

  • Tasks can now be defined from plain old Java objects
  • A new JPPF Quick Start Guide is now availabe online and offline: http://www.jppf.org/JPPFQuickStart
  • A new management feature enables resetting a node's task counter
  • Improvements to the remote JMX connectivity facilitate the JPPF administration through firewalls
  • Bugs were fixed in the peer-to-peer communication between servers