Is it expected that all objectdb.conf entries are optional and when they are not provided defaults are used? It appears that that is the case for all documented entries, except for 4 entries under "General".
<objectdb>
<general>
<!-- error if missing <temp path="$temp/ObjectDb" threshold="64mb" /> -->
<!-- error if missing <network inactivity-timeout="0" /> -->
<!-- ok if missing <url-history size="0" user="false" password="false" /> -->
<!-- error if missing <log path="" max="8mb" stdout="false" stderr="false" /> -->
<!-- error if missing <log-archive path="$objectdb/log/archive/" retain="90" /> -->
<!-- ok if missing <logger name="*" level="info" /> -->
</general>
</objectdb>
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Properties;
public class Test{
public static void main(String[] args){
String currentDirectory = System.getProperty("user.dir", ".");
System.out.format("Current Directory: %s%n", currentDirectory);
Path objectDbConFile = Paths.get(currentDirectory, "objectdb.conf");
if(Files.exists(objectDbConFile)) System.out.println("objectdb.config FOUND"); else System.out.println
("objectdb.config NOT found");
System.setProperty("objectdb.home", currentDirectory); // Sets %objectdb environment variable
System.setProperty("objectdb.conf", objectDbConFile.toString());
Properties properties = new Properties();
properties.setProperty("javax.jdo.PersistenceManagerFactoryClass", "com.objectdb.jdo.PMF");
properties.setProperty("javax.jdo.option.ConnectionURL", "$objectdb/local.odb");
PersistenceManagerFactory persistenceManagerFactory = JDOHelper.getPersistenceManagerFactory(properties);
PersistenceManager persistenceManager = persistenceManagerFactory.getPersistenceManager();
persistenceManager.close();
persistenceManagerFactory.close();
}
}