Re: [jetty-users] Migrating 9 to 10: what replaces WebSocketServlet and JSON.parse() ?

2021-09-03 Thread Joakim Erdfelt
> SLF4J: No SLF4J providers were found.
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#noProviders for further
details.

You don't have a provider in your classpath.
Add one.
You have many to choose from.
Jetty's own jetty-slf4j-impl, or logback, or log4j2, or java.util.logging,
etc ...
Read the documentation at the link in the warning message.


Joakim Erdfelt / joa...@webtide.com


On Fri, Sep 3, 2021 at 2:14 PM Alexander Farber 
wrote:

> Thank you, Joakim, now my servlet runs, but -
>
> On Fri, Sep 3, 2021 at 6:32 PM Joakim Erdfelt  wrote:
>
>> You are using a JettyWebSocketCreator.
>>
>> Get rid of  factory.register(WordsListener.class);
>>
>
> Jetty 10 prints:
>
> SLF4J: No SLF4J providers were found.
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#noProviders for further
> details.
>
> And then I don't see any logs printed by my servlet with
>
> Logger LOG = Log.getLogger(LOG_TAG);
>
> LOG.info("");
>
> And thus I cannot find out why there is no data returned from PostgreSQL...
>
> Maybe this line does not really work?
>
> factory.setCreator(new WordsCreator(this,
> mBundle.getString(STR_DATABASE_URL)));
>
> My servlet is multilanguage and thus I was passing differen DB credentials
> with the line above.
>
> What should I please use instead instead of Log.getLogger()? There
> is @deprecated, but no replacement suggestion.
>
> Best regards
> Alex
>
>
>
>> On Fri, Sep 3, 2021 at 11:09 AM Alexander Farber <
>> alexander.far...@gmail.com> wrote:
>>
>>> Hi, thank you for the helpful hints, now my WAR compiles.
>>>
>>> However when I launch it by:
>>>
>>> 1) First running once on Win 10 / Java 11:
>>>
>>> java -jar jetty-home-10.0.6\start.jar jetty.home=jetty-home-10.0.6
>>> jetty.base=jetty.base
>>> --add-module=http,servlet,webapp,deploy,resources,websocket
>>>
>>> 2) Then running
>>>
>>> @SET JETTY_HOME=%~dp0\jetty-home-10.0.6
>>> @SET JETTY_BASE=%~dp0\jetty.base
>>> java -Djdbc.drivers=org.postgresql.Driver -jar %JETTY_HOME%\start.jar
>>> jetty.home=%JETTY_HOME% jetty.base=%JETTY_BASE%
>>>
>>> Then Jetty 10 starts fine initially:
>>>
>>> 2021-09-03 17:59:51.475:INFO :oejsh.ContextHandler:main: Started
>>> o.e.j.w.WebAppContext@42a9e5d1
>>> {/en,file:///C:/Users/U299FAV/src/slova/webapp/target/words-4.0/,AVAILABLE}{C:\Users\U299FAV\src\slova\jetty.base/../webapp/target/words-4.0.war}
>>> 2021-09-03 17:59:51.485:INFO :oejsh.ContextHandler:main: Started
>>> o.e.j.s.h.ContextHandler@2c1b9e4b{/,null,AVAILABLE}
>>> 2021-09-03 17:59:51.507:INFO :oejs.AbstractConnector:main: Started
>>> ServerConnector@7e027a05{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
>>> 2021-09-03 17:59:51.518:INFO :oejs.Server:main: Started 
>>> Server@624ea235{STARTING}[10.0.6,sto=5000]
>>> @4326ms
>>>
>>> But when I try accessing the following path (I put the XML file under
>>> jetty.base\webapps):
>>>
>>> 
>>> >> "http://www.eclipse.org/jetty/configure_9_0.dtd;>
>>> 
>>> /ru
>>> >> name="jetty.base"/>/../webapp/target/words-4.0.war
>>> 
>>>
>>> Then Jetty 10 reports the error:
>>>
>>> 2021-09-03 18:00:00.583:WARN :oejshC.ru:qtp1072410641-16: unavailable
>>> java.lang.RuntimeException: java.lang.NoSuchMethodException:
>>> de.afarber.WordsListener.()
>>> at
>>> org.eclipse.jetty.websocket.server.JettyWebSocketServlet$CustomizedWebSocketServletFactory.register(JettyWebSocketServlet.java:218)
>>> at de.afarber.WordsServlet.configure(WordsServlet.java:646)
>>> at
>>> org.eclipse.jetty.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:168)
>>> at de.afarber.WordsServlet.init(WordsServlet.java:652)
>>> at javax.servlet.GenericServlet.init(GenericServlet.java:180)
>>> at
>>> org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1305)
>>> at
>>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:633)
>>> at
>>> org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:486)
>>> at
>>> org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:731)
>>> at
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
>>> at
>>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
>>> at
>>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:580)
>>> at
>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
>>> at
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
>>> at
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
>>> at
>>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
>>> at
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1372)
>>> 

