Control DFC session count

Hi,

I want to control the number of DFC sessions in my application. To prevent [DM_API_E_NO_SESSION]error: "There are no more available sessions." errors, and manage memory.
I tried using IDfSessionManagerStatistics.getSessions, but it doesn't seem to give me more that one session, even when I open several ones. Once I used IDfSessionManagerEventListener, but it didn't work either. Is it supposed to work?
I'm trying to avoid going throw all the code where newSession and release is invoked.

Can anyone help?
I'll appreciate any help.

Nuno

Answers

  • Is this custom app or webtop customization? The reason I ask is b/c webtop actually launches multiple sessions when you log in as a user. Have you tried just bumping up the concurrent session limit?

  • It's a custom webservice with a lot of invocations. I'm using dfc.session.max_count=1000. In the past we found some bugs that didn't release sessions, and we are probably going to increase the number of concurrent invocations. So it would be nice to monitor this, instead of finding problems after they occur.

  • There is admin method that DA uses to call to get total number of active sessions. I don't recall the name of the method off the top of my head, but if you enable tracing on DA, you should be able to see this when you click on sessions icon.

  • Thanks for the sugestion. I think this is the LIST_SESSIONS or SHOW_SESSIONS methods. Although this might be helpful, I think this is different from what I want.
    This tells me the sessions in the server, and it gives me some information, like the client host.
    I think what I want is the client sessions in each DFC instance (JVM instance). I have several DFC clients in each client host.
    Usually I don't have a problem in the server, but a problem in a client.
    Or am I missing something?

  • Max session count in dfc.properties is at the server level. There is no max client session at the host. The error message you indicated in your original posting has to do with max session defined at the server level.

  • edited June 11

    @DCTM_Guru said:
    Max session count in dfc.properties is at the server level. There is no max client session at the host. The error message you indicated in your original posting has to do with max session defined at the server level.

    I'm a bit confused with this phrase. I can have different DFC clients (with different dfc.session.max_count) connecting with the same server.

    Also, dfcfull.properties says:
    # The maximum number of sessions that this **DFC instance** can have open.          
    # min value:  1, max value: 100000
    # 
    dfc.session.max_count = 1000
    
  • My 2 cents. It would be the best to fix the unclosed dfc session from your custom code instead of monitor/control the numbers.

  • Sorry, I was think of session parameter in server.ini. The client session parameter you listed in dfc.properties are for client connecting to the server (e.g tomcat). How many users are using your system? As Roy suggested, you shouldn't have to manage more than 1000 session if you are properly managing session closures.

  • Hi. Of course we plan to close unclosed sessions whenever I find them. But it has happened 2 or 3 times to leave unclosed sessions. And we only corrected it after we found the problem. I wanted to prevent that, in the future. We have several thousands of sessions opened per hour, and it will probably increase a lot. And we want to prepare our system for that.

    Since the DFC controls the number of opened sessions, it should be simple to monitor that. But I don't find the right api to do that. Can anyone help?

  • Submit a ticket with OTEX

Sign In or Register to comment.