Bugs fixed:
MysqlXaConnection.recover(int flags)
now permits combinations ofXAResource.TMSTARTRSCAN
andTMENDRSCAN
. To simulate the “scanning” nature of the interface, we return all prepared XIDs forTMSTARTRSCAN
, and no new XIDs for calls withTMNOFLAGS
, orTMENDRSCAN
when not in combination withTMSTARTRSCAN
. This change was made for API compliance, as well as integration with IBM WebSphere's transaction manager. (Bug#20242)Fixed
MysqlValidConnectionChecker
for JBoss doesn't work withMySQLXADataSources
. (Bug#20242)Added connection/datasource property
pinGlobalTxToPhysicalConnection
(defaults tofalse
). When set totrue
, when usingXAConnections
, the driver ensures that operations on a given XID are always routed to the same physical connection. This enables theXAConnection
to supportXA START ... JOIN
afterXA END
has been called, and is also a workaround for transaction managers that don't maintain thread affinity for a global transaction (most either always maintain thread affinity, or have it as a configuration option). (Bug#20242)Better caching of character set converters (per-connection) to remove a bottleneck for multibyte character sets. (Bug#20242)
Fixed
ConnectionProperties
(and thus some subclasses) are not serializable, even though some J2EE containers expect them to be. (Bug#19169)Fixed driver fails on non-ASCII platforms. The driver was assuming that the platform character set would be a superset of MySQL's
latin1
when doing the handshake for authentication, and when reading error messages. We now use Cp1252 for all strings sent to the server during the handshake phase, and a hard-coded mapping of thelanguage
systtem variable to the character set that is used for error messages. (Bug#18086)Fixed can't use
XAConnection
for local transactions when no global transaction is in progress. (Bug#17401)