Getting multiple error in custom app by using DFC
Hi Team,
We have written a custom web application using DFC code for viewing/uploading/downloading documents. During these activities, the listing of documents, viewing/uploading/downloading the document we are creating sessions and post completion, releasing at every step.
We are also done the session pooling setting in dfc.properties file.
dfc.session.pool.enable=true
dfc.session.pool.mode=level2
But we are getting the errors below.
- Error during the session release:-
Session is not owned by this session manager
java.lang.IllegalArgumentException: Session is not owned by this session manager
at com.documentum.fc.client.impl.session.SessionManager.release(SessionManager.java:207) - DfServiceException:: THREAD: http-nio-8080-exec-56; MSG: [DM_API_E_NO_SESSION]error: "There are no more available sessions."; ERRORCODE: 100; NEXT: null
at com.documentum.fc.client.impl.connection.docbase.DocbaseConnectionManager.getConnectionFromPool(DocbaseConnectionManager.java:168)
Note:- We have not set the dfc.session.max_count in client custom application.
How to fix these errors? Kindly suggest.
Comments
-
Hi @Ram_Kishan_Maitry, we are submitting this to the team and will get back to you as soon as possible.
0 -
Hi there. I have moved your post to our Documentum community area where there are experts to help
0 -
The error you are getting will happen if you are instantiating more than one session manager and you do not release the session that was estabilished with that session manager using the SAME session manager.
Here is code to reproduce the issue you are seeing. Here you will note I have instantiated 2 session managers and go the session using sm trying to use sm2 to release it. Each SessionManager manages it own pool of sessions. I hope this helps you to find the problem.
** This is an example of how you can reproduce the issue to see if you can then identify a similar pattern in your code, it is an error reproduction use case to product the error seen**
IDfSessionManager sm = new SessionManager();
IDfSessionManager sm2 = new SessionManager();
IDfLoginInfo li = newDfLoginInfo();
li.setUser(user);
li.setPassword(password);
sm.setIdentity(docbaseName,li);
DfShowVersion.main(null);try {
session = sm.getSession(docbaseName);
} finally {
if(session != null) {
sm2.release(session);
}
}Will give you: java.lang.IllegalArgumentException: Session is not owned by this session manager
If you are not using the right session manager to release your sessions, then those sessions are remaining and as you run through iterations, you will run out of overall sessions. If you fix the problem using the wrong sessionManager to release, you should then also have your "out of sessions" message resolved.As a debug, you can also do:
session.getSessionManager() to see which sessionManager is being used by the session.
0 -
We are still getting the same error. Kindly help to resolve this error.
0
Categories
- All Categories
- 117 Developer Announcements
- 52 Articles
- 146 General Questions
- 136 Services
- 56 OpenText Hackathon
- 35 Developer Tools
- 20.6K Analytics
- 4.2K AppWorks
- 9K Extended ECM
- 912 Cloud Fax and Notifications
- 82 Digital Asset Management
- 9.3K Documentum
- 30 eDOCS
- 173 Exstream
- 39.8K TeamSite
- 1.7K Web Experience Management
- 6 XM Fax