How do I add/configure a partition over the network? Is there an example I can go off?
When I initialize the partition in the code below, I see the files being created. However, when I restart my ApacheDS server, and try to add the context entry, I'm this error seeing: 2014-02-12 13:06:57,741 PartitionCommand [ERROR] Error creating partition: org.apache.directory.api.ldap.model.exception.LdapNoSuchObjectException: NO_SUCH_OBJECT: failed for MessageType : ADD_REQUEST Message ID : 4 Add Request : Entry dn[n]: dc= newParition,dc=com objectClass: top objectClass: domain dc: newParition : ERR_268 Cannot find a partition for dc= newParition,dc=com When I create a partition through Studio, and restart the server, I see a partition entry in the config.ldif. I assume I need to create that entry using the java api? Is there an example on how to do this? Appreciate the help. Thanks. From: <Louie>, "Louie, Kenneth W" <kenneth.w.lo...@lmco.com<mailto:kenneth.w.lo...@lmco.com>> Date: Wednesday, February 12, 2014 10:50 AM To: "users@directory.apache.org<mailto:users@directory.apache.org>" <users@directory.apache.org<mailto:users@directory.apache.org>> Subject: Re: Trying to create a partition programmatically - need help I'm trying to create a new partition on a remote ApacheDS server. I can do it through the Studio, but I would like to automate this process. Is it possible to do this programmatically? The examples I see are for an embedded server. Thanks From: <Louie>, "Louie, Kenneth W" <kenneth.w.lo...@lmco.com<mailto:kenneth.w.lo...@lmco.com>> Date: Tuesday, February 11, 2014 1:53 PM To: "a...@directory.apache.org<mailto:a...@directory.apache.org>" <a...@directory.apache.org<mailto:a...@directory.apache.org>>, "users@directory.apache.org<mailto:users@directory.apache.org>" <users@directory.apache.org<mailto:users@directory.apache.org>> Subject: Trying to create a partition programmatically - need help I'm trying to create a partition programatically. I've tried following the example on the ApacheDS website (https://directory.apache.org/apacheds/basic-ug/1.4.3-adding-partition.html#adding-a-partition-programmatically) , but this example is definitely not correct. Here is my code: try { LdapConnection connection = new LdapNetworkConnection(host, port); connection.bind(admin, password); log.info("Loading Schema..."); connection.loadSchema(); SchemaManager schemaManager = connection.getSchemaManager(); Dn suffixDn = new Dn(schemaManager, "dc=newParition,dc=com"); log.info("Start to create partition..."); JdbmPartition newPartition = new JdbmPartition(schemaManager); newPartition.setId("newParition"); newPartition.setSuffixDn(suffixDn); newPartition.setCacheSize(1000); newPartition.setPartitionPath(new URI("file:///var/lib/apacheds-2.0.0-M15/default/partitions/newParition")); newPartition.addIndex(new JdbmIndex("objectClass", false)); newPartition.addIndex(new JdbmIndex("dc", false)); Entry contextEntry = new DefaultEntry(schemaManager, suffixDn); contextEntry.put("objectClass", "domain", "top"); contextEntry.put("dc", "newParition"); log.info("Initializing Parition"); newPartition.initialize(); log.info("Adding Entry to Partition"); newPartition.add(new AddOperationContext(null, contextEntry)); } catch (URISyntaxException ex) { log.error("Error with partition location: " + ex); } catch (Exception ex) { log.error("Error creating partition: " + ex); } When I run this, I'm seeing: Error creating partition: org.apache.directory.api.ldap.model.exception.LdapSchemaViolationException: ERR_219 Entry dc=newParition,dc=com contains no entryCsn attribute: Entry … It doesn't even look like the partition is being added to my server (when I restart my apacheds server, I don't see any new namingContexts under the Root DSE). I think I'm missing some steps here, but not sure what they are. Can anyone help me? I'd greatly appreciate it. Thanks