[
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]