- implemented issue #189
- added support for running additional services in the core node
- added an additional configuration property (com.sun.sgs.services.node.types) for specifying a list of node types
- each type in the list corresponds to the service at the same index in the com.sun.sgs.services list and indicates
which node types that particular service should be run on
- reviewed by jloizeaux
A sgs-server/src/test/java/com/sun/sgs/impl/kernel/TestKernelCustomServices.java
- added a multitude of tests to check various combinations of services, managers, and node types configurations
- tests check both the standard properties configuration and the corresponding "ext" properties for extensions and
various combinations of the two
- also added tests to verify combinations of configured authenticators
M sgs-server/src/main/java/com/sun/sgs/impl/kernel/StandardProperties.java
- added new com.sun.sgs.services.node.types property
- added ServiceNodeTypes enumeration to capture possible values for node types property
- expanded LAST_SERVICE property to include one for each node type
M sgs-server/src/main/java/com/sun/sgs/impl/kernel/BootProperties.java
- added a new com.sun.sgs.ext.services.node.types property to specify node types for services in extensions
M sgs-server/src/main/java/com/sun/sgs/impl/kernel/Kernel.java
- updated private Properties attribute to an instance of PropertiesWrapper
- moved construction of IdentityCoordinator and IdentityAuthenticators into private method
- refactored retrieval of lists from properties (i.e. for services, managers, node types) to use new PropertiesWrapper methods
- split up loading of core services and custom services into separate methods
- added support for loading a custom service on the core node
M sgs-server/src/main/java/com/sun/sgs/impl/kernel/KernelContext.java
- added a CONFIG level log to indicate when a service is ready
M sgs-server-dist/src/main/etc/conf/sgs-server.properties
- added properties descriptions for configuring custom services
M sgs-server-dist/src/main/etc/CHANGELOG
- noted change
M pom.xml
- update sgs-shared version to 1.9
M sgs-boot/src/test/java/com/sun/sgs/system/TestExtJarGraph.java
- updated tests to account for new node types property
A sgs-boot/src/test/test-jars/MisMatchedNodeTypes.jar
- new test JAR which contains an example of the node types property not matching the services property
M sgs-boot/src/test/test-jars/AWithServices.jar
M sgs-boot/src/test/test-jars/BWithServices.jar
M sgs-boot/src/test/test-jars/CWithServices.jar
A sgs-boot/src/test/test-jars/DWithServices.jar
- updated test JARs to include new node types property in the ext.properties configuration
M sgs-boot/src/main/java/com/sun/sgs/system/ExtJarGraph.java
- added support for new node types property in extension JAR files