I'm successfully using OpenEJB as an embedded container for testing
purposes only. Production deployments are going to another container
to be determined.
I have the following eclipse directory structure:
hca
+ conf/ # includes persistence.xml, dozer mapping files, etc.
+ openejb-home/
+ conf/ # empty before running a unit test
+ src/
+ java/ # includes many subdirectories
+ test/
+ conf/
+ openejb.xml
+ java/ # includes many subdirectories
When I set up the InitialContext, I also include the following properties:
properties.setProperty("openejb.home", "openejb-home");
properties.setProperty("openejb.base", "openejb-home");
properties.setProperty("openejb.configuration",
"openejb.home/../test/conf/openejb.xml");
Everything runs fine. The openejb.xml configuration file is found in
test/conf. The generated properties and config files (e.g.,
logging.properties, cxf.properties) are automatically created in
openejb-home/conf. Also, the temp directory is created under
openejb-home. I connect to an external database, so there is no db
directory.
However, I was expecting all openejb files and directories to be
created under openejb-home, but only the aforementioned ones were.
Additionally, there is another logging.properties being created under
my main conf directory (i.e., hca/conf) and the logs directory is
being created under hca.
Why does OpenEJB seem to ignore my home and base overrides? I don't
want to change the name of my own conf directory because it's our
standard. Also, if I created my logging.properties file under conf,
OpenEJB would overwrite it.
Any ideas?
Thanks.