Hi everyone,

I'm trying to implement a JSR-170 Content Repository as an EJB Application. This is a similar approach as described in JackRabbit Deployment Model 3 (Repository Server with RMI). My underlying data storage will be a Database. At the moment I am having a problem implementing the interfaces (e.g. javax.jcr.Repository), because their method signature doesn't comply with the restrictions given by the J2EE Specification. An example:

class RepositoryImplBean implements javax.ejb.SessionBean, javax.jcr.Repository{

   public String getDescriptor(String arg0){
      ...
   }
}

interface RepositoryImpl extends javax.ejb.EJBObject, javax.jcr.Repository {

   public String getDescriptor(String arg0) throws RemoteException;

}

All methods in the (Remote-) interface RepositoryImpl have to throw RemoteExceptions (see J2EE Spec) but the interface javax.jcr.Repository doesn't define them. Are there any solutions for this problem? Recompling the javax.jcr.* Interfaces?

Why is the scenario of building a JCR-Server on top of a EJB Container not considered by the specification? Is the approach of building a JCR by using an EJB Container the right way? Is it perhaps possible to use jackrabbit within an EJB-Container (with custom DB-Mapping)?

Thanks for your answers.

-Flo

Reply via email to