The transaction.geronimo extension assumes that it has access to a
local filesystem where it can write the transaction log. This
reasonable in a standalone server environment but does not hold true
in others - for example, when running in a webapp (where redeployment
of the app may result in loss of the transaction log with undesirable
consequences). As part of refactoring RuntimeInfo.getInstallDirectory
() I changed the extension to use StandaloneRuntimeInfo to get the
install directory. Although better, this still isn't quite right as
presumably we would want different logs for different profiles.
Doing this highlighted a problem though with using SCATestCase to do
integration testing of this module during the unit test phase. When
SCATestCase is used this way (with tuscany.installDir unset) there is
no concept of a local installation directory and so the tests fail as
they cannot figure out where to write the log files.
I think there are two options on how to address this:
1) the component can assume it has a local installation directory
structure that it can use. In doing this it is really assuming that
it is running in a standalone environment and can rely on
StandaloneRuntimeInfo. Test cases can either mock that API out, or
can unpack the standalone distribution in the pre-integration-test
phase.
2) the component can allow explicit configuration of where its local
files should be written through a configuration property. This really
needs the support for complex properties, composite overriding, and
the external file support that we still need to implement from the spec.
I think the second solution is a better long-term path, we just need
to get the pre-reqs implemented.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]