parsers.put("urn:resource-adapter-binding", new EJBBoundResourceAdapterBindingMetaDataParser());
parsers.put("urn:iiop", new IIOPMetaDataParser());
parsers.put("urn:trans-timeout", new TransactionTimeoutMetaDataParser());
parsers.put(EJBBoundPoolParser.NAMESPACE_URI, new EJBBoundPoolParser());
parsers.put(EJBBoundCacheParser.NAMESPACE_URI, new EJBBoundCacheParser());
final JBossEjb3MetaDataParser parser = new JBossEjb3MetaDataParser(parsers);
final EjbJarMetaData ejbJarMetaData = parser.parse(reader, dtdInfo, JBossDescriptorPropertyReplacement.propertyReplacer(deploymentUnit));
return ejbJarMetaData;
} catch (XMLStreamException xmlse) {
throw EjbLogger.EJB3_LOGGER.failedToParse(xmlse, JBOSS_EJB3_XML + ": " + descriptor.getPathName());
} finally {
try {