The code I provided is in a StartStopListener in order to start the DirectoryService when a web app starts up. After this I import a couple of ldif files into the service if the data doesn't already exist.
I updated from trunk last Friday so I should have that fix. I seem to have an issue with restarting my server. I'll try debugging into the search and see if it I can see anything.
On Mon, Jun 13, 2011 at 2:35 PM, Mike Adamson <firstname.lastname@example.org> wrote:Hi,Hi,
I am using an embedded DirectoryService instance from trunk. If I start the service and inject my test data with ACIs they work correctly. E.g. users can access the data allowed by the ACIs. If I stop the server and start it again they can't. If I connect to the server as the admin user I can see that my data is still there and the subEntries are visible they just don't seem to be being interpreted.
I remember seeing a message on these forums that this was a bug in 1.5.7 but had been fixed on trunk. I am using the following code to start the service:Yes, it was fixed in trunk, and the last fix was applied less than a month ago.
InstanceLayout instanceLayout = new InstanceLayout(workingDir);
directoryService = new DefaultDirectoryService();
Partition systemPartition = createPartition("system", ServerDNConstants.SYSTEM_DN);
Partition ratPartition = createPartition(partitionId, partitionDn);
addIndex(ratPartition, "objectClass", "ou", "uid");
SchemaPartition schemaPartition = directoryService.getSchemaService().getSchemaPartition();
schemaPartition.setWrappedPartition( schemaLdifPartition );
schemaPartition.setSchemaManager( schemaManager );
Is there something more I need to do to reload the ACI cache?Hmmm, the code you expose won't do anything else than starting the server, no ?