Re: [jetty-users] Migrating 9 to 10: what replaces WebSocketServlet and JSON.parse() ?

2021-09-03 Thread Alexander Farber
Thank you, Joakim, now my servlet runs, but -

On Fri, Sep 3, 2021 at 6:32 PM Joakim Erdfelt  wrote:

> You are using a JettyWebSocketCreator.
>
> Get rid of  factory.register(WordsListener.class);
>

Jetty 10 prints:

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.

And then I don't see any logs printed by my servlet with

Logger LOG = Log.getLogger(LOG_TAG);

LOG.info("");

And thus I cannot find out why there is no data returned from PostgreSQL...

Maybe this line does not really work?

factory.setCreator(new WordsCreator(this,
mBundle.getString(STR_DATABASE_URL)));

My servlet is multilanguage and thus I was passing differen DB credentials
with the line above.

What should I please use instead instead of Log.getLogger()? There
is @deprecated, but no replacement suggestion.

Best regards
Alex



> On Fri, Sep 3, 2021 at 11:09 AM Alexander Farber <
> alexander.far...@gmail.com> wrote:
>
>> Hi, thank you for the helpful hints, now my WAR compiles.
>>
>> However when I launch it by:
>>
>> 1) First running once on Win 10 / Java 11:
>>
>> java -jar jetty-home-10.0.6\start.jar jetty.home=jetty-home-10.0.6
>> jetty.base=jetty.base
>> --add-module=http,servlet,webapp,deploy,resources,websocket
>>
>> 2) Then running
>>
>> @SET JETTY_HOME=%~dp0\jetty-home-10.0.6
>> @SET JETTY_BASE=%~dp0\jetty.base
>> java -Djdbc.drivers=org.postgresql.Driver -jar %JETTY_HOME%\start.jar
>> jetty.home=%JETTY_HOME% jetty.base=%JETTY_BASE%
>>
>> Then Jetty 10 starts fine initially:
>>
>> 2021-09-03 17:59:51.475:INFO :oejsh.ContextHandler:main: Started
>> o.e.j.w.WebAppContext@42a9e5d1
>> {/en,file:///C:/Users/U299FAV/src/slova/webapp/target/words-4.0/,AVAILABLE}{C:\Users\U299FAV\src\slova\jetty.base/../webapp/target/words-4.0.war}
>> 2021-09-03 17:59:51.485:INFO :oejsh.ContextHandler:main: Started
>> o.e.j.s.h.ContextHandler@2c1b9e4b{/,null,AVAILABLE}
>> 2021-09-03 17:59:51.507:INFO :oejs.AbstractConnector:main: Started
>> ServerConnector@7e027a05{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
>> 2021-09-03 17:59:51.518:INFO :oejs.Server:main: Started 
>> Server@624ea235{STARTING}[10.0.6,sto=5000]
>> @4326ms
>>
>> But when I try accessing the following path (I put the XML file under
>> jetty.base\webapps):
>>
>> 
>> > "http://www.eclipse.org/jetty/configure_9_0.dtd;>
>> 
>> /ru
>> > name="jetty.base"/>/../webapp/target/words-4.0.war
>> 
>>
>> Then Jetty 10 reports the error:
>>
>> 2021-09-03 18:00:00.583:WARN :oejshC.ru:qtp1072410641-16: unavailable
>> java.lang.RuntimeException: java.lang.NoSuchMethodException:
>> de.afarber.WordsListener.()
>> at
>> org.eclipse.jetty.websocket.server.JettyWebSocketServlet$CustomizedWebSocketServletFactory.register(JettyWebSocketServlet.java:218)
>> at de.afarber.WordsServlet.configure(WordsServlet.java:646)
>> at
>> org.eclipse.jetty.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:168)
>> at de.afarber.WordsServlet.init(WordsServlet.java:652)
>> at javax.servlet.GenericServlet.init(GenericServlet.java:180)
>> at
>> org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1305)
>> at
>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:633)
>> at
>> org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:486)
>> at
>> org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:731)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
>> at
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:580)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1372)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:463)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1294)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
>> at
>> 

