I have a java program that opens a TransientRepository using SLING_HOME/jackrabbit/repository.xml as the config file and SLING_HOME/jackrabbit/repository as the repository directory. This program doesn't use sling at all, just jackrabbit. It adds some nodes to the repository, then exits. It throws no exceptions. However, when I start the sling webapp (launchpad), I don't see those nodes. Furthermore, my program runs whether the sling webapp is running or not.
So my questions are: 1) Where is the repository that my program is writing to? Or, if it is writing to the same repository, why can't I see the nodes that were created. Could it be using a different workspace? Is there a way to determine what workspace you are in (and what user you are logged in as) from a sling script? 2) Can a java program directly modify the repository that launchpad uses, while the launchpad app is running? We have a need to use the jackrabbit API directly to modify our repository, but if we have to take down the webapp every time we do this, that's not an option we can use. Is there another type of repository that can handle this type of concurrency? Next question: I have an RMI application that has nothing to do with Sling or Jackrabbit. When I try and start this app, it fails if launchpad is running, telling me the RMI port is in use. If I stop the launchpad app, then my RMI app can start, and then I can start launchpad and it works fine. This suggests that sling is starting up RMI but not using it. Can I disable that? Thanks Dan
