You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Kiran Ayyagari (JIRA)" <ji...@apache.org> on 2010/05/18 18:56:44 UTC
[jira] Resolved: (DIRSERVER-1504) DefaultSchemaLdifExtractor relies
on "java.class.path" environment variable
[ https://issues.apache.org/jira/browse/DIRSERVER-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kiran Ayyagari resolved DIRSERVER-1504.
---------------------------------------
Fix Version/s: 2.0.0-RC1
Resolution: Fixed
Instead of mucking around the classpath inside a servlet container, I have added some code to load the schema from a resource path
specified using a system property
The key name is 'schema.resource.location' and its usage is given below
This system property can be used to load schema from a user specified resource like a absolute path to a directory or jar file.
This is useful to start embedded DirectoryService in a servlet container environment
usage:
-Dschema.resource.location=/tmp/schema
OR
-Dschema.resource.location=/tmp/shared-ldap-schema-0.9.18.jar
> DefaultSchemaLdifExtractor relies on "java.class.path" environment variable
> ---------------------------------------------------------------------------
>
> Key: DIRSERVER-1504
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1504
> Project: Directory ApacheDS
> Issue Type: Bug
> Affects Versions: 1.5.7
> Environment: Tomcat 6.0.26, Sun JDK 1.6.0_16, Windows Vista
> Reporter: Marian Schedenig
> Assignee: Kiran Ayyagari
> Priority: Critical
> Fix For: 2.0.0-RC1
>
>
> When initialising ApacheDS, DefaultSchemaLdifExtractor is invoked by to read default LDIF files. To find these files, regular expressions are applied to all JARs found in the class path. The class path is found by reading the environment variable "java.class.path".
> This is done in ResourceMap#getResources():
> String classPath = System.getProperty( "java.class.path", "." );
> String[] classPathElements = classPath.split( File.pathSeparator );
> There is no guarantee that "java.class.path" contains all the JARs available to the current class loader. For example, in Tomcat 6, the variable only contains one single entry, Tomcat's own bootstrap.jar. Result: DefaultSchemaLdifExtractor fails to find and extract any LDIF files, and JarLdifSchemaLoader throws an exception when an expected schema file is not available.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.