Greetings Hackers,
Proposal: I'd like to propose enhancing SensorProperties and ServerProperties to perform a System.setProperty() (or System.setProperties()).
I propose adding:
System.setProperties(properties)
to each constructor after the respective properties have been read from sensor.properties or hackystat.properties.
Another alternative is to only call System.setProperty() on properties beginning with java.*, javax.*, com.sun.*, etc.
Reasoning: 1. I first encountered this with the "headless" operation. I noticed it is in hackystat.properties but ignored. In order for headless to work, CATALINA_OPTS must be set (mentioned in the build instructions). This does work, but it is nicer to have it all in hackystat.properties.
2. We are working on configuring Hackystat for SSL. We have been successful, but SSL requires a number of System properties to be set. This solution would prevent us from changing a single line of Hackystat code. Plus, it enables the system to support other Java System properties in the future.
We considered add the VM parameters to SensorShell invocations. Unfortunately, setting VM parameters for every call to Sensorshell is quite cumbersome. Sensors live in ANT, VI, Eclipse, etc -- ensuring that every call properly sets the properties is cumbersome.
Of course, we can simply change the code, but I believe that this change is less invasive and is beneficial for future extensibility.
Other ideas/solutions are very welcome!
Thanks, Todd
