Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] The same META-INF/orm*.xml file is "found" twice when using Eclipse 3.4.1/jetty6.1.14/Eclipselink 1.1.2

After specifically searching the Eclipselink bugzilla for "multiple
mapping files", I came up with this issue:

 Bug 293397 -  Do not throw
ValidationException.NON_UNIQUE_MAPPING_FILE_NAME (7252) when multiple
mapping files found

https://bugs.eclipse.org/bugs/show_bug.cgi?id=293397

But the evaluation of the bug assumes that multiple results are only
found if multiple files exist, which isn't the case in my situation.

Should I open a new issue, or append my situation and patch to the
existing one?   I'd like to think the existing issue is the correct
choice, but not if it won't be looked at again :)


On Tue, Jan 19, 2010 at 10:01 AM, James Sutherland <jamesssss@xxxxxxxxx> wrote:
>
> Yes, please log the issue and submit your patch.
>
>
> Mike Kienenberger wrote:
>>
>> Our META-INF/ormSim.xml file is being found twice when using a
>> combination of Eclipse 3.4.1, jetty6.1.14, and Eclipselink 1.1.2 as
>> the environment.  (jetty as a non-deployed inline container for an
>> eclipse run configuration).
>>
>> Caused by: Exception [EclipseLink-7252] (Eclipse Persistence Services
>> - 1.1.2.qualifier):
>> org.eclipse.persistence.exceptions.ValidationException
>> Exception Description: There are multiple mapping files called
>> [META-INF/ormSim.xml] in classpath for persistence unit named [Sim ].
>>        at
>> org.eclipse.persistence.exceptions.ValidationException.nonUniqueMappingFileName(ValidationException.java:1242)
>>        at
>> org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.loadSpecifiedMappingFiles(MetadataProcessor.java:304)
>>        at
>> org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.loadMappingFiles(MetadataProcessor.java:276)
>>        at
>> org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:294)
>>        at
>> org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:838)
>>        ... 85 more
>>
>>
>> I rewrote jpa/org.eclipse.persistence.jpa:
>> org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor to
>> ignore the error and to log the paths found, and I find the second
>> mapping is identical to the first.
>>
>> nextURL java.net.URL  (id=5654)
>> otherURL        java.net.URL  (id=5662)
>>
>> file:/home/mkienenb/workspaces/xyz/app/WEB-INF/classes/META-INF/ormSim.xml
>> file:/home/mkienenb/workspaces/xyz/app/WEB-INF/classes/META-INF/ormSim.xml
>>
>> I noticed that James Sutherland posted an issue for this back in Nov
>> 2006 for TopLink.
>>
>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=1441
>>
>> Our problem is a little different in that it's one file being found
>> twice rather than two separate files being found.   We aren't seeing
>> this happen under a separate Tomcat 6 deployment, so would this mean
>> it is a bug in jetty?
>>
>> Here's how I modified MetadataProcessor.loadSpecifiedMappingFiles to
>> log and work around the issue.  Should I open an issue and submit this
>> as a patch?
>>
>> Regards,
>> -Mike
>>
>>     protected void loadSpecifiedMappingFiles(boolean throwExceptionOnFail)
>> {
>>         PersistenceUnitInfo puInfo = m_project.getPersistenceUnitInfo();
>>
>>         for (String mappingFileName : puInfo.getMappingFileNames()) {
>>             try {
>>                 Enumeration<URL> mappingFileURLs =
>> m_loader.getResources(mappingFileName);
>>
>>                 if (mappingFileURLs.hasMoreElements()) {
>>                     URL nextURL = mappingFileURLs.nextElement();
>>
>>                     if (mappingFileURLs.hasMoreElements()) {
>>
>> AbstractSessionLog.getLog().log(SessionLog.WARNING, "Found and using
>> mapping file '" + mappingFileName + "' in " + nextURL);
>>
>>                         while (mappingFileURLs.hasMoreElements()) {
>>                             URL otherURL = mappingFileURLs.nextElement();
>>
>> AbstractSessionLog.getLog().log(SessionLog.WARNING, "Also found
>> mapping file '" + mappingFileName + "' in " + otherURL);
>>                         }
>>                     }
>>
>>                     // Read the document through OX and add it to the
>> project.
>>
>> m_project.addEntityMappings(XMLEntityMappingsReader.read(nextURL,
>> m_loader));
>>                 } else {
>>
>> handleORMException(ValidationException.mappingFileNotFound(puInfo.getPersistenceUnitName(),
>> mappingFileName), mappingFileName, throwExceptionOnFail);
>>                 }
>>             } catch (IOException e) {
>>
>> handleORMException(PersistenceUnitLoadingException.exceptionLoadingORMXML(mappingFileName,
>> e), mappingFileName, throwExceptionOnFail);
>>             }
>>         }
>>     }
>>
>>
>
>
> -----
> http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland
> http://www.eclipse.org/eclipselink/
>  EclipseLink ,  http://www.oracle.com/technology/products/ias/toplink/
> TopLink
> Wiki:  http://wiki.eclipse.org/EclipseLink EclipseLink ,
> http://wiki.oracle.com/page/TopLink TopLink
> Forums:  http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink ,
> http://www.nabble.com/EclipseLink-f26430.html EclipseLink
> Book:  http://en.wikibooks.org/wiki/Java_Persistence Java Persistence
> --
> View this message in context: http://old.nabble.com/The-same-META-INF-orm*.xml-file-is-%22found%22-twice-when-using-Eclipse-3.4.1-jetty6.1.14-Eclipselink-1.1.2-tp27215088p27227144.html
> Sent from the EclipseLink - Users mailing list archive at Nabble.com.
>
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>


Back to the top