Re: [jetty-users] Migrating 9 to 10: what replaces WebSocketServlet and JSON.parse() ?

2021-09-03 Thread Joakim Erdfelt
You are using a JettyWebSocketCreator.

Get rid of  factory.register(WordsListener.class);

Joakim Erdfelt / joa...@webtide.com


On Fri, Sep 3, 2021 at 11:09 AM Alexander Farber 
wrote:

> Hi, thank you for the helpful hints, now my WAR compiles.
>
> However when I launch it by:
>
> 1) First running once on Win 10 / Java 11:
>
> java -jar jetty-home-10.0.6\start.jar jetty.home=jetty-home-10.0.6
> jetty.base=jetty.base
> --add-module=http,servlet,webapp,deploy,resources,websocket
>
> 2) Then running
>
> @SET JETTY_HOME=%~dp0\jetty-home-10.0.6
> @SET JETTY_BASE=%~dp0\jetty.base
> java -Djdbc.drivers=org.postgresql.Driver -jar %JETTY_HOME%\start.jar
> jetty.home=%JETTY_HOME% jetty.base=%JETTY_BASE%
>
> Then Jetty 10 starts fine initially:
>
> 2021-09-03 17:59:51.475:INFO :oejsh.ContextHandler:main: Started
> o.e.j.w.WebAppContext@42a9e5d1
> {/en,file:///C:/Users/U299FAV/src/slova/webapp/target/words-4.0/,AVAILABLE}{C:\Users\U299FAV\src\slova\jetty.base/../webapp/target/words-4.0.war}
> 2021-09-03 17:59:51.485:INFO :oejsh.ContextHandler:main: Started
> o.e.j.s.h.ContextHandler@2c1b9e4b{/,null,AVAILABLE}
> 2021-09-03 17:59:51.507:INFO :oejs.AbstractConnector:main: Started
> ServerConnector@7e027a05{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
> 2021-09-03 17:59:51.518:INFO :oejs.Server:main: Started 
> Server@624ea235{STARTING}[10.0.6,sto=5000]
> @4326ms
>
> But when I try accessing the following path (I put the XML file under
> jetty.base\webapps):
>
> 
>  "http://www.eclipse.org/jetty/configure_9_0.dtd;>
> 
> /ru
>  name="jetty.base"/>/../webapp/target/words-4.0.war
> 
>
> Then Jetty 10 reports the error:
>
> 2021-09-03 18:00:00.583:WARN :oejshC.ru:qtp1072410641-16: unavailable
> java.lang.RuntimeException: java.lang.NoSuchMethodException:
> de.afarber.WordsListener.()
> at
> org.eclipse.jetty.websocket.server.JettyWebSocketServlet$CustomizedWebSocketServletFactory.register(JettyWebSocketServlet.java:218)
> at de.afarber.WordsServlet.configure(WordsServlet.java:646)
> at
> org.eclipse.jetty.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:168)
> at de.afarber.WordsServlet.init(WordsServlet.java:652)
> at javax.servlet.GenericServlet.init(GenericServlet.java:180)
> at
> org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1305)
> at
> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:633)
> at
> org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:486)
> at
> org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:731)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:580)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1372)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:463)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1294)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:192)
> at
> org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
> at org.eclipse.jetty.server.Server.handle(Server.java:562)
> at
> org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:406)
> at
> org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:663)
> at
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:398)
> at
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
> at
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
> at
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
> at
> org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
> at
> 

Re: [jetty-users] Migrating 9 to 10: what replaces WebSocketServlet and JSON.parse() ?

2021-09-03 Thread Alexander Farber
Hi, thank you for the helpful hints, now my WAR compiles.

However when I launch it by:

1) First running once on Win 10 / Java 11:

java -jar jetty-home-10.0.6\start.jar jetty.home=jetty-home-10.0.6
jetty.base=jetty.base
--add-module=http,servlet,webapp,deploy,resources,websocket

2) Then running

@SET JETTY_HOME=%~dp0\jetty-home-10.0.6
@SET JETTY_BASE=%~dp0\jetty.base
java -Djdbc.drivers=org.postgresql.Driver -jar %JETTY_HOME%\start.jar
jetty.home=%JETTY_HOME% jetty.base=%JETTY_BASE%

Then Jetty 10 starts fine initially:

2021-09-03 17:59:51.475:INFO :oejsh.ContextHandler:main: Started
o.e.j.w.WebAppContext@42a9e5d1
{/en,file:///C:/Users/U299FAV/src/slova/webapp/target/words-4.0/,AVAILABLE}{C:\Users\U299FAV\src\slova\jetty.base/../webapp/target/words-4.0.war}
2021-09-03 17:59:51.485:INFO :oejsh.ContextHandler:main: Started
o.e.j.s.h.ContextHandler@2c1b9e4b{/,null,AVAILABLE}
2021-09-03 17:59:51.507:INFO :oejs.AbstractConnector:main: Started
ServerConnector@7e027a05{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2021-09-03 17:59:51.518:INFO :oejs.Server:main: Started
Server@624ea235{STARTING}[10.0.6,sto=5000]
@4326ms

But when I try accessing the following path (I put the XML file under
jetty.base\webapps):


http://www.eclipse.org/jetty/configure_9_0.dtd;>

/ru
/../webapp/target/words-4.0.war


Then Jetty 10 reports the error:

2021-09-03 18:00:00.583:WARN :oejshC.ru:qtp1072410641-16: unavailable
java.lang.RuntimeException: java.lang.NoSuchMethodException:
de.afarber.WordsListener.()
at
org.eclipse.jetty.websocket.server.JettyWebSocketServlet$CustomizedWebSocketServletFactory.register(JettyWebSocketServlet.java:218)
at de.afarber.WordsServlet.configure(WordsServlet.java:646)
at
org.eclipse.jetty.websocket.server.JettyWebSocketServlet.init(JettyWebSocketServlet.java:168)
at de.afarber.WordsServlet.init(WordsServlet.java:652)
at javax.servlet.GenericServlet.init(GenericServlet.java:180)
at
org.eclipse.jetty.servlet.ServletHolder$Wrapper.init(ServletHolder.java:1305)
at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:633)
at
org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:486)
at
org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:731)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:580)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1571)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1372)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:463)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1544)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1294)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:192)
at
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:562)
at
org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:406)
at
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:663)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:398)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at
org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
at java.base/java.lang.Thread.run(Thread.java:834)

My WordsListener.java looks like:

import org.eclipse.jetty.util.ajax.JSON;
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.WebSocketListener;
import