1

我正在尝试使用 openCMIS 连接到 Alfresco,获取会话对象需要 6-18 秒。我的代码如下。

private static String ALFRESCO_ATOMPUB_URL = "http://localhost/alfresco/service/cmis";
public Session getAtomSession() {

    long time1 = System.currentTimeMillis();
    SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
    Map<String, String> parameter = new HashMap<String, String>();
    parameter.put(SessionParameter.USER, SYSTEM_USER);
    parameter.put(SessionParameter.PASSWORD, SYSTEM_PASSWORD);
    parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
    parameter.put(SessionParameter.ATOMPUB_URL, ALFRESCO_ATOMPUB_URL);
    parameter.put(SessionParameter.AUTH_HTTP_BASIC, "true" );
    parameter.put(SessionParameter.COOKIES, "true" );

    /*
    List<Repository> repositories = new ArrayList<Repository>();
    repositories = sessionFactory.getRepositories(parameter);

    Repository repository = repositories.get(0);
    log.debug("REPOSITORY_ID: "+repository.getId());*/
    parameter.put(SessionParameter.REPOSITORY_ID, MY_REPOSITORY_ID);


    Session session = sessionFactory.createSession(parameter);

    //log.debug("Got a connection to repository: " + repository.getName() + ", with id: " + repository.getId());
    long time2 = System.currentTimeMillis();
    long difftime = time2 - time1;
    log.debug("Time Taken for Atom Session: "+difftime+" ms.");
    return session;
}

我尝试不使用 cookie 且不使用 AUTH_HTTP_BASIC 但没有成功。我正在运行一个 bitNami Alfresco 4.0.e-0 实例并将我的应用程序与 Alfresco 一起托管在同一个 tomcat 6 服务器中。我是使用 Alfresco 编码的新手,所以无法理解我应该做些什么来防止长时间获取会话对象。如果我做错了什么或者我是否可以克服这个问题,谁能告诉我?非常感激!

4

1 回答 1

0

你可以试试这个:

private static String ALFRESCO_ATOMPUB_URL = "http://localhost:8080/alfresco/service/cmis";
于 2012-12-02T22:03:39.527 回答