you are right!
David Corbin wrote:
>
>
> The following method is take from the Advanced OR tutorial. Doesn't
> this risk losing a PersistanceBroker? Shouldn't there be a finally
> clause to release the broker?
>
> Thanks.
> David.
>
> protected ClassDescriptor selectClassDescriptor(
> Map row,
> ClassDescriptor cld)
> throws PersistenceBrokerException
> {
> // check if there is an attribute which tells us which concrete
> class // is to be instantiated
> FieldDescriptor concreteClassFD =
>
> cld.getFieldDescriptorByName(ClassDescriptor.OJB_CONCRETE_CLASS);
>
> if (concreteClassFD == null)
> return cld;
> else
> {
> PersistenceBroker broker = null;
> try
> {
> String concreteClass =
> (String) row.get(concreteClassFD.getColumnName());
> broker = PersistenceBrokerFactory.createPersistenceBroker();
> ClassDescriptor result =
> broker.getClassDescriptor(
> Class.forName(
> concreteClass,
> true,
>
> Thread.currentThread().getContextClassLoader()));
> PersistenceBrokerFactory.releaseInstance(broker);
> if (result == null)
> result = cld;
> return result;
> }
> catch (PersistenceBrokerException e)
> {
> PersistenceBrokerFactory.releaseInstance(broker);
> throw e;
> }
> catch (ClassNotFoundException e)
> {
> PersistenceBrokerFactory.releaseInstance(broker);
> throw new PersistenceBrokerException(e);
> }
> }
> }
>
>
>
> --
> To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>
>
>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>