aspose file tools*
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes 44 points for locking, any thoughts on why? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "44 points for locking, any thoughts on why?" Watch "44 points for locking, any thoughts on why?" New topic
Author

44 points for locking, any thoughts on why?

Ta Ri Ki Sun
Ranch Hand

Joined: Mar 26, 2002
Posts: 442
One thing that comes to mind for me is bit in the instructions that state at most only one program is accessing the database.
I used that assumption to my advantage when I, I'd like to think, ensured my application is threadsafe. What I didn't do is ensure that it's not possible for multiple clients to access the database, by clients I mean database clients not gui clients.
So you're running a server, and start a client in local mode accessing the same database, what behaviour can you expect? Do you allow a 2nd client to connect?
According to my instructions I shouldn't have to worry about that, but perhaps it's expected that we cater for it in some way or another such as opening the file exclusively and throwing the exception when it's open.
Has anyone actually scored 100% without catering for this scenario? Because that would rule out this possibility.
[ August 17, 2005: Message edited by: Ta Ri Ki Sun ]
Andrew Monkhouse
author and jackaroo
Marshal Commander

Joined: Mar 28, 2003
Posts: 11424
    
  85

Hi TQ,

Have you looked at the topic "The Mysterious 44/80 Locking score"?

One of the potential areas for problems are candidates not handling deletions correctly - that is what happens to client B following these events:
  • Client A locks record 5
  • Client B attempts to lock record 5 - must wait
  • Client A deletes record 5
  • Assuming you have somehow handled that, can you take it one step further (add Client C locking record 5 between steps 2 and 3)?

    Regards, Andrew


    The Sun Certified Java Developer Exam with J2SE 5: paper version from Amazon, PDF from Apress, Online reference: Books 24x7 Personal blog
    Ta Ri Ki Sun
    Ranch Hand

    Joined: Mar 26, 2002
    Posts: 442
    Thanks Andrew, I missed that thread.
    I'll check again sometime whether I actually had all bases covered as I thought I did.
    Danny Martin
    Greenhorn

    Joined: Aug 26, 2005
    Posts: 5
    Hi all,
    I'm still worried about the marking of Thead-safety policy: I've read some threads here in javaranch and I allow myself to submit the template I currently use in my code.

    Obv., I adopts the DBAdaapter pattern and so no. Each time I refer to the Data instance I do something like this:



    This template ensures that each time a lock() is called, its unlock() will be called at the end of the method, whatever the exceptions raised from within the try block (which are also declared in DBAdapter method signature).

    Of course, there could be some issues if either lock or (specially) unlock would raise some exceptions, but I simplified these methods in Data to remove the RecordNotFoundException declaration, since this will be raised from other calls to Data methods (e.g.: data.read(recNo)): this allows the locking of a new recNo, for example.

    I'd appreciate any comments about this template.

    Thanks guys.
    DM
    Andrew Monkhouse
    author and jackaroo
    Marshal Commander

    Joined: Mar 28, 2003
    Posts: 11424
        
      85

    Hi Danny,

    This sounds like it is only tangentially related to TQ's original question, so you might be better off raising it in a new topic - you may get more responses (as you can see, there were not many responses in this particular topic).

    I presume that the try...finally block is operating on the server - is that correct?
    I simplified these methods in Data to remove the RecordNotFoundException declaration
    I'm misunderstanding this somehow. I believe that if you do that, you cannot implement the interface that Sun gave you, which I understand will cause instantaneous failure.

    Regards, Andrew
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: 44 points for locking, any thoughts on why?