Hi,

I'm not an expert in web-environments, but this
seems like a ClassLoader problem.
The thread's ClassLoader try to initialize
OJB again.
Maybe you have to associate the new created
thread with the 'right' ClassLoader using
thread.setContextClassLoader(...)???

Maybe I'm completely wrong ;-)
regards,
Armin

----- Original Message -----
From: "Bonnie MacKellar" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Monday, July 07, 2003 10:36 PM
Subject: RE: Weblogic, threads, and startup errors


> Well, that is precisely why I was trying this - to ensure that I have
> no brokers spanning threads.
>
> My code looks like this :
>
> public class AccountUpdater extends Thread
> {
>     private PersistenceBroker broker = null;
>
>
> public void run()
>     {
>        try
>         {
>            PersistenceBroker broker =
>                  PersistenceBrokerFactory.createPersistenceBroker(new
> PBKey("ActiveBill"));
>            broker.beginTransaction();
>            AccountInterface acc = retrieveAccountByNumber("1234");
>            broker.commitTransaction();
>         }
>        catch (Exception e)
>             {
>               broker.abortTransaction();
>               System.out.print(e.getMessage());
>               e.printStackTrace();
>              }
>        finally {
>          broker.close();
>        }
>       }
>
> The exception is thrown right at the createPersistenceBroker step. If
I run
> this so that a new thread is not spawned, there is no problem. But if
I
> spawn a thread and then call this code, I get the exception.
>
> Again, I need to do this in order to avoid long lived brokers.
>
> Bonnie MacKellar
> software engineer
> Mobius Management Systems, Inc.
> [EMAIL PROTECTED]
>
>
> > -----Original Message-----
> > From: Edson Carlos Ericksson Richter
> > [mailto:[EMAIL PROTECTED]
> > Sent: Monday, July 07, 2003 4:30 PM
> > To: OJB Users List
> > Subject: Re: Weblogic, threads, and startup errors
> >
> >
> > I don't know about you, but I had all kind of strange errors
> > working with
> > long time broker lives...
> >
> > Now, I'm working as in mnemonic code:
> >
> > public void xyzStore( XYZObject o ) {
> >   broker = getBroker();
> >
> >   try {
> >       broker.store( o );
> >   } catch() {
> >   }finally {
> >     broker.close(); // this guarantees no mistakes...
> >   }
> >
> > }
> >
> > This guarantees that the broker object isn't spawned along
> > threads... And my
> > code works fine!
> > Since the brokers are maintained in a pool, there is not pain
> > in performance
> > (AFAIK).
> >
> >
> > Edson Richter
> >
> >
> > ----- Original Message -----
> > From: "Bonnie MacKellar" <[EMAIL PROTECTED]>
> > To: "OJB Users List (E-mail)" <[EMAIL PROTECTED]>
> > Sent: Monday, July 07, 2003 5:20 PM
> > Subject: Weblogic, threads, and startup errors
> >
> >
> > I posted a question on Thursday about a mysterious error I am
> > getting when I
> > try to obtain a broker in a thread spawned within my
> > application. It was not
> > answered, perhaps because of the holiday, or perhaps because
> > no one else is
> > doing what we are doing.
> >
> > We are running a servlet based application in Weblogic. I am
> > using rc2 at
> > the moment. As long as I obtain the broker in the main
> > thread, there is no
> > problem. But if I spawn a new thread and try to obtain the
> > broker, I was
> > getting obvious classpath problems - OJB.properties not
> > found, and so forth.
> >
> > I explicitly placed the classpath info for the app in my
> > Weblogic startup
> > file (not good, but I will try anything right now). Doing
> > this, it does find
> > the OJB.properties file, but now I get another odd error :
> >
> > [BOOT] ERROR: The specified class
> > "org.apache.ojb.broker.cache.ObjectCachePerBrokerImpl" does
> > not implement
> > the interface org.apache.ojb.broker.cache.ObjectCache, which is a
> > requirement for the key "ObjectCacheClass". Using default class
> > org.apache.ojb.broker.cache.ObjectCacheDefaultImpl
> > java.lang.NullPointerException
> >         at dbtests.AccountUpdater.run(AccountUpdater.java:68)
> >
> > Has anybody ever encountered this error before? Obviously,
> > something goes
> > hideously wrong with the configuration of OJB once threads
> > get into the
> > picture, but what? And again, I do not have this problem as
> > long as the code
> > to obtain the broker is situated in the main thread.
> >
> > thanks,
> > Bonnie MacKellar
> > software engineer
> > Mobius Management Systems, Inc.
> > [EMAIL PROTECTED]
> >
> >
> >
> >
> > ---
> > Outgoing mail is certified Virus Free.
> > Checked by AVG anti-virus system (http://www.grisoft.com).
> > Version: 6.0.497 / Virus Database: 296 - Release Date: 4/7/2003
> >
> >
>
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to