2016-10-31 1 views
0

J'utilise Jackrabbit 2.12.4 comme JCA (via paquet RAR) et à côté des opérations par défaut RJC je voudrais utiliser le usermanager pour ajouter/supprimer/modifier les utilisateurs:ne peut pas utiliser Jackrabbit et UserManagemeNT via JCA

Session s = repo.login (...); UserManager umngr = ((JackrabbitSession) s) .getUserManager();

* Cela jette l'exception suivante * de java.lang.ClassCastException: org.apache.jackrabbit.jca.JCASessionHandle ne peut pas être jeté à org.apache.jackrabbit.api.JackrabbitSession

est UserManagemeNT possible que lorsque intégré? using jackrabbit Puis-je utiliser ou créer une solution de contournement?

Meilleures salutations

Répondre

0

Pour se connecter à un référentiel à partir Jackrabbit JCA, vous pouvez voir this topic, la classe de session est:

import java.io.Serializable; 
import java.net.MalformedURLException; 
import javax.annotation.Resource; 
import javax.ejb.Stateless; 
import javax.jcr.LoginException; 
import javax.jcr.Repository; 
import javax.jcr.RepositoryException; 
import javax.jcr.Session; 
import javax.jcr.SimpleCredentials; 
import javax.naming.InitialContext; 
import javax.naming.NamingException; 
@Stateless 
public class OcmRepository implements Serializable { 

    public Repository repository; 
    public Session session; 

    public OcmRepository() { 
    } 

    public Session getSession(String log, String mdp) throws LoginException, RepositoryException, NamingException, MalformedURLException { 
     InitialContext initalContext = new InitialContext(); 
     repository = (Repository) initalContext.lookup("jndi/jca"); 
     session = repository.login(new SimpleCredentials(log, mdp.toCharArray()), null); 
     return session; 
    } 
}