Hi All,

I have a multithread application with threadstatic sessions that does some 
job with files. It's using NH to consume from services and running on an 
oracle db, so far so good.

Every thread has a verbose log that uses stateless session to be more 
lightweight.  BTW when some files are processed I can see that lots of 
cursors are managed in oracle for log session.

For instance log:

324 SPC_LOG
310 SPC_LOG
121 SPC_LOG

and application itself:

31 SPC_PRODUCTION_LINE_TEST
27 SPC_PRODUCTION_LINE_TEST
21 SPC_PRODUCTION_LINE_TEST

This drives me to run out of Oracle cursors ORA-01000.

Does somebody has an idea about what could cause this? I guess that every 
thread at the end of it's life closes all sessions, regular and stateless.


FYI I'm writing log this way:

* In Session factory *

        public IStatelessSession 
GetUserStatelessContext(ConnectionStringSettings connection)
        {
            lock (Padlock)
            {
                string key = GetConnectionKey(connection);

                if (StatelessSessions == null)
                {
                    StatelessSessions = new Dictionary<string, 
IStatelessSession>();
                }

                if (!StatelessSessions.ContainsKey(key))
                {
                    StatelessSessions.Add(key, 
Factories[connection.ConnectionString].OpenStatelessSession());
                }

                return StatelessSessions[key];
            }
        }

* And writing in log: *

                using (ITransaction tx = 
this.LogProcessErrorRepository.BeginTransaction())
                {
                    this.LogProcessErrorRepository.Add(log);
                    if (log.Informations != null)
                    {
                        foreach (AdditionalInformation info in 
log.Informations)
                        {
                            info.Text = this.OracleCLOBHack(info.Text);

                            this.AdditionalInformationRepository.Add(info);
                        }
                    }

                    tx.Commit();
                }

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/nhusers/-/j_aH0_C5NTkJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to