On Mar 15, 2008, at 2:37 PM, David Blevins wrote:
On Mar 15, 2008, at 12:06 AM, David Jencks wrote:
While not ideal, I think using a working although slower transport
is a reasonable compromise to a faster, broken transport until we
can get a fixed activemq out.
We definitely need the vm transport for the embedded testing
scenarios and we don't have tx recovery yet, so this is something
we probably don't want enable by default. We can wrap the wrapping
with the "duct tape" flag like so:
if (System.getProperty("duct tape") != null) {
xaResource = new WrapperNamedXAResource(xaResource,
container.getContainerID().toString());
}
EndpointHandler endpointHandler = new EndpointHandler(container,
deploymentInfo, instanceFactory, xaResource);
If you have time to make the change and rollback the service-
jar.xml settings, that'd be great, otherwise I'll get to it before
we release.
You should probably check my work :-) but after some work I think the
current status is:
- recovery works if howl log configured in tm configuration
- there's a flag TxRecovery for MDB container and the DBCP pools that
turns on the NamedXAResource wrapping
- recovery and wrapping is turned on for standalone and tomcat, and
these use the amq tcp transport
- recovery and wrapping is turned off for embedded and it uses vm
transport
The tests break if you turn on recovery and wrapping in embedded
because the howl log locks its log files and does not unlock them.
Without a "stop" lifecycle call I don't know how the howl log can
determine its time for a clean shutdown.
thanks
david jencks
-David