John E. Conlon wrote:
Attempted to manually start up enough bundles to use an ldap admin tool
to browse the backend store, but encountered a few problems in the
attempt.
Sorry you had to do this manually. I made a 'main' module that will
assemble ApacheDS deps with the Felix runtime and startup with an
ApacheDS Felix "profile." I just committed this on rev 396981. Note
that it only does MINA and SLF4J for now, but it demonstrates the
technique. Other bundles will come quicker now, once I deal with the
import/export statements. See below.
1. The first problem (annoyance is more appropriate) encountered was a
minor one - a warning message indicating a missing log4j.properties
file. What directory is the logging package expecting to find one?
ApacheDS startup convention is to specify this on the command line:
java -Dlog4j.configuration=file://$(pwd)/log4j.properties
This is typically done for you in an apacheds.sh, which I just committed
on rev 396989.
2. The second problem occurred when the LDAP bundle couldn't find the
org.apache.mina.protocol package:
ERROR: ...
I would have thought that the org.apache.mina.protocol package would be
exported by the MINA Bundle, but that class is neither contained in the
bundle nor is it exported by it. ??
3. The third problem I noticed while snooping around the MINA bundle -
it appears to have an error in the export declaration where it exports
the package org.apache.mina.protocol.handler yet it does not contain a
jar for of it.
As for #2 and #3, there were a ton of old packages names still in the
POM's for the M1 project.xml's that I thought I could reuse but too much
got refactored in ApacheDS. Rather than pick away at them I took a step
back and started a full mangen analysis and I'll start with a clean
slate. I committed the mangen analysis file. I now have to go through
and update the manifests for each bundle. Let me get on that.
Note that we should see manifest generation appear in the M2 plugin
later this week, w.r.t import/export statement generation and Activator
detection, so other projects using OSGi won't have to go through this.
Enrique