我正在尝试使用 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 编码的新手,所以无法理解我应该做些什么来防止长时间获取会话对象。如果我做错了什么或者我是否可以克服这个问题,谁能告诉我?非常感激!