Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WL6 JDBC session persistence gives null pointer exception

0 views
Skip to first unread message

Paul J. Ste. Marie

unread,
May 22, 2001, 5:53:51 PM5/22/01
to
I'm getting the following when trying to create an HttpSession in WL6 with
JDBC session persistence:

<May 22, 2001 5:51:09 PM EDT> <Error> <Kernel> <ExecuteRequest failed
java.lang.NullPointerException
at
weblogic.servlet.internal.session.JDBCSessionData.removeAttribute(JDBCSessio
nData.java:483)
at
weblogic.servlet.internal.session.SessionData.removeValue(SessionData.java:1
56)
at
weblogic.servlet.internal.session.SessionData.setAttribute(SessionData.java:
249)
at
weblogic.servlet.internal.session.JDBCSessionData.setAttribute(JDBCSessionDa
ta.java:468)
at
weblogic.servlet.security.internal.FormSecurityModule.stuffSession(FormSecur
ityModule.java:480)
at
weblogic.servlet.security.internal.FormSecurityModule.checkUserPerm(FormSecu
rityModule.java:387)
at
weblogic.servlet.security.internal.SecurityModule.beginCheck(SecurityModule.
java:166)
at
weblogic.servlet.security.internal.FormSecurityModule.checkA(FormSecurityMod
ule.java:160)
at
weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(Servle
tSecurityManager.java:150)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:1250)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:1622)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>

Any suggestions? The database table and the connection pool all appear to be
OK. I'm using the same connection pool for session persistence and CMP
EJB's, which ought to be OK according to the docs. All the columns problems
were worked out earlier, but this one has me baffled.


Paul J. Ste. Marie

unread,
May 22, 2001, 8:10:39 PM5/22/01
to
Well, fixed that problem (caused by trying to place a non-serializable
object in the session), found a new one.

I'm getting a unique constraint violated message during the login process.
The primary key for the persistence table is WL_ID + WL_CONTEXT_PATH, as
specified in the documentation. The session record is created, but
apparently WL is trying to create it a second time. If I disable the primary
key I get five records inserted in the table, apparently all duplicates.

javax.servlet.ServletException: Could not initialize
session:java.sql.SQLException: ORA-00001: unique constraint
(NEHG.SYS_C0013827) violated
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
at
oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:738)
at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1313
)
at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1232)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithBatch(OracleStatement.java:1
353)
at
oracle.jdbc.driver.OracleStatement.doExecute(OracleStatement.java:1760)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java
:1805)
at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedState
ment.java:322)
at
weblogic.jdbc.pool.PreparedStatement.executeUpdate(PreparedStatement.java:75
)
at
weblogic.servlet.internal.session.JDBCSessionData.dbCreate(JDBCSessionData.j
ava:193)
at
weblogic.servlet.internal.session.JDBCSessionData.newSession(JDBCSessionData
.java:70)
at
weblogic.servlet.internal.session.JDBCSessionContext.getNewSession(JDBCSessi
onContext.java:50)
at
weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
onContext.java:121)
at
weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
l.java:1543)
at
weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
ava:1406)
at
weblogic.servlet.security.internal.FormSecurityModule.checkA(FormSecurityMod
ule.java:49)


at
weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(Servle
tSecurityManager.java:150)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:1250)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:1622)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

at
weblogic.servlet.internal.session.JDBCSessionData.newSession(JDBCSessionData
.java:73)
at
weblogic.servlet.internal.session.JDBCSessionContext.getNewSession(JDBCSessi
onContext.java:50)
at
weblogic.servlet.internal.session.SessionContext.getNewSessionInstance(Sessi
onContext.java:121)
at
weblogic.servlet.internal.ServletRequestImpl.getNewSession(ServletRequestImp
l.java:1543)
at
weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.j
ava:1406)
at
weblogic.servlet.security.internal.FormSecurityModule.checkA(FormSecurityMod
ule.java:49)

Paul J. Ste. Marie

unread,
May 23, 2001, 4:54:52 PM5/23/01
to
And just one more datapoint: the problem ONLY occurs during form-based
authentication. Sessions work fine on unsecured JSP's.

"Paul J. Ste. Marie" <Ste....@digineer.com> wrote in message
news:3b0b005d$1...@newsgroups.bea.com...


> Well, fixed that problem (caused by trying to place a non-serializable
> object in the session), found a new one.
>
> I'm getting a unique constraint violated message during the login process.
> The primary key for the persistence table is WL_ID + WL_CONTEXT_PATH, as
> specified in the documentation. The session record is created, but
> apparently WL is trying to create it a second time. If I disable the
primary
> key I get five records inserted in the table, apparently all duplicates.
>
> javax.servlet.ServletException: Could not initialize
> session:java.sql.SQLException: ORA-00001: unique constraint
> (NEHG.SYS_C0013827) violated
> at
oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:114)
> at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
> at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:542)
> at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1311)
> at

0 new messages