2016-10-31 3 views
0

経由Jackrabbitのとusermanagementを使用することはできません。は、私は(RARパッケージを経由して)JCAとしてJackrabbitの2.12.4を使用して、私は 追加/削除/編集ユーザーへのUserManagerを使用したい デフォルトJCR操作の横にいたJCA

セッションs = repo.login(...); UserManager umngr =((JackrabbitSession)s).getUserManager();

*これは、次の例外* java.lang.ClassCastExceptionがスローされます:org.apache.jackrabbit.jca.JCASessionHandle はorg.apache.jackrabbit.api.JackrabbitSession

にキャストすることはできませんUsermanagementが可能な場合のみです埋め込み? jackrabbitを使用してください 回避策を使用または構築できますか?

敬具

答えて

0

は、あなたが見ることができるthis topic JackrabbitのJCAからリポジトリにログインするには、セッションクラスは次のとおりです。

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; 
    } 
} 
関連する問題