Pool de Conexões Glassfish+MySQL

Boa noite a todos!

É a primeira vez que utilizo JNDI afim de compreender o seu funcionamento. Estou com problema ao tentar consumir o pool de conexões gerenciado pelo Glassfish 3.
Configurei todas os atributos do banco no servidor, adicionei o connector do MySQL na pasta lib e através do servidor consegui pingar com êxito.
Porém, devo estar errando em algum lugar, pois ao tentar utilizá-lo o seguinte erro aparece no console:

Exception in thread "main" javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
        at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
        at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
        at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at br.com.empresa.database.ConnectionFactory.getConnection(ConnectionFactory.java:28)
        at br.com.empresa.main.Main.main(Main.java:22)
Java Result: 1

Simples classe onde busco o recurso:

public class ConnectionFactory {

     public Connection getConnection() throws NamingException, SQLException {

           public Connection getConnection() throws NamingException, SQLException {

            Context initialContext = new InitialContext();
            DataSource ds = (DataSource) initialContext.lookup("jdbc/teste");
            return ds.getConnection();
    }
        
}

Configuração no web.xml:

<resource-ref>
        <res-ref-name>jdbc/teste</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>

Configuração no sun-web.xml:

<resource-ref>
    <res-ref-name>jdbc/teste</res-ref-name>
    <jndi-name>jdbc/teste</jndi-name>
  </resource-ref>

Agradeço pela ajuda!