[JBoss-user] FileNotFoundException Accessing Session bean from Servlet

2002-11-03 Thread John Snyder




Hello all,

Using jboss-3.0.0_tomcat-4.0.3, I am 
trying to access a Session bean called Registration from within a servlet, both 
of which are part of an application called pc, deployed as pc.ear. I can access the bean with no problem 
from a stand-alone client, with the following code:

Context jndiContext = 
getInitialContext();
Object ref = 
jndiContext.lookup("RegistrationHomeRemote");
RegistrationHomeRemote 
registrationHome = (RegistrationHomeRemote)
 
PortableRemoteObject.narrow(ref,RegistrationHomeRemote.class); 
RegistrationRemote registration = 
registrationHome.create(); 
 

registration.remove();

When I placed this code in a 
TestServlet, however, I initially got a ClassCastException at the third 
line. Some research in the forums 
and the manual suggested to me that I did not have everything specified 
correctly in my deployment descriptors. 
After some tinkering, I no longer get a ClassCastException. However, I do get the following 
Exception:

javax.servlet.ServletException: 
Could not activate; nested exception is: 
 
java.io.FileNotFoundException: 
C:\Java\jboss\jboss-3.0.0_tomcat-4.0.3\server\default\db\sessions\Registration\1036311619820.ser 
(The system cannot find the file specified)
 at 
com.pc.servlets.TestServlet.doRequest(TestServlet.java:44)
 at 
com.pc.servlets.BaseServlet.doPost(BaseServlet.java:33)
 at 
com.pc.servlets.BaseServlet.doGet(BaseServlet.java:28)
 at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
 at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at 
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:446)
 at 
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
 at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
 at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
 at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
 at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
 at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
 at 
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
 at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
 at 
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
 at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
 at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
 at 
java.lang.Thread.run(Thread.java:536)

Could anyone shed any light on 
what's happening here? My 
deployment descriptors (in relevant part) are as follows:

ejb.jar:
 
 
session
 
 
display-nameRegistration/display-name 
 

 
 
ejb-nameRegistration/ejb-name  

 
 
homecom.pc.ejb.session.interfaces.RegistrationHomeRemote/home
 
 
remotecom.pc.ejb.session.interfaces.RegistrationRemote/remote
 
 
ejb-classcom.pc.ejb.session.beans.RegistrationBean/ejb-class
 
 
session-typeStateful/session-type
 
 

Re: [JBoss-user] FileNotFoundException Accessing Session bean from Servlet

2002-11-03 Thread Scott M Stark
This happens when the stateful session has been removed due to
inactivity. The default timeout is 30 minutes. jboss-3.0.0 is now getting
to be a rather out of date version so lookup into updating to 3.0.4.


Scott Stark
Chief Technology Officer
JBoss Group, LLC

On Sunday, November 3, 2002, at 12:40  AM, John Snyder wrote:

Hello all,

 

Using jboss-3.0.0_tomcat-4.0.3, I am trying to access a Session bean called Registration from within a servlet, both of which are part of an application called pc, deployed as pc.ear. I can access the bean with no problem from a stand-alone client, with the following code:

 

Context jndiContext = getInitialContext();

Object ref = jndiContext.lookup("RegistrationHomeRemote");

RegistrationHomeRemote registrationHome = (RegistrationHomeRemote)

   PortableRemoteObject.narrow(ref,RegistrationHomeRemote.class);  

RegistrationRemote registration = registrationHome.create();   

registration.remove();

 

When I placed this code in a TestServlet, however, I initially got a ClassCastException at the third line. Some research in the forums and the manual suggested to me that I did not have everything specified correctly in my deployment descriptors. After some tinkering, I no longer get a ClassCastException. However, I do get the following Exception:

 

javax.servlet.ServletException: Could not activate; nested exception is: 

   java.io.FileNotFoundException: C:\Java\jboss\jboss-3.0.0_tomcat-4.0.3\server\default\db\sessions\Registration\1036311619820.ser (The system cannot find the file specified)

   at com.pc.servlets.TestServlet.doRequest(TestServlet.java:44)

   at com.pc.servlets.BaseServlet.doPost(BaseServlet.java:33)

   at com.pc.servlets.BaseServlet.doGet(BaseServlet.java:28)

   at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

   at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

   at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:446)

   at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)

   at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

   at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

   at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

   at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)

   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

   at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)

   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

   at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)

   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)

   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

   at