Mysql
 sql >> база данни >  >> RDS >> Mysql

javax.naming.NoInitialContextException с mysql DataSource

Това е така, защото MysqlDataSource не прилага javax.naming.spi.InitialContextFactory интерфейс.

Ако не сте в контейнер, можете да използвате rmi регистър. Нещо като:

try{
  startRegistry();
  InitialContext context = createContext();
  MysqlDataSource mysqlDs = new MysqlDataSource();
  context.rebind("jdbc/wczasy", mysqlDs);
} catch (Exception e) {
  System.out.println("Error while binding: " + e.getMessage());
  e.printStackTrace();
}


private static void startRegistry() throws RemoteException {
  LocateRegistry.createRegistry(1099);
  System.out.println("RMI registry ready.");
}

private static InitialContext createContext() throws NamingException {
  Properties env = new Properties();
  env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory");
  env.put(Context.PROVIDER_URL, "rmi://localhost:1099");
  InitialContext context = new InitialContext(env);
  return context;
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверка за празен резултат (PHP, PDO и MySQL)

  2. как да почистите конфигурационния файл на кеша на Laravel Bootstrap?

  3. Фатална грешка:Извикване на недефиниран метод mysqli::bind_param() в

  4. Използване на неулавящи групи в MySQL REGEXP

  5. MySQL тригери и SUM()