Re: transactions
"Wieslaw Faruga" <[email protected]>
| Newsgroups | gmane.comp.java.ozone.user |
|---|---|
| Message-ID | <4045EAC7.1727.197E912@localhost> |
Hi,
I've tested a sample of similar structure ... everything works fine.
Cheers,
Wieslaw
On 3 Mar 2004 at 10:26, Sunil Goyal wrote:
> Hello all,
>
> My purpose of giving the previous example by writing transactions was
> so that I create some database objects , store the objects(persistent),
> close the database and when I open the database again , I am able to
> retrieve
> the object.
>
> Now this works fine with the Bus and Auto example, there in the samples
> directory. I modified the code of the Client.java to check that.
>
> But when I try to do the same with my defined classes, I get a stack
> overflow.
> I can try to give a feel of what my class definitions look like and what I
> am trying
> to do.
>
> public interface A extends OzoneRemote{
> // getter setter methods
> // additional methods
> }
>
> public abstract class AImpl extends OzoneObject implements A{
> //member variables - HashSet, HashMap , Strings ..
>
> // methods
> }
>
>
> public interface B extends A{
> // getter setter methods
> // additional methods
> }
>
> public class BImpl extends AImpl implements B{
> //member variables - HashSet, HashMap , Strings ..
>
> // methods
> }
>
> Now I am trying to store objects of class B , when I get this problem.
> These are the operations I am trying to do now..
>
> String dbDir = "D:/test/database";
> LocalDatabase db = new LocalDatabase();
> if(!db.exists(dbDir))
> db.create(dbDir);
>
> db.open(dbDir);
> B b = (B)db.createObject(BImpl.class.getName(),0,"bnode");
> b.setName("B node check");
>
> db.close();
> // opening database after closing
> // check for the "bnode"
> db.open(dbDir);
> b = (B)db.objectForName("bnode");
> System.out.println("B instance name "+b.getName());
> db.close();
>
> And when I do this , I get this
> [java] WARN [main] Transaction - ta[id=5102,blocker=null]: uncaught
> exception: (java.lang.StackOverflowError)
> [java] java.lang.StackOverflowError
> [java] WARN [main] Transaction - ta[id=5102,blocker=null]: uncaught
> exception: (java.lang.StackOverflowError)
> [java] java.lang.StackOverflowError
> [java] java.lang.StackOverflowError
> [java] at
> org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:536)
> [java] at
> org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:490)
> [java] at
> org.ozoneDB.ExternalDatabase.objectForName(ExternalDatabase.java:760)
>
> From the stack trace, the error is for a call on
> b = (B)db.objectForName("bnode");
>
>
> Any tips for where the error lies will be helpful.
>
> Thank You
>
> Regards
> Sunil
>
>
>
> On 02 Mar 2004 16:57:49 +0100, Leo Mekenkamp <[email protected]>
> wrote:
>
> > While I think using external transactions is overkill in this situation
> > (and use of external transactions should be avoided if not explicitly
> > needed, implicit transactions are better and produce better readable
> > code), I cannot see any reason why this would go wrong.
> >
> > Maybe one of the other people on this list?
> >
> > Cheers,
> > Leo
>
> --
> =====================================================================
> Sunil Goyal
> New Media Lab
> Salzburg Research Forschungsgesellschft m.b.H.
> Jakob Haringer-Strasse 5/III | A-5020 Salzburg
> T: +43.662.2288-414 | F: +43.662.2288-222
> [email protected]
> http://www.salzburgresearch.at
> ======================================================================
>
>
> -------------------------------------------------------
> SF.Net is sponsored by: Speed Start Your Linux Apps Now.
> Build and deploy apps & Web services for Linux with
> a free DVD software kit from IBM. Click Now!
> http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
> _______________________________________________
> Ozone-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ozone-users
>
> ----------------------------------------------------------------------
> Dobry poczatek Internetu... >>> http://link.interia.pl/f17b8
>
>
>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click