WebSocket problem with Jetty 9

2013-03-05 Thread Bjoern Wuest
Hello,

 

 

I do my first steps using Apache Wicket and would like to test the WebSocket
feature. However, I fail to get anything compiled and deployed. Wicket by
itself seems to work (i,e. message in Index.html is replaced
successfully). I am using Jetty 9.0.0M3 and Wicket 6.6.0. Here are my
files. I think it has to do something with the location of the
WebSocketCreator class and that it moved from the package
org.eclipse.jetty.websocket.server in Jetty 9.0.0M2 to
org.eclipse.jetty.websocket.servlet in Jetty 9.0.0M3

 

 

my/Index.html:

!DOCTYPE html

htmlheadmeta charset=UTF-8titleInsert title here/title/head

bodyBlabla...span wicket:id=messageMessage would be here/span/body

/html

 

 

my/Index.java:

import org.apache.wicket.markup.html.WebPage;

import org.apache.wicket.markup.html.basic.Label;

import org.apache.wicket.protocol.ws.api.WebSocketBehavior;

 

public final class Index extends WebPage {

   public Index() {

 add(new Label(message, Hallo Welt!));

 add(new WebSocketBehavior() {});

   }

}

 

 

my/app.java:

public class app extends WebApplication {

   @Override public Class? extends Page getHomePage() { return
Index.class; }

}

 

 

web.xml:

?xml version=1.0 encoding=UTF-8?

web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
xmlns=http://java.sun.com/xml/ns/javaee;
xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd;
xsi:schemaLocation=http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
http://java.sun.com/xml/ns/javaee%20http:/java.sun.com/xml/ns/javaee/web-ap
p_3_0.xsd  id=WebApp_ID version=3.0

  display-nameAspiration for Ascension - Web Application/display-name

  context-param

param-nameconfiguration/param-name

param-valuedevelopment/param-value

  /context-param

  filter

filter-namemyapp/filter-name

 
filter-classorg.apache.wicket.protocol.ws.jetty9.Jetty9WebSocketFilter/fi
lter-class

init-param

  param-nameapplicationClassName/param-name

  param-valuemy.app/param-value

/init-param

  /filter

  filter-mapping

filter-namemyapp/filter-name

