I created and called a stateful session bean successfully:
try
{
Context ctx = getInitialContext();
CMMaintSessionHome home = (CMMaintSessionHome)
ctx.lookup("cmMaintSession.CMMaintSessionHome");
CMMaintSession cmMaintSession = (CMMaintSession) home.create();
User user = new User();
user.setUserName(m_userId);
user.setPassword(m_password);
System.out.println("<<< CMMaintLoginDB.setUserInfo() - calling setUser on
session bean...");
cmMaintSession.setUser(user);
// initialize session bean
System.out.println("<<< CMMaintLoginDB.setUserInfo() - calling initialize
on session bean...");
cmMaintSession.initialize();
System.out.println("<<< CMMaintLoginDB.setUserInfo() - storing handle to
session bean in session tracking...");
m_session.setAttribute("CMMaintSessionHandle", cmMaintSession.getHandle());
m_session.setAttribute("userAuthenticated", "true");
}
catch (Exception e)
{
throw new JApplicationException(JApplicationException.NOPROCESS,
e.getMessage());
}
After authentication to the DB, I then forward the request on to another jsp and
eventually call the stateful session bean this way:
try {
System.out.println("<<< CMCommodityDB constructor - getting handle to
session bean from session tracking...");
Handle cmMaintSessionHandle = (Handle)
session.getAttribute("CMMaintSessionHandle");
System.out.println("<<< CMCommodityDB constructor - session handle:
"+cmMaintSessionHandle.getClass().getName());
if (cmMaintSessionHandle == null)
System.out.println("<<< CMCommodityDB constructor: CMMaintSession not
found in session tracking...");
System.out.println("<<< CMCommodityDB constructor - about to get session
bean from the handel...");
Object o = cmMaintSessionHandle.getEJBObject();
System.out.println("<<< CMCommodityDB constructor - getting the session
bean from the handle: "+o.getClass().getName());
m_cmMaintSession = (CMMaintSession) cmMaintSessionHandle.getEJBObject();
} catch (RemoteException e) {
System.out.println("<<< CMCommodityDB constructor - RemoteException:
"+e.getMessage());
throw new JApplicationException(JApplicationException.NOPROCESS,
e.getMessage());
} catch (EJBException e) {
System.out.println("<<< CMCommodityDB constructor - EJBException:
"+e.getMessage());
throw new JApplicationException(JApplicationException.NOPROCESS,
e.getMessage());
} catch (NullPointerException e) {
System.out.println("<<< CMCommodityDB constructor - NullPointerException:
"+e.getMessage());
throw new JApplicationException(JApplicationException.NOPROCESS,
e.getMessage());
}
The code throws a NullPointException in
org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:128)
from the following line in my code:
Object o = cmMaintSessionHandle.getEJBObject();
Here is a portion of the server.log file:
2004-08-06 13:34:44,987 INFO [STDOUT] <<< Authenticate.authenticate() - getting
connection...
2004-08-06 13:34:46,622 INFO [STDOUT] ORACLE CONNECTION made by: jurban to
jdbc:oracle:thin:@raindev-emt:1527:ecvmd
2004-08-06 13:34:46,623 INFO [STDOUT] <<< Authenticate.authenticate() - got
connection...
2004-08-06 13:34:47,031 INFO [STDOUT] <<< CMMaintSessionBean.setSessionContext()
2004-08-06 13:34:47,046 DEBUG [org.jboss.ejb.StatefulSessionContainer] Created new
session ID: dxkntmdi-4
2004-08-06 13:34:47,054 DEBUG [org.jboss.ejb.StatefulSessionContainer] Using create
method for session: public void cmMaintSession.CMMa
intSessionBean.ejbCreate() throws java.rmi.RemoteException,javax.ejb.CreateException
2004-08-06 13:34:47,055 INFO [STDOUT] <<< CMMaintSessionBean.ejbCreate()
2004-08-06 13:34:47,060 DEBUG [org.jboss.proxy.ejb.ProxyFactory] seting invoker proxy
binding for stateful session: stateful-rmi-invoke
r
2004-08-06 13:34:47,246 INFO [STDOUT] <<< CMMaintLoginDB.setUserInfo() - calling
setUser on session bean...
2004-08-06 13:34:47,259 INFO [STDOUT] <<< CMMaintLoginDB.setUserInfo() - calling
initialize on session bean...
2004-08-06 13:34:47,261 INFO [STDOUT] <<< CMMaintSessionBean.initialize()
2004-08-06 13:34:47,261 INFO [STDOUT] CMMaintSessionBean.getUniqueDBConnection() -
getting unique db connection...
2004-08-06 13:34:47,566 INFO [STDOUT] ORACLE CONNECTION made by: jurban to
jdbc:oracle:thin:@db:1111:sid
2004-08-06 13:34:47,569 INFO [STDOUT]
2004-08-06 13:34:49,645 INFO [STDOUT] <<< CMMaintLoginDB.setUserInfo() - storing
handle to session bean in session tracking...
2004-08-06 13:34:49,660 INFO [STDOUT] <<< Mediator.doPost() - directorName:
/CMMaintDirector
2004-08-06 13:34:49,662 INFO [STDOUT] ********** REQUEST **********
2004-08-06 13:34:49,662 INFO [STDOUT] ********** SystemRequest: CMCommodityScreen
2004-08-06 13:34:49,663 INFO [STDOUT] ********** event: top
2004-08-06 13:34:49,663 INFO [STDOUT] ********** System: CMMaint
2004-08-06 13:34:49,664 INFO [STDOUT] <<< CMMaintDirector.callJSP() - forwarding to
url: /cmMaint/CMCommodityScreen.jsp
2004-08-06 13:34:49,722 INFO [STDOUT] <<< CMCommodityScreen.jsp - 1
2004-08-06 13:34:49,731 INFO [STDOUT] <<< CMCommodityDB constructor - getting handle
to session bean from session tracking...
2004-08-06 13:34:49,732 INFO [STDOUT] <<< CMCommodityDB constructor - getting the
session bean from the handle...
2004-08-06 13:34:49,749 ERROR [org.jboss.ejb.plugins.LogInterceptor] RuntimeException:
java.lang.NullPointerException
at
org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:128)
at org.jboss.ejb.plugins.TxInterceptorBMT.invokeHome(TxInterceptorBMT.java:56)
at
org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invokeHome(StatefulSessionInstanceInterceptor.java:102)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
at
org.jboss.ejb.StatefulSessionContainer.internalInvokeHome(StatefulSessionContainer.java:404)
at org.jboss.ejb.Container.invoke(Container.java:743)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:360)
at
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
at
org.jboss.proxy.ejb.handle.StatefulHandleImpl.getEJBObject(StatefulHandleImpl.java:154)
at cmHelper.CMCommodityDB.(CMCommodityDB.java:38)
at cmHelper.CMCommodityWB.processRequest(CMCommodityWB.java:55)
at
org.apache.jsp.cmMaint.CMCommodityScreen_jsp._jspService(CMCommodityScreen_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at cmServlets.CMMaintDirector.callJSP(CMMaintDirector.java:292)
at cmServlets.CMMaintDirector.service(CMMaintDirector.java:171)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:703)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at cmServlets.Mediator.doPost(Mediator.java:91)
at cmServlets.Mediator.doGet(Mediator.java:56)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:275)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:536)
2004-08-06 13:34:49,771 INFO [STDOUT] <<< CMCommodityDB constructor -
RemoteException: Could not get EJBObject; nested exception is:
java.rmi.ServerException: RuntimeException; nested exception is:
java.lang.NullPointerException
2004-08-06 13:34:49,774 INFO [STDOUT] <<< CMCommodityScreen.jsp - 2
2004-08-06 13:34:49,775 INFO [STDOUT] <<< CMCommodityScreen.jsp - 3
2004-08-06 13:34:49,776 INFO [STDOUT] <<< CMCommodityScreen.jsp Error Status from
WorkerBean: Could not get EJBObject; nested exceptio
n is:
java.rmi.ServerException: RuntimeException; nested exception is:
java.lang.NullPointerException
2004-08-06 13:34:49,777 INFO [STDOUT] <<< CMCommodityScreen.jsp - error: Could not
get EJBObject; nested exception is:
java.rmi.ServerException: RuntimeException; nested exception is:
java.lang.NullPointerException
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3844459#3844459
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3844459
-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user