using proxies ?

Oh, i see now. Proxy opens and closes broker well. that's it ?

I didn't think to that. Tsss...

 I'm sorry.

It seems that i'm looking for my lost brokers since too much time ago.

I guess i'm going to check all my DAOs and all my transactions again (or may
be someone else now ;-) )

Thanks again.

Bye.





On 4/25/06, Armin Waibel <[EMAIL PROTECTED]> wrote:
>
> Hi Bruno,
>
> Bruno CROS wrote:
> > Hi Armin,
> >
> > Here's is a schematic example :
> >
> > Consider a service method that returns an object "ProductBean".
> ProductBean
> > is not O/R mapped but the  reading calls a second method that read O/R
> > mapped Product object. Then, relations are followed, to find description
> of
> > his Category (Consider that a product have 1 Category.
> >
> > 2nd method looks like that (classic):
> >
> > public static Product getProduct(String id) {
> >   PersistenceBroker broker = null;
> >   try {
> >     PersistenceBroker brojer =
> > PersistenceBrokerFactory.defaultPersistenceBroker();
> >     Identity oid = broker.serviceIdentity().buildIdentity(Product.class,
> > id);
> >     Product product = (Product) broker.getObjectByIdentity(oid);
> >     return product;
> >   } finally {
> >     if (broker !=null )
> >     { broker.close();
> >     }
> >   }
> > }
> >
> > Frst method looks like that :
> >
> > public static ProductBean getProductBean(String id)
> > { Product p = getProduct(id); // 2nd method call
> >   if (p!=null)
> >   { ProductBean product = new ProductBean();
> >     product.setDescription(p.getDescription());
> >     product.setID(p.getId());
> >     // and here's the O/R recall
> >     product.setCategoryDescription( p.getCategory().getDescription() );
> >     // now, broker is open... how does it close ?
>
> Sorry, I didn't get it. The Category object associated with Product p
> was materialized too when getProduct(id) was called (auto-retrieve is
> true). Why does p.getCategory() open a new PB instance?
>
> regards,
> Armin
>
> >     return product;
> >   }
> >   return null;
> > }
> >
> > I tried to wrap the code of first method with a tx.open() and tx.abort(),
> to
> > be sure that broker is released at the end with the abort().
> >
> >
> > thanks
> >
> > regards.
> >
> >
> >
> > On 4/25/06, Armin Waibel <[EMAIL PROTECTED]> wrote:
> >> Hi Bruno,
> >>
> >> Bruno CROS wrote:
> >>>  Hi,
> >>>
> >>> It seems that read objects with a broker, can read related objects by
> >>> auto-retrieve set to "true" despite broker is closed.
> >> I can't see what you mean. When OJB materialize an object with related
> >> objects and auto-retrieve is 'true', the full materialized object is
> >> returned. Thus it's not possible to close the PB instance while object
> >> materialization (except by an illegal concurrent thread).
> >>
> >> Or do you mean materialization of proxy references? In this case OJB
> try
> >> to lookup the current PB instance and if not found internally a PB
> >> instance is used for materialization and immediately closed after use.
> >>
> >> Could you please describe more detailed (with example code)?
> >>
> >> regards,
> >> Armin
> >>
> >>> I suppose that a getDefaultBroker is done, and the borrowed broker is
> >> never
> >>> closed (because no reference on it).
> >>> Note : This occurred because, application has been written with
> several
> >>> layers, one for dao, one for services, one for UI.
> >>>
> >>> How can i avoid "auto-retrieves" readings to take brokers in the
> PBPool
> >> by
> >>> themselves ?
> >>>
> >>> Thanks.
> >>>
> >> ---------------------------------------------------------------------
> >> 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