persistence@glassfish.java.net

Re: The latest changes to MetadataProcessor?

From: Marina Vatkina <Marina.Vatkina_at_Sun.COM>
Date: Fri, 20 Oct 2006 09:52:40 -0700

Hi Tom,

Will it make sense to add these explanations at the comments?

thanks,
-marina

Tom Ware wrote:
> Hi Marina,
>
> Comments inline:
>
> Marina Vatkina wrote:
>
>> Hi Tom,
>>
>> The new code seems to have several problems:
>>
>> if (m_session == null){
>> AbstractSessionLog.getLog().log(SessionLog.CONFIG,
>> SessionLog.EJB_ORM,
>> EntityManagerSetupImpl.ERROR_LOADING_XML_FILE,
>> e);
>> 1. Look below, the same message takes 2 args - which one is correct?
>>
>> } else if (!throwException) {
>>
>>
> I will update the new code to include the "mf" string. Thanks for the
> hint.
>
>> 2. Why m_session == null should never throw an exception?
>>
>> // fail quietly
>> m_session.log(SessionLog.CONFIG,
>> SessionLog.EJB_ORM,
>> EntityManagerSetupImpl.ERROR_LOADING_XML_FILE,
>> new Object[] {mf, e});
>> } else {
>> // fail loudly
>> m_session.handleException(e);
>> }
>>
>>
> This code is hit in PersistenceUnitProcessor before a session is
> available. It uses MetadataProcessor to generate a list of classes from
> the ORM XML files when running is SE mode. I do not want the whole
> application to stop at this point if there is an exception. In fact, if
> there is an issue with loading these ORM XML files, they will be hit
> again later when the metadata processing step is hit in the predeploy
> logic. At that point the session will handle it. (Note:
> Session.handleException() does more than just throw the exception)
>
> -Tom
>
>> thanks,
>> -marina
>>
>>
>