I have created a transactional datasource using the jtdsDataSource for Sybase. I actually get a pooled connection from a XAConnection as follows;

HTML Code:
private void initDNADataSource(){
		ApplicationContext ac = new ClassPathXmlApplicationContext(
		"mail-service.xml");
		JtdsDataSource ds=(JtdsDataSource)ac.getBean("datasource2");
		assertTrue(ds!=null);
		try {
			assertTrue(ds.getXAConnection().getConnection()!=null);
			System.out.println("Supports Transactions is "+ds.getXAConnection().getConnection().getMetaData().supportsTransactions());
			boolean b=DataSourceUtils.isConnectionTransactional(ds.getXAConnection().getConnection(), ds);
			System.out.println("DataSource is transactional is "+b);
			//System.exit(4);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
However, the isConnectionTransactional always returns false even though I am clearly obtaining a transactional connection. Does anyone know why this so? I am using the jtds sybase driver.