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