Hi all,
I am trying to setup an embedded ApacheDS 2.0.0-M23 server from my java code, snippet is given below. I tried to create a new partition, but unfortunately it fails miserably since I cannot see this partition from ApacheDS Studio. Anyone could help me or give me a code snippet in order to be able to start the ApacheDS server from Java code and create a partition? I already gave a look to the documentation page http://directory.apache.org/apacheds/basic-ug/1.4.3-adding-partition.html, however the code snippet does not work as well. Many thanks in advance. public void start() { ApacheDsService apacheDsService = new ApacheDsService(); apacheDsService.start(new InstanceLayout(this.ldapInstanceFolder)); DirectoryService directoryService = this.apacheDsService.getDirectoryService(); directoryService.getChangeLog().setEnabled(true); directoryService.setAllowAnonymousAccess(true); final SchemaManager schemaManager = this.directoryService.getSchemaManager(); // Create the partition final Dn suffixDn = new Dn(schemaManager, "o=sevenSeas"); final JdbmPartition partition = getJdbmPartition(this.directoryService, "sevenSeas", suffixDn, contextEntry); partition.initialize(); directoryService.addPartition(partition); } private JdbmPartition getJdbmPartition(final DirectoryService directoryService, final String partitionId, final Dn suffixDN, final Entry entry) throws ConfigurationException { final JdbmPartition jdbmPartition = new JdbmPartition(directoryService.getSchemaManager(), directoryService.getDnFactory()); jdbmPartition.setId(partitionId); jdbmPartition.setCacheSize(1000); jdbmPartition.setOptimizerEnabled(true); File partitionPath = new File(directoryService.getInstanceLayout().getPartitionsDirectory(), partitionId); jdbmPartition.setPartitionPath(partitionPath.toURI()); try { jdbmPartition.setSuffixDn(suffixDN); } catch (final LdapInvalidDnException lide) { lide.printStackTrace(); throw new ConfigurationException(lide.getMessage()); } jdbmPartition.setSyncOnWrite(true); return jdbmPartition; } Cyril
