[ 
https://issues.apache.org/jira/browse/TORQUE-124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Fox closed TORQUE-124.
-----------------------------

    
> Thread safety problem in JndiDataSourceFactory
> ----------------------------------------------
>
>                 Key: TORQUE-124
>                 URL: https://issues.apache.org/jira/browse/TORQUE-124
>             Project: Torque
>          Issue Type: Bug
>          Components: Runtime
>    Affects Versions: 3.3
>            Reporter: Kazu Nambo
>            Assignee: Thomas Fox
>            Priority: Minor
>             Fix For: 4.0-beta1
>
>
> javax.naming.InitialContext is not thread safe.
>   http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html
>     Threads that need to access a single InitialContext instance concurrently 
> should synchronize 
>     amongst themselves and provide the necessary locking.
> In JndiDataSourceFactory#getDataSource, InitialContext #lookup is called 
> without synchronization.
> This can be potential thread safe problems under the high load systems.
>     public DataSource getDataSource() throws TorqueException
>     {
>         long time = System.currentTimeMillis();
>         if (ds == null || time - lastLookup > ttl)
>         {
>             try
>             {
>                 ds = ((DataSource) ctx.lookup(path));
>                 lastLookup = time;
>             }
>             catch (Exception e)
>             {
>                 throw new TorqueException(e);
>             }
>         }
>         return ds;
>     }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to