Oracle-Connection-Pooling in Java

Fernando Simon fsimon at UNIVALI.BR
Mon Jan 9 15:47:49 PST 2006


Hi folks,
    Sorry for the delay to reply your messages, I'm out from the lab
since 20 of december and I go back only next monday.
    I already used the Mapserver + Oracle Spatial + Java in one
project, about it was very unstable, many crashes (in many functions)
but after some messages in the list I added the syncronized in my
functions and the crashes down 80%, others 15% I solved after I
compile my own Mapserver, just with my dependencies (only Oracle and
Raster support). The 5% was wrong code, wrong server config....
    I never looked the logs to see where the Mapserver crashes, so I
can't report the logs, sorry.
    About what Umberto spoke about the variables, this code was fixed
in the bug #1469, that Silke reported:
"http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=1469". This fix
will be in the next release, 4.8.
    How was explained before I believe that the maporaclespatial.c
can
be improved, and the Pool directly in OCI calls will be better.
Actually is core of Mapserver that control the connection pool, the
same code
for all connections.
    I will improve the Oracle Connection with the OCI pool, but I
don't know when will be finishewd, maybe one ow two months. :)
    Best regrads.

------------------------------------------
Fernando Simon
Mapserver and Oracle Spatial developer
UNIVALI - CTTMar - Brazil
------------------------------------------
    

Citando Umberto Nicoletti <umberto.nicoletti at GMAIL.COM>:

> A quick look at maporaclespatial.c reveals the following global
> variables:
> 
> /* local status */
> static int last_oci_call_ms_status = MS_FAILURE;
> static text last_oci_call_ms_error[2048] = "";
> 
> therefore I think we can mark Oracle spatial support not thread
> safe.
> Most importantly to use the OCI libraries in multithreaded
> environments one *must* explicitly request the multi-threading
> features by passing a special flag to the OCI init functions. For
> more
> see:
> 
>
http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10779/oci15re3.htm#556151
>
http://download-west.oracle.com/docs/cd/B12037_01/appdev.101/b10779/oci09adv.htm#469037
> 
> (requires registration)
> or search google for OCIEnvCreate.
> 
> Best regards,
> Umberto
> 
> On 1/9/06, umn-ms at hydrotec.de <umn-ms at hydrotec.de> wrote:
> >
> > Hi
> >
> > The hs_err*.log file show functions in the
> > oracle-libs. (Unfortunately there is no stack-trace, so I cannot
> > say, which function/line in maporacle.c produced this.)
> >
> > Example for a hs_err*.log:
> > An unexpected exception has been detected in native code outside
> the VM.
> > Unexpected Signal : 11 occurred at PC=0x9B0025D8
> > Function=kpufhndl0+0x3E
> > Library=/opt/oracle/OraHome1/lib/libclntsh.so.10.1
> >
> > Current Java thread:
> >         at
> > edu.umn.gis.mapscript.mapscriptJNI.mapObj_drawQuery(Native
> > Method)
> >         at
> > edu.umn.gis.mapscript.mapObj.drawQuery(mapObj.java:402)
> >         ....
> >
> > I spent some time to analyse the problem, but in the end I was
> not able to
> > give a better
> > report  than "It crashes". Therefore I didn't post a bug :-(
> >
> > Benedikt
> >
> >
> > UMN MapServer Users List <MAPSERVER-USERS at LISTS.UMN.EDU> schrieb
> am
> > 09.01.2006 16:04:58:
> >
> >
> >  > On 1/9/06, Benedikt Rothe <umn-ms at hydrotec.de> wrote:
> >  > >
> >  > > Ciao Umberto
> >  > >
> >  > > This seemes to be an misunderstanding. Sorry for my poor
> english.
> >  > >
> >  > > Umberto Nicoletti <umberto.nicoletti at gmail.com> schrieb am
> 09.01.2006
> >  > > 15:01:52:
> >  > >
> >  > >  > Hi Benedikt!
> >  > > ...
> >  > >  >
> >  > >  > >
> >  > >  > > - After using synchronized "enough" I didn't have
> crashes of
> > Tomcat.
> >  > >  > >
> >  > > ...
> >  > > > Do you still have them?
> >  > >
> >  >
> >  > I meant the files.
> >  >
> >  > > I do not have crashes any more.
> >  > >
> >  > > - I used to have crashes in the past
> >  > > - I added "synchronized"
> >  > > - I added even more "synchronized"  :-)
> >  > > - The crashes disappeard.
> >  > >
> >  > > I posted "Oracle-Connection-Pooling in Java" because
> >  > > 1. It was new to me, that one can use Mapserver inside
> Tomcat with
> >  > > Connection-Pooling
> >  > >    without crashes. I wanted to report it, because I'm proud
> and happy.
> >  >
> >  > You are right to be proud and to be happy, but if we could
> find were
> >  > the creashes occurred we cut incorporate the necessary changes
> in
> >  > mapserver so that we all be happy (and your name will be
> remembered
> >  > among the glorious Mapserver users and devs :-) ).
> >  >
> >  > Best regards,
> >  > Umberto
> >  >
> >  > > 2. I still had these Memory-Leaks, which could solve to some
> degree.
> >  > >
> >  > > Benedikt
> >
> 




-------------------------------------------------
  Univali - Webmail - http://webmail.univali.br



More information about the MapServer-users mailing list