url-pattern/*/url-pattern

  /filter-mapping

/web-app

 

 

pom.xml:

project xmlns=http://maven.apache.org/POM/4.0.0;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;

  xsi:schemaLocation=http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd
http://maven.apache.org/POM/4.0.0%20http:/maven.apache.org/maven-v4_0_0.xsd
 

  modelVersion4.0.0/modelVersion

  groupIdmy/groupId

  artifactIdapp/artifactId

  packagingwar/packaging

  version0.0.1-SNAPSHOT/version

  build

finalNameapp/finalName

  /build

  dependencies

   dependency

 groupIdorg.slf4j/groupId

 artifactIdslf4j-jdk14/artifactId

 version1.7.2/version

   /dependency

   dependency

 groupIdorg.apache.wicket/groupId

 artifactIdwicket-core/artifactId

 version6.6.0/version

   /dependency

   dependency

 groupIdorg.apache.wicket/groupId

 artifactIdwicket-native-websocket-jetty9/artifactId

 version0.7/version

   /dependency

  /dependencies

/project

 

 

And here is the output when running Jetty:

Running Jetty 9.0.0.M3

ParentLoaderPriority enabled

Enable config class:runjettyrun.webapp.RJRWebInfConfiguration

Enable config class:org.eclipse.jetty.webapp.WebXmlConfiguration

Enable config class:runjettyrun.webapp.RJRMetaInfoConfiguration

Enable config class:org.eclipse.jetty.webapp.FragmentConfiguration

Enable config class:runjettyrun.annotation.RJRAnnotationConfiguration

Enable config class:org.eclipse.jetty.webapp.JettyWebXmlConfiguration

Enable config class:org.eclipse.jetty.webapp.TagLibConfiguration

ProjectClassLoader: entry=D:\eclipse\workspace\my\target\classes

ProjectClassLoader:
entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-util-6.6.0.jar

ProjectClassLoader:
entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-request-6.6.0.jar

ProjectClassLoader:
entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-core-6.6.0.jar

ProjectClassLoader:
entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-jdk14-1.7.2.jar

ProjectClassLoader:
entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-api-1.7.2.jar

ProjectClassLoader:
entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-native-websocket-
jetty9-0.7.jar

ProjectClassLoader:
entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-native-websocket-
core-0.7.jar

2013-03-05 10:12:48.858:INFO:oejs.Server:main: jetty-9.0.0.M3

2013-03-05 10:12:49.949:WARN:oejuc.AbstractLifeCycle:main: FAILED My:
java.lang.NoClassDefFoundError:
org/eclipse/jetty/websocket/server/WebSocketCreator

java.lang.NoClassDefFoundError:
org/eclipse/jetty/websocket/server/WebSocketCreator

   at java.lang.Class.getDeclaredConstructors0(Native Method)

   at 

Re: WebSocket problem with Jetty 9

2013-03-05 Thread Martin Grigorov
Hi,

Jetty 9.x APIs are not stable yet. wicket-native-websocket-jetty9 uses M0
and needs upgrade to the later 9.x milestone.
You can either play with wicket-native-websocket-jetty (Jetty 7/8) or try
to upgrade to the new Jetty 9.x APIs in wicket-native-websocket-jetty9 and
contribute your work.


On Tue, Mar 5, 2013 at 12:37 PM, Bjoern Wuest bjoern.wu...@gmx.net wrote:

 Hello,





 I do my first steps using Apache Wicket and would like to test the
 WebSocket
 feature. However, I fail to get anything compiled and deployed. Wicket by
 itself seems to work (i,e. message in Index.html is replaced
 successfully). I am using Jetty 9.0.0M3 and Wicket 6.6.0. Here are my
 files. I think it has to do something with the location of the
 WebSocketCreator class and that it moved from the package
 org.eclipse.jetty.websocket.server in Jetty 9.0.0M2 to
 org.eclipse.jetty.websocket.servlet in Jetty 9.0.0M3





 my/Index.html:

 !DOCTYPE html

 htmlheadmeta charset=UTF-8titleInsert title here/title/head

 bodyBlabla...span wicket:id=messageMessage would be
 here/span/body

 /html





 my/Index.java:

 import org.apache.wicket.markup.html.WebPage;

 import org.apache.wicket.markup.html.basic.Label;

 import org.apache.wicket.protocol.ws.api.WebSocketBehavior;



 public final class Index extends WebPage {

public Index() {

  add(new Label(message, Hallo Welt!));

  add(new WebSocketBehavior() {});

}

 }





 my/app.java:

 public class app extends WebApplication {

@Override public Class? extends Page getHomePage() { return
 Index.class; }

 }





 web.xml:

 ?xml version=1.0 encoding=UTF-8?

 web-app xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xmlns=http://java.sun.com/xml/ns/javaee;
 xmlns:web=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd;
 xsi:schemaLocation=http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd
 
 http://java.sun.com/xml/ns/javaee%20http:/java.sun.com/xml/ns/javaee/web-ap
 p_3_0.xsd  id=WebApp_ID version=3.0

   display-nameAspiration for Ascension - Web Application/display-name

   context-param

 param-nameconfiguration/param-name

 param-valuedevelopment/param-value

   /context-param

   filter

 filter-namemyapp/filter-name



 filter-classorg.apache.wicket.protocol.ws.jetty9.Jetty9WebSocketFilter/fi
 lter-class

 init-param

   param-nameapplicationClassName/param-name

   param-valuemy.app/param-value

 /init-param

   /filter

   filter-mapping

 filter-namemyapp/filter-name

 url-pattern/*/url-pattern

   /filter-mapping

 /web-app





 pom.xml:

 project xmlns=http://maven.apache.org/POM/4.0.0;
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;

   xsi:schemaLocation=http://maven.apache.org/POM/4.0.0
 http://maven.apache.org/maven-v4_0_0.xsd
 
 http://maven.apache.org/POM/4.0.0%20http:/maven.apache.org/maven-v4_0_0.xsd
  

   modelVersion4.0.0/modelVersion

   groupIdmy/groupId

   artifactIdapp/artifactId

   packagingwar/packaging

   version0.0.1-SNAPSHOT/version

   build

 finalNameapp/finalName

   /build

   dependencies

dependency

  groupIdorg.slf4j/groupId

  artifactIdslf4j-jdk14/artifactId

  version1.7.2/version

/dependency

dependency

  groupIdorg.apache.wicket/groupId

  artifactIdwicket-core/artifactId

  version6.6.0/version

/dependency

dependency

  groupIdorg.apache.wicket/groupId

  artifactIdwicket-native-websocket-jetty9/artifactId

  version0.7/version

/dependency

   /dependencies

 /project





 And here is the output when running Jetty:

 Running Jetty 9.0.0.M3

 ParentLoaderPriority enabled

 Enable config class:runjettyrun.webapp.RJRWebInfConfiguration

 Enable config class:org.eclipse.jetty.webapp.WebXmlConfiguration

 Enable config class:runjettyrun.webapp.RJRMetaInfoConfiguration

 Enable config class:org.eclipse.jetty.webapp.FragmentConfiguration

 Enable config class:runjettyrun.annotation.RJRAnnotationConfiguration

 Enable config class:org.eclipse.jetty.webapp.JettyWebXmlConfiguration

 Enable config class:org.eclipse.jetty.webapp.TagLibConfiguration

 ProjectClassLoader: entry=D:\eclipse\workspace\my\target\classes

 ProjectClassLoader:
 entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-util-6.6.0.jar

 ProjectClassLoader:

 entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-request-6.6.0.jar

 ProjectClassLoader:
 entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-core-6.6.0.jar

 ProjectClassLoader:
 entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-jdk14-1.7.2.jar

 ProjectClassLoader:
 entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\slf4j-api-1.7.2.jar

 ProjectClassLoader:

 entry=D:\eclipse\workspace\my\target\My\WEB-INF\lib\wicket-native-websocket-
 jetty9-0.7.jar

 ProjectClassLoader: