El nombre JNDI en mi domain.xml es
El Context.lookup se ha definido de la siguiente manera:
dsName = "java: comp / env";
Contexto ctx = (Contexto) new javax.naming.InitialContext ();
Contexto envCtx = (Contexto) ctx.lookup (dsName);
DataSource ds = (DataSource) envCtx.lookup ("jdbc / DataSource");
conn = ds.getConnection ();
Estoy obteniendo la siguiente excepción cuandoconectado a SQLserver con la siguiente configuración en la que funciona bien con Oracle. El nombre de búsqueda de alguna manera no se valida correctamente y el objeto de conexión se está volviendo nulo.
javax.naming.NameNotFoundException: env / jdbc / DataSource
ERROR [stderr] (ServerService Thread Pool - 78) en org.jboss.as.naming.ServiceBasedNamingStore.lookup (ServiceBasedNamingStore.java:104)
ERROR [stderr] (ServerService Thread Pool - 78) en org.jboss.as.naming.NamingContext.lookup (NamingContext.java:197) java.lang.NullPointerException
Incluso lo intenté con algo como
DataSource ds = (DataSource) envCtx.lookup ("java: comp / env / jdbc / DataSource");
¿Alguien podría sugerir sobre esto?
Gracias
Respuestas
1 para la respuesta № 1Verifique los registros y / o el árbol JNDI en la consola de administración.
Prueba estos:
"java:DataSource"
"java:jboss/datasources/DataSource"
Si no, pegue aquí la sección de configuración de la fuente de datos en el archivo de configuración (por ejemplo, standalone.xml)