kinyelo / vosao

Automatically exported from code.google.com/p/vosao
GNU Lesser General Public License v2.1
1 stars 2 forks source link

plugin class not found #385

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I'm trying to create my own plugin. On my local environment it runs well, but 
on the cloud I get a class not found exception as soon as the plugin is 
installed. It looks like the plugin is stored in the session and then and can't 
be deserialized. This is the stacktrace:

avax.servlet.ServletException: java.lang.RuntimeException: 
java.lang.ClassNotFoundException: 
ch.erikjan.vosao.plugins.market.service.MarketFrontendServiceImpl
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:240)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
    at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261)
    at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:8495)
    at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:8493)
    at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24)
    at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:435)
    at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:572)
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448)
    at com.google.tracing.TraceContext.runInContext(TraceContext.java:688)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326)
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318)
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: 
ch.erikjan.vosao.plugins.market.service.MarketFrontendServiceImpl
    at com.google.apphosting.runtime.jetty.SessionManager.deserialize(SessionManager.java:421)
    at com.google.apphosting.runtime.jetty.SessionManager.loadSession(SessionManager.java:315)
    at com.google.apphosting.runtime.jetty.SessionManager.getSession(SessionManager.java:288)
    at org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:237)
    at org.mortbay.jetty.servlet.SessionHandler.setRequestedId(SessionHandler.java:246)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:136)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238)
    ... 21 more
Caused by: java.lang.ClassNotFoundException: 
ch.erikjan.vosao.plugins.market.service.MarketFrontendServiceImpl
    at com.google.appengine.runtime.Request.process-b6b1bf7d4ee4b793(Request.java)
    at org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:237)
    at org.mortbay.jetty.servlet.SessionHandler.setRequestedId(SessionHandler.java:246)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:136)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    ... 11 more

My app is called delimarkets, you already have access.. so you can see it for 
yourself in the logs. Any help would be appreciated.

Original issue reported on code.google.com by erikjan_...@hotmail.com on 7 Dec 2010 at 6:55

GoogleCodeExporter commented 9 years ago
Do you store instance of MarketFrontendServiceImpl in the session? Or may be 
some object referencing to MarketFrontendServiceImpl instance?

Original comment by kinyelo@gmail.com on 7 Dec 2010 at 9:35

GoogleCodeExporter commented 9 years ago
I've looked at how the register plugin works and put a 
MarketFrontendServiceManager that extends the PluginServiceManager this is then 
using JSON bridge to register the MarketFrontendService. But because the JSON 
bridge is on the session my MarketFrontendService is also on the session. Do 
you have any tip to get rid of this error again?

Original comment by erikjan_...@hotmail.com on 8 Dec 2010 at 7:41

GoogleCodeExporter commented 9 years ago
Look at the 
http://code.google.com/p/vosao/source/browse/plugins/register/trunk/src/main/jav
a/org/vosao/plugins/register/service/RegisterBackServiceManager.java

there is register and unregister methods.

Original comment by kinyelo@gmail.com on 8 Dec 2010 at 8:49