java - Error : non-serializable attribute value into ViewMap -
i have same application in 2 systems(laptops) working in 1 not in another.i following error in system. have posted code below.what want cascading dropdown button calls method of different managed bean, , placeorder button add record in database.but following error @ time of page loading
warning: setting non-serializable attribute value viewmap: (key: stockorderbean, value class: beans.stockorderbean) severe: error rendering view[/clienttemplate/stocktrade.xhtml] java.io.notserializableexception: beans.stockorderbean warning: jsf1087: unable generate facelets error page response has been committed. severe: javax.faces.facesexception: beans.stockorderbean
xhtmlcode:
<h:outputtext value="exchange :"/> <p:selectonemenu value="#{stockorderbean.exchange}" style="width: 200px"> <f:selectitem itemlabel="select exchange"/> <f:selectitem itemlabel="nse" itemvalue="nse"/> <f:selectitem itemlabel="bse" itemvalue="bse"/> <p:ajax update="sym" listener="#{stockorderbean.wow}"/> </p:selectonemenu> <h:outputtext value="select scripsymbol :"/> <p:selectonemenu value="#{stockorderbean.scripid}" style="width: 200px" id="sym"> <f:selectitem itemlabel="select scrip"/> <f:selectitems var="scrip" value="#{stockorderbean.sl}" itemlabel="#{scrip.scripsymbol}" itemvalue="#{scrip.scripid}"/> </p:selectonemenu> <p:commandbutton value="get quote" actionlistener="#{stockorderbean.equity.setquote}" oncomplete="cd.show()" update=":frmdialog" /> <h:panelgrid columns="2" id="d1" style="width:565px"> <h:outputtext value="how place order"/> <p:selectoneradio value="#{stockorderbean.transtype}"> <f:selectitem itemlabel="market order" itemvalue="marketorder"/> <p:ajax update="frmtrade:d1"/> <f:selectitem itemlabel="limit order" itemvalue="limitorder"/> <p:ajax update="frmtrade:d1"/> </p:selectoneradio> <h:outputtext value="trigger price"/> <p:inputtext value="#{stockorderbean.triggerprice}" disabled="#{stockorderbean.transtype == 'limitorder'}"/> <h:outputtext value="limit price"/> <p:inputtext value="#{stockorderbean.limitprice}" disabled="#{stockorderbean.transtype == 'marketorder'}"/> </h:panelgrid> <h:outputtext value="select demate account"/> <p:selectonemenu value="#{stockorderbean.demateaccount}" style="width: 120px"> <f:selectitem itemlabel="#{stockorderbean.demateaccount}" itemvalue="#{stockorderbean.demateaccount}"/> </p:selectonemenu> <p:commandbutton value="place new order" actionlistener="#{stockorderbean.placeorder}"/> <p:commandbutton value="reset new order" type="reset"/> </h:form> <p:dialog widgetvar="cd" header="scrip quotes detail" resizable="true"> <h:form id="frmdialog"> <table> <tr> <td> ask : </td> <td> <b><h:outputtext value="#{stockorderbean.equity.ask}"/></b> </td> </table> </h:form> </p:dialog>
sockorderbean code:
@javax.faces.bean.managedbean @javax.faces.bean.viewscoped public class stockorderbean{ @webserviceref(wsdllocation = "web-inf/wsdl/localhost_8080/statelesswebservice/statelesswebservice.wsdl") private statelesswebservice_service service; //properties getter setter @managedproperty(value="#{equtiybean}") private equitybean equity = new equitybean(); public void placeorder(...){ //method not called }
the same code working in 1 system not on another.what reason , how solve it?
some server configurations need save http sessions on harddisk or need transfer them on network central datastore, goal share session between multiple servers in cluster, or minimize excessive memory usage. in turn requires session attributes implement serializable
server use objectoutputstream
convert java objects bytes can saved on disk or transferred on network , objectinputstream
convert bytes java objects.
if object stored in http session not implement serializable
, notserializableexception
full qualified class name in message. should fix class implement serializable
.
public class stockorderbean implements serializable { // ... }
in jsf, applies view , session scoped managed beans. request , application scoped beans doesn't need implement serializable
. note of bean properties should serializable
. clear enough notserializableexception
whenever 1 encountered.
Comments
Post a Comment