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
>
>
--
Tom Ware
Principal Software Engineer
Oracle Canada Inc.
Direct: (613) 783-4598
Email: tom.ware_at_oracle.com