Estou com duvida sobre DataSource

Comunidade Java,

Estou com uma duvida em relacao a Interface DataSource, para exemplificar melhor a minha duvida colocarei o codigo abaixo explicando detalhadamente.


public class DBTeste{
String foo = “Not Connected”;
int bar = -1;

public void init(){
try{
Context ctx = new InitialContext();

  if( ctx == null)
    throw new Exception("Boom - No Context");

  DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/TestDB"); //eh nesta linha que nao estou entendendo

  if(ds != null){
    Connection conn = ds.getConnection();

    if(conn != null){
      foo = "Got Connection " + connection.toString();
      Statement statement = connection.createStatement();
      ResultSet rst = statement.executeQuery("select id, foo, bar from testdata");
      
      if(rst.next()){
                    foo = rst.getString(2);
                    bar = rst.getInt(3);                        
                }
                connection.close();
            }
        }
        else
            System.out.println("Testando ELSE");
    }
    catch(Exception e){
        System.out.println("Saida 01");
        e.printStackTrace();
        System.out.println("Saida 02");
    }
}

public String getFoo(){ return foo;}
public int getBar(){ return bar;}

}

Na linha onde tem comentario, gostaria de saber que tipo de parametro devo colocar dentro do lookup(String name), para que serve esta String “java:comp/env/jdbc/TestDB”? Acredito que matando esta duvida, prosseguirei a demanda.
Agradeco pela atenca e grande [ ]´s!

Leandro Capuano