I am having trouble transitioning to b19. I am using the ServerServlet to
integrate with Tomcat.
I have a class that extends Application and has the following:
public JDomApplication(Context context) {
super(context);
}
@Override public Restlet createRoot() {
// Create our restlets.
final Restlet sayHelloHandler = createSayHelloHandler();
final Restlet sayGoodbyeHandler = createSayGoodbyeHandler();
final Restlet failureHandler = createFailureHandler();
final Restlet partialFailureHandler = createPartialFailureHandler();
final Restlet invalidDomHandler = createInvalidDomHandler();
final Restlet xsdRestlet = new XsdRestlet(SCHEMA_PATH);
final Filter jdomFilter = new JDomFilter(NAMESPACE, SCHEMA_PATH, true);
// Create a root Router.
Router router = new Router(getContext());
// Add the first level routing targets.
router.getScorers().add("/hello[/]*?$", xsdRestlet);
router.getScorers().add("hello/*", jdomFilter);
// Create the hello router.
Router helloRouter = new Router(getContext());
jdomFilter.setNext(helloRouter);
// Attach the handlers.
helloRouter.attach("sayhello$", sayHelloHandler);
helloRouter.attach("saygoodbye$", sayGoodbyeHandler);
helloRouter.attach("failure$", failureHandler);
helloRouter.attach("partialfailure$", partialFailureHandler);
helloRouter.attach("invaliddom$", invalidDomHandler);
// Return the root router.
return router;
}
When I try to access this service, I get the following exception and trace:
Oct 25, 2006 2:41:49 PM org.restlet.Restlet init
WARNING: Unable to start the Restlet
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at java.net.ServerSocket.<init>(ServerSocket.java:97)
at
com.noelios.restlet.ext.simple.HttpServerHelper.start(HttpServerHelper.java
:54)
at org.restlet.Server.start(Server.java:265)
at org.restlet.Restlet.init(Restlet.java:117)
at org.restlet.Server.handle(Server.java:181)
at com.noelios.restlet.impl.ServerHelper.handle(ServerHelper.java:96)
at
com.noelios.restlet.impl.http.HttpServerHelper.handle(HttpServerHelper.java:
87)
at
com.noelios.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationF
ilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai
n.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.
java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext
.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j
ava:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCon
text.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCont
xt.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveConte
xt.java:102)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCont
ext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.j
ava:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCon
text.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.jav
a:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
at java.lang.Thread.run(Thread.java:595)
Any suggestions?
Thanks,
Sean