JdbcMutableAclService - Transaction must be running
Try to cover the calling aclService methods with a transaction template:
TransactionTemplate tt = new TransactionTemplate(transactionManager);
tt.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
ObjectIdentity oid = new ObjectId
entityImpl(clazz.getCanonicalName(), securedObject.getId());
// your aclService operation here:
aclService.deleteAcl(oid, true);
}
});
The error you mentioned only happens when the sid is not present in the acl_sid table and is inserted by Spring ACL automatically. Try adding the rows manually and then rerun the code. This worked for me.
Refer http://forum.springsource.org/showthread.php?55490-ACL-Transaction-must-be-running