Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

View: New views
7 Messages — Rating Filter:   Alert me  

Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

by wadi :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi All! After merging DataApplicaction and SecureApplication I got a ClassNotFoundException :imq/demo/applications/simplechat/SimpleChatBytesMessageCreator . (wrong name: SimpleChatBytesMessageCreator).
I have an Hibernate app, with persistence xml in META-INF directory and the mapped clasess with non-jta transaction type.
Here is the full stacktrace:
********************************************************************
*** WARNING: Wicket is running in DEVELOPMENT mode.              ***
***                               ^^^^^^^^^^^                    ***
*** Do NOT deploy to your live server(s) without changing this.  ***
*** See Application#getConfigurationType() for more information. ***
********************************************************************
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Unable to instantiate web session class ar.com.mobileworks.MobileWorksSession
org.apache.wicket.WicketRuntimeException: Unable to instantiate web session class ar.com.mobileworks.MobileWorksSession
        at org.apache.wicket.authentication.AuthenticatedWebApplication.newSession(AuthenticatedWebApplication.java:119)
        at org.apache.wicket.Session.findOrCreate(Session.java:228)
        at org.apache.wicket.Session.findOrCreate(Session.java:211)
        at org.apache.wicket.Session.get(Session.java:250)
        at org.apache.wicket.RequestCycle.getSession(RequestCycle.java:430)
        at org.apache.wicket.request.AbstractRequestCycleProcessor.resolveHomePageTarget(AbstractRequestCycleProcessor.java:315)
        at org.apache.wicket.protocol.http.WebRequestCycleProcessor.resolve(WebRequestCycleProcessor.java:159)
        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1224)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1331)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.apache.wicket.authentication.AuthenticatedWebApplication.newSession(AuthenticatedWebApplication.java:114)
        ... 38 more
Caused by: java.lang.NoClassDefFoundError: imq/demo/applications/simplechat/SimpleChatBytesMessageCreator (wrong name: SimpleChatBytesMessageCreator)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at com.sun.appserv.server.util.ASURLClassLoader.loadClass(ASURLClassLoader.java:144)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at com.sun.enterprise.util.ConnectorClassLoader.loadClass(ConnectorClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1402)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:78)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:72)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:72)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:72)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:70)
        at org.wicketrad.service.ServiceImplementationLocator.getService(ServiceImplementationLocator.java:45)
        at org.wicketrad.service.DefaultServiceFactory.getMetaData(DefaultServiceFactory.java:31)
        at org.wicketrad.service.DefaultServiceFactory.getService(DefaultServiceFactory.java:19)
        at org.wicketrad.service.DefaultServiceFactory.getService(DefaultServiceFactory.java:15)
        at ar.com.mobileworks.SecureDataApplication.getService(SecureDataApplication.java:65)
        at ar.com.mobileworks.MobileWorksSession.<init>(MobileWorksSession.java:34)
        ... 43 more
StandardWrapperValve[default]: PWC1406: Servlet.service() for servlet default threw exception
org.apache.wicket.WicketRuntimeException: Unable to instantiate web session class ar.com.mobileworks.MobileWorksSession
        at org.apache.wicket.authentication.AuthenticatedWebApplication.newSession(AuthenticatedWebApplication.java:119)
        at org.apache.wicket.Session.findOrCreate(Session.java:228)
        at org.apache.wicket.Session.findOrCreate(Session.java:211)
        at org.apache.wicket.Session.get(Session.java:250)
        at org.apache.wicket.Application$1.onInstantiation(Application.java:276)
        at org.apache.wicket.Application.notifyComponentInstantiationListeners(Application.java:974)
        at org.apache.wicket.Component.<init>(Component.java:873)
        at org.apache.wicket.MarkupContainer.<init>(MarkupContainer.java:105)
        at org.apache.wicket.Page.<init>(Page.java:236)
        at org.apache.wicket.markup.html.WebPage.<init>(WebPage.java:184)
        at org.apache.wicket.markup.html.pages.ExceptionErrorPage.<init>(ExceptionErrorPage.java:55)
        at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:163)
        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1280)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1331)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
        at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
        at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
        at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
        at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at org.apache.wicket.authentication.AuthenticatedWebApplication.newSession(AuthenticatedWebApplication.java:114)
        ... 43 more
Caused by: java.lang.NoClassDefFoundError: imq/demo/applications/simplechat/SimpleChatBytesMessageCreator (wrong name: SimpleChatBytesMessageCreator)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at com.sun.appserv.server.util.ASURLClassLoader.loadClass(ASURLClassLoader.java:144)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at com.sun.enterprise.util.ConnectorClassLoader.loadClass(ConnectorClassLoader.java:187)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1402)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:78)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:72)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:72)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:72)
        at org.wicketrad.service.ServiceImplementationLocator.recurseDirectories(ServiceImplementationLocator.java:70)
        at org.wicketrad.service.ServiceImplementationLocator.getService(ServiceImplementationLocator.java:45)
        at org.wicketrad.service.DefaultServiceFactory.getMetaData(DefaultServiceFactory.java:31)
        at org.wicketrad.service.DefaultServiceFactory.getService(DefaultServiceFactory.java:19)
        at org.wicketrad.service.DefaultServiceFactory.getService(DefaultServiceFactory.java:15)
        at ar.com.mobileworks.SecureDataApplication.getService(SecureDataApplication.java:65)
        at ar.com.mobileworks.MobileWorksSession.<init>(MobileWorksSession.java:34)
        ... 48 more

Any help is welcome!Thanks in advance,
Wadi

Re: Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

by wadi :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I just wanted to add that this happends when I call app.getService(). I have an interface with the @Service annotations wich implementation has a @Service annotation too. I do a app.getService(MiInterface.class) to call the service and it throws the stacktrace I posted.
Thanks,
Wadi

Re: Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

by wfaler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
I'm afraid I've found the whole @Service and app.getService() thing to be a bit flaky as different platforms (Windows, Mac, Linux) traverse the classpath in different ways, which the code didn't account for.
Also the functionality kind of duplicates Google Guice.
As a consequence I will remove it in the next release (it is already removed in subversion) - it basically duplicates functionality that is in Google Guice, and therefore I thought it was better to just go with Google Guice for service discovery, rather than duplicate something others have done better.

So my suggestion would be to replace it with the Wicket Guice integration as it will achieve the same effect with very little change. there is a good, short tutorial for it here:
http://herebebeasties.com/2007-06-20/wicket-gets-guicy/

For the current Wicket RAD release, you can just add this to your pom.xml for it to work as described in the blog post above:
<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-guice</artifactId>
    <version>1.3.4</version>
</dependency>

Apologies for the inconvenience (and flaky code for service discovery, I never actually used it myself, I just half heartedly wrote it before discovering Guice).

In the upcoming 0.6 release, Guice will be explicitly supported and integrated beyond how it is already integrated in Wicket to support some new functionality.

wadi wrote:
I just wanted to add that this happends when I call app.getService(). I have an interface with the @Service annotations wich implementation has a @Service annotation too. I do a app.getService(MiInterface.class) to call the service and it throws the stacktrace I posted.
Thanks,
Wadi

Re: Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

by wadi :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

First of all you don't have to apologise for nothing. The framework is great !!I'll replace it with googles. Thank you very much for your response!!!!!
Wadi

Re: Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

by wadi :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

One other thing. I don't find the wicket-guice-1.3.4 jar . I'm using netbeans and waned to add the jar but I don't find any place to download from....and maven doesn't seems to download it...

Re: Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

by wfaler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

http://repo1.maven.org/maven2/org/apache/wicket/wicket-guice/1.3.4/
the wicket-guice jar is located in that directory, you probably need this defined for maven to pick it up (or just get it from the directory above manually):
                <repository>
                        <id>maven2</id>
                        <url>http://repo1.maven.org/maven2</url>
                        <releases>
                                <enabled>true</enabled>
                        </releases>
                        <snapshots>
                                <enabled>false</enabled>
                        </snapshots>
                </repository>

Guice itself can be found here, if you are not using Maven: http://code.google.com/p/google-guice/

wadi wrote:
One other thing. I don't find the wicket-guice-1.3.4 jar . I'm using netbeans and waned to add the jar but I don't find any place to download from....and maven doesn't seems to download it...

Re: Error running wicket :(wrong name: SimpleChatBytesMessageCreator)

by wadi :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks!!!!!!!!!!!!!!!!!!!!!!!