classloader - Application on websphere throws ClassCastException on application restart -


i have application of websphere application server 7.0 (parent last)

please read through description understand problem.

i created new websphere profile. configured application on , started application , when test application. works good.

now, went websphere console , re-start application. time when test application. error.

the log says classcastexception :

[3/21/13 6:06:18:616 edt] 0000001d systemerr     r java.lang.classcastexception: com.csc.fs.ra.simpleconnectionspecimpl incompatible com.csc.fs.ra.simpleconnectionspecimpl [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.ra.ip.connectionfactoryimpl.getconnection(connectionfactoryimpl.java:69) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.sa.interactionhandlerbase.getconnection(interactionhandlerbase.java:165) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.sa.interactionhandlerbase.execute(interactionhandlerbase.java:95) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.sa.interactionhandlerbase.process(interactionhandlerbase.java:230) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.sa.systemaccessbase.invokeinteraction(systemaccessbase.java:374) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.sa.systemaccessbase.internalinvoke(systemaccessbase.java:242) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.sa.systemaccessbase.invoke(systemaccessbase.java:55) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.sa.systemaccessbase.login(systemaccessbase.java:106) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.session.authenticatorbase.logonsystemsession(authenticatorbase.java:153) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.session.authenticatorbase.addsystemsessions(authenticatorbase.java:132) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.accel.session.standalone.authenticatorbase.logon(authenticatorbase.java:224) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.session.authenticatorbase.logon(authenticatorbase.java:93) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.service.servicecontrollerabstract.logon(servicecontrollerabstract.java:387) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.delegate.directservicecontroller.logon(directservicecontroller.java:132) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.delegate.servicedelegatedirect.logon(servicedelegatedirect.java:133) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.accel.ui.baseserviceaction.logon(baseserviceaction.java:124) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.accel.ui.action.desktop.logon.perform(logon.java:47) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.accel.ui.servicedelegator.execute(servicedelegator.java:506) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.accel.ui.servicedelegator.processevent(servicedelegator.java:240) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.accel.ui.beanbase.executeevent(beanbase.java:779) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ pagecode.authorization.logon.submit(logon.java:66) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:48) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:37) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ java.lang.reflect.method.invoke(method.java:600) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ org.apache.el.parser.astvalue.invoke(astvalue.java:131) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ org.apache.el.methodexpressionimpl.invoke(methodexpressionimpl.java:276) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ org.apache.jasper.el.jspmethodexpression.invoke(jspmethodexpression.java:67) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ javax.faces.component.methodbindingmethodexpressionadapter.invoke(methodbindingmethodexpressionadapter.java:88) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.sun.faces.application.actionlistenerimpl.processaction(actionlistenerimpl.java:102) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ javax.faces.component.uicommand.broadcast(uicommand.java:315) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ javax.faces.component.uiviewroot.broadcastevents(uiviewroot.java:775) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ javax.faces.component.uiviewroot.processapplication(uiviewroot.java:1267) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.sun.faces.lifecycle.invokeapplicationphase.execute(invokeapplicationphase.java:82) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.sun.faces.lifecycle.phase.dophase(phase.java:101) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.sun.faces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:118) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ javax.faces.webapp.facesservlet.service(facesservlet.java:312) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.ibm.ws.webcontainer.servlet.servletwrapper.service(servletwrapper.java:1661) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.ibm.ws.webcontainer.servlet.servletwrapper.service(servletwrapper.java:1595) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.ibm.ws.webcontainer.filter.webappfilterchain.dofilter(webappfilterchain.java:131) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.csc.fs.accel.ui.filters.responseheaderfilter.dofilter(responseheaderfilter.java:82) [3/21/13 6:06:18:616 edt] 0000001d systemerr     r  @ com.ibm.ws.webcontainer.filter.filterinstancewrapper.dofilter(filterinstancewrapper.java:188) 

the reason behind classcastexception multiple version of class simpleconnectionspecimpl .

this class being supplied resource adapters have configured externally through websphere admin console.

but when stop server , restart server, can again use application no error.

so closest guess websphere caching class files because of seeing exception.

any thoughts? ideas?

please let me know if require more details

you see exception because there different class loaders have loaded class, technically makes them different classes.

we've solved problem before have class apart of server classpath , have server load it. way there 1 class loader class , applications running on server can use there.

the other options can see here don't restart app unless plan restart server well. see pain in development environment once hit production doubt you're restarting apps.


Comments