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]

Reply via email to