commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From LeRoy.Ya...@securian.com
Subject Re: Transaction API, ReadWriteLock
Date Wed, 06 Jul 2005 13:08:02 GMT





Oliver,

I tried your suggestion by changing my ReadWriteLock statement to

ReadWriteLock fileLock = new ReadWriteLock("c:/logRec.txt",loggerFacade);

However, I received the same results as when I used new File(..).

LeRoy





                                                                           
             Oliver Zeigermann                                             
             <oliver.zeigerman                                             
             n@gmail.com>                                               To 
                                       Jakarta Commons Users List          
             07/06/2005 01:44          <commons-user@jakarta.apache.org>   
             AM                                                         cc 
                                                                           
                                                                   Subject 
             Please respond to         Re: Transaction API, ReadWriteLock  
             "Jakarta Commons                                              
                Users List"                                                
             <commons-user@jak                                             
             arta.apache.org>                                              
                                                                           
                                                                           




Most likely your problem ist that new File(..) creates different
objects in each thread. I would try using something like the path to
the file as String.

Oliver

On 7/5/05, LeRoy.Yanta@securian.com <LeRoy.Yanta@securian.com> wrote:
>
>
>
>
> I'm trying to use the ReadWriteLock class to acquire a write lock on a
file
> in a servlet.  When I generate multiple threads of the servlet using a
WTE
> 5.1 server in the WSAD 5.1 IDE, I'm not able to get ReadWriteLock to
block
> other servlet threads after the first servlet thread obtains the lock.
I'm
> using two IE browser windows to generate the two servlet threads.  Below
is
> ReadWriteLock code I have in the servlet followed by the
System.out.println
> statements that are generated in the server log file during my test.
>
> ReadWriteLock fileLock = new ReadWriteLock(new File(c:/logRec.txt,
> loggerFacade);
> try {
>       System.out.println("before acquiring a lock " +
> Thread.currentThread());
>       boolean result =
> fileLock.acquireWrite(Thread.currentThread(),Long.MAX_VALUE);
>       System.out.println("lock result: " + result + " " +
> Thread.currentThread());
>       Thread.sleep(20000);
>       System.out.println("after sleeping " + Thread.currentThread());
>       FileWriter recFile = new FileWriter(c:/logRec.txt, true);
>       recFile.write("text from testFileTran");
>       recFile.close();
> } catch (InterruptedException e) {
>       e.printStackTrace(System.err);
>
> } catch (IOException e) {
>       e.printStackTrace(System.err);
>
> } finally {
>       fileLock.release(Thread.currentThread());
> }
>
> [7/5/05 8:26:03:326 CDT]  7c1477e SystemOut     O before acquiring a lock
> Thread[Servlet.Engine.Transports : 0,5,main]
> [7/5/05 8:26:03:326 CDT]  7c1477e SystemOut     O lock result: true
> Thread[Servlet.Engine.Transports : 0,5,main]
> [7/5/05 8:26:08:384 CDT] 24c3477d SystemOut     O before acquiring a lock
> Thread[Servlet.Engine.Transports : 1,5,main]
> [7/5/05 8:26:08:384 CDT] 24c3477d SystemOut     O lock result: true
> Thread[Servlet.Engine.Transports : 1,5,main]
> [7/5/05 8:26:23:335 CDT]  7c1477e SystemOut     O after sleeping
> Thread[Servlet.Engine.Transports : 0,5,main]
> [7/5/05 8:26:28:382 CDT] 24c3477d SystemOut     O after sleeping
> Thread[Servlet.Engine.Transports : 1,5,main]
>
>
> From reviewing the Transaction documentation and mailing list archives,
I'm
> not able to determine what I'm doing wrong.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message