Our EJB application has a number of configuration options that the application installer/administrator and setup. Currently this is done by editing a properties file (on the server file system, external to the EAR). The installer sets a JVM property ("-Dourapp.configfile=xxxx") to the location of the file. We read that properties file and it control various options in our application.
This of course violates the J2EE specs (our EJBsshould not be doing file I/O on the server). This also does not work in a clustered environment where the nodes in the cluster may not have access to a shared file system, and the installer should not have to copy the properties file to every node.
So the question is, what is the best J2EE-compliant mechanism for application configuration data? If the configuration data is changed while the application is running, is there a (J2EE) way for the application to be notified?