우선, 평소대로 create a Session입니다. 당신이 정상적인 세션 객체를 사용 하듯이
int maxParallelRequests = 10;
AsyncSessionFactory asyncFactory = AsyncSessionFactoryImpl.newInstance();
asyncSession = asyncFactory.createAsyncSession(session, maxParallelRequests);
다음이 asyncSession을 사용
는 다음에, asynchronous session 작성이 세션을 사용합니다.
동기 및
비동기 종종 너무 일부 동기 작업을 수행 할 것입니다 혼합. 예를 들어, 폴더를 동 기적으로 만든 다음이 폴더 내에 비동기 적으로 파일을 업로드하십시오. 폴더를 만들 때까지 기다리지 않으면 문서 업로드가 실패 할 수 있습니다. 다음과 같은 경우에 수행하는 방법입니다 :
// Create the folder synchronously.
Folder folder = session.getRootFolder().createFolder(properties);
// Upload the file asynchronously.
Future<ObjectId> futureDocumentId = asyncSession.createDocument(
properties,
new ObjectIdImpl(remoteFolder.getId()),
contentStream,
VersioningState.MAJOR
);
는 동기 세션을 사용 하듯이 folder.createDocument
을 쓸 수 있기 때문에 asyncSession.createDocument
구조 위, 그것이 알 수 있습니다.
futureDocumentId 변수는 당신이 그것을 필요로 할 때 당신이 그것을 필요로하는 경우는, 문서의 식별자를 얻을 수있게된다 : 당신이 정말로 필요하면
ObjectId documentId = futureDocumentId.get();
만이 메소드를 호출을하고, 가능한 늦게 호출 .