2016-01-11 204 views
0

在WebLogic中,我有自定義cookie名稱的要求,會話管理,我用我的weblogic.xml以下定義Cookie的會話持久性

<session-descriptor> 
    <timeout-secs>7200</timeout-secs> 
    <cookies-enabled>true</cookies-enabled> 
    <persistent-store-type>cookie</persistent-store-type> 
    <persistent-store-cookie-name>MY_PARAM</persistent-store-cookie-name> 
</session-descriptor> 

了下面那個把一個數到會話中的語句錯誤...

java.lang.IllegalArgumentException: Cookie based sessions support 
    attributes of 
    type "String" only; could not set attribute: CUSTID 
      at 
    weblogic.servlet.internal.session.CookieSessionData.setAttribute(Cook 
    ieSessionData.java:63) 

這在早期使用自定義cookie名稱進行持久性時工作正常。我錯過了什麼嗎?我能做些什麼,以避免因定製cookie名稱要求更改代碼 UPDATE:

myCustId是一個數字,我試圖把它放在CUSTID會議attributr:

session.setAttribute("CUSTID", myCustId); 

於是,經過上面的錯誤,如果我改變下面的代碼,問題就解決了。

session.setAttribute("CUSTID", myCustId.toString()); 

但我不想做這些更改,因爲許多其他這樣的數字字段設置爲會話屬性。

+0

你的代碼是什麼樣的設置屬性? –

+0

請參閱我的問題更新 – rags

回答