public Object doInConnection(Connection con) throws SQLException, DataAccessException {
//This is horribly hacky but we can't rely on the main uPortal TM directly or we get
//into a circular dependency loop from JPA to Ehcache to jGroups and back to JPA
final DataSource ds = new SingleConnectionDataSource(con, true);
final PlatformTransactionManager ptm = new DataSourceTransactionManager(ds);
final TransactionOperations to = new TransactionTemplate(ptm);
to.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
logger.info("Creating jGroups auth token");
final String authToken = RandomTokenGenerator.INSTANCE.generateRandomToken(authTokenLength);