Having a CMP bean UniqueKey.

Among all methods there are following:

public String getNextKey()
        //This methods returns getNextKey(xxx)

public String getNextKey(String upperLimit)
        //This methods return getNextKey(xxx,yyy)

public String getNextKey(String upperLimit, String incrementValue)
        //This method calculates a new unique key
        //Calls setLastKey(newKey)
        //Returns newKey

public void setLastKey(String newKey)
        //Updates the persisted field with newKey

The client is in this case calling on the getNextKey() method with no
argument, so the whole chain is used.

I've used ejbdoclet 0.71 to generate all but the bean class and using
Oracle 8.1.5 as database

The bean has TX_SUPPORTS and my first try was to only have
TX_REQUIRES_NEW on setLastKey().

Result: Nothing updated in DB but the bean gives me a new key every
time.

Next try was to have TX_REQUIRES_NEW on getNextKey().
Result: DB updated and beans gives me a new key every time.

Note that it had no affect if a switched to TX_REQUIERES_NEW on one of
the other getNextKey(...) methods, it was the one that was primarly
called that was important.

Is this really correct or a bug? In my logic it should be ok to have
TX_REQUIRES_NEW only on the last method in the chain, setLastKey()?

/Lennart


-- 
mailto:[EMAIL PROTECTED]
http://www.benefit.se/english


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
List Help?:          [EMAIL PROTECTED]

Reply via email to