DataSource

0 respostas
R

Ola Pessoal!!!

Bem o problema é o seguinte, eu tenho uma aplicação que roda no TOMCAT usando um DataSource que funciona muito bem!

Estou tentando migra-la para o Sun AppServer…
Configuro ConnectionPool no servidor que “pinga” com sucesso no banco de dados… então eu crio o JDBC Resource e coloco o nome "jdbc/iPROTv2"
então vamos aos códigos

web.xml

<resource-ref>
 	 <res-ref-name>jdbc/iPROTv2</res-ref-name>
	 <res-type>javax.sql.DataSource</res-type>
	 <res-auth>Container</res-auth>
      </resource-ref>

Código na classe

public ActionForward execute(
		ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response) throws NamingException  {
		LoginForm loginForm = (LoginForm) form;
		
		DataSource ds;
		
			InitialContext ic = new InitialContext();
			String dsName = "java:comp/env/jdbc/iPROTv2";
			ds = (DataSource) ic.lookup(dsName);//Aqui deveria criar o DataSource ,mas num vai!
			//Continuação do código...
		
	return mapping.findForward("sucesso");
	}

A mensagem de erro

javax.servlet.ServletException: No object bound to name java:comp/env/jdbc/iPROTv2
	org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:545)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:486)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
	sun.reflect.GeneratedMethodAccessor183.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:324)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)


root cause 

javax.naming.NameNotFoundException: No object bound to name java:comp/env/jdbc/iPROTv2
	com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.java:668)
	com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:132)
	com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:288)
	javax.naming.InitialContext.lookup(InitialContext.java:347)
	com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:54)
	org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
	sun.reflect.GeneratedMethodAccessor183.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	java.lang.reflect.Method.invoke(Method.java:324)
	org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
	java.security.AccessController.doPrivileged(Native Method)
	javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
	org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
	org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)

Aceito dicas e sugestões!
Obrigado

Criado 19 de maio de 2005
Respostas 0
Participantes 1