I am trying to use MQSeries as a transaction manager in the manner outlined in "Configuring JTA/JDBC coordination" in the WebSphere documentation.

However I am trying to do it using Microsoft's new JDBC.
I see this works with the latest version of WebSphere App Server (http://blogs.msdn.com/jdbcteam/archi...iver-v1-2.aspx).

When I try the following;


MQEnvironment.properties.put(MQC.THREAD_AFFINITY_P ROPERTY, true);
String serverName;
try
{
serverName = InetAddress.getLocalHost().getHostName();
}
catch (UnknownHostException e)
{
serverName = "localhost";
}
SQLServerXADataSource dataSource = new SQLServerXADataSource();
dataSource.setServerName(serverName);
dataSource.setDatabaseName("BLOBTEST");
dataSource.setSelectMethod("cursor");
dataSource.setApplicationName("XADataSourceTest");
dataSource.setIntegratedSecurity(true);

MQQueueManager qMgr = new MQQueueManager("QM_hath");
if(qMgr.isConnected())
{
System.out.println("Connected!");
}

Connection connection = qMgr.getJDBCConnection(dataSource);

System.out.println("Got a connection!");
qMgr.begin();

I get an exception which appears to inform me that my Connection will not be enlisted....


MQJE001: Completion Code '1', Reason '2121'.


The SQLServer jars and dlls are on the classpath and Windows PATH, and the MQ dlls are alos on the path ( I am running on x64 Windows ) ... C:\Program Files (x86)\IBM\WebSphere MQ\java\lib64, but not the 32bit ones in C:\Program Files (x86)\IBM\WebSphere MQ\java\lib.


1) Will the fact that there is not "switch" dll for Ms SQLserver mean this will never work?
2) Do you have any plans to enable this functionality
3) Has anyone successfully run MQ via JMS and SQLServer via JDBC in the same Transaction using something like JOTM/Atomikos/BTM ?


Thanks