{"record":{"id":"11f10652e930b3fa","repo":"hibernate/hibernate-orm","slug":"error-parsing-jndi-name-jndiname","errorCode":null,"errorMessage":"Error parsing JNDI name [${jndiName}]","messagePattern":"Error parsing JNDI name \\[(.+?)\\]","errorType":"exception","errorClass":"JndiException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/engine/jndi/internal/JndiServiceImpl.java","lineNumber":127,"sourceCode":"\tprivate Name parseName(String jndiName, Context context) {\n\t\ttry {\n\t\t\tfinal URI uri = new URI( jndiName );\n\t\t\tfinal String scheme = uri.getScheme();\n\t\t\tif ( scheme != null && (! allowedScheme( scheme ) ) ) {\n\t\t\t\tthrow new JndiException( \"JNDI lookups for scheme '\" + scheme + \"' are not allowed\" );\n\t\t\t}\n\t\t}\n\t\tcatch (URISyntaxException e) {\n\t\t\t//Ok\n\t\t}\n\t\ttry {\n\t\t\treturn context.getNameParser( \"\" ).parse( jndiName );\n\t\t}\n\t\tcatch ( InvalidNameException e ) {\n\t\t\tthrow new JndiNameException( \"JNDI name [\" + jndiName + \"] was not valid\", e );\n\t\t}\n\t\tcatch ( NamingException e ) {\n\t\t\tthrow new JndiException( \"Error parsing JNDI name [\" + jndiName + \"]\", e );\n\t\t}\n\t}\n\n\tprivate static boolean allowedScheme(final String scheme) {\n\t\treturn switch ( scheme ) {\n\t\t\tcase \"java\", \"osgi\" -> true;\n\t\t\tdefault -> false;\n\t\t};\n\t}\n\n\tprivate void cleanUp(InitialContext initialContext) {\n\t\ttry {\n\t\t\tinitialContext.close();\n\t\t}\n\t\tcatch ( NamingException e ) {\n\t\t\tCORE_LOGGER.unableToCloseInitialContext(e.toString());\n\t\t}\n\t}","sourceCodeStart":109,"sourceCodeEnd":145,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/engine/jndi/internal/JndiServiceImpl.java#L109-L145","documentation":"Error \"Error parsing JNDI name [${jndiName}]\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/engine/jndi/internal/JndiServiceImpl.java:127 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the JNDI name so it parses correctly","Check for invalid characters or misplaced separators in the name"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}