Tomcat, JNDI e Servlet - javax.naming.NamingException

Pessoal, buenas!

Seguinte, tentei fazer lookup de um objeto em um servlet tendo como base o link Generic JavaBean Resources. Porém não obtive sucesso:

Stacktrace:

java.lang.RuntimeException: javax.naming.NamingException: Cannot create resource instance at util.ServiceLocator.lookup(Unknown Source) at servlet.CalculatorServlet.getCalculator(Unknown Source) at servlet.CalculatorServletSupport.doGet(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) Caused by: javax.naming.NamingException: Cannot create resource instance at org.apache.naming.factory.ResourceEnvFactory.getObjectInstance(ResourceEnvFactory.java:114) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) at org.apache.naming.NamingContext.lookup(NamingContext.java:793) at org.apache.naming.NamingContext.lookup(NamingContext.java:140) at org.apache.naming.NamingContext.lookup(NamingContext.java:781) at org.apache.naming.NamingContext.lookup(NamingContext.java:153) ... 17 more

src/servlet/CalculatorServlet.java:

[code]package servlet;

import util.ServiceLocator;
import ejb.Calculator;

public class CalculatorServlet extends CalculatorServletSupport {
private static final long serialVersionUID = 1L;

    @Override
    protected Calculator getCalculator() {
            return (Calculator) ServiceLocator.getInstance()
                    .lookup(ServiceLocator.CALCULATOR_NAME);
    }

}[/code]

src/util/ServiceLocator.java:

[code]package util;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class ServiceLocator {
private static final String ENV_CONTEXT = “java:comp/env”;
public static final String CALCULATOR_NAME = “bean/CalculatorFactory”;
private static final ServiceLocator INSTANCE = new ServiceLocator();
private Context context;

    private ServiceLocator() {
            try {
                    context = (Context) new InitialContext().lookup(ENV_CONTEXT);
            } catch (NamingException e) {
                    throw new RuntimeException(e);
            }
    }
    
    public static ServiceLocator getInstance() {
            return INSTANCE;
    }
    
    public Object lookup(String name) {
            try {
                    return context.lookup(name);
            } catch (NamingException e) {
                    throw new RuntimeException(e);
            }
    }

}[/code]

web/META-INF/context.xml:

<Context> <Resource name="bean/CalculatorFactory" auth="Container" type="ejb.CalculatorBean" factory="org.apache.naming.factory.BeanFactory" /> </Context>

web/WEB-INF/web.xml:

[code]

CalculatorServlet
servlet.CalculatorServlet

    <servlet-mapping>
            <servlet-name>CalculatorServlet</servlet-name>
            <url-pattern>/calc</url-pattern>
    </servlet-mapping>
    
    <resource-env-ref>
            <resource-env-ref-name>bean/CalculatorFactory</resource-env-ref-name>
            <resource-env-ref-type>ejb.CalculatorBean</resource-env-ref-type>
    </resource-env-ref>

[/code]

Não encontro nada no google. Espero que possam me ajudar. Grato.

conseguiu??