EDIT - SEE POST 4 FOR SOLUTION <<<<<<<<< WRONG
EDIT - SEE POST 5 FOR SOLUTION <<<<<<<<<RIGHT
I have installed
https://www.b4x.com/android/forum/t...ginners-update-2022-09-08.117237/#post-733213
If I run it in debug mode it works fine when I use the Microsoft Edge browser with the URL "http://localhost:51042/template", it also disconnects cleanly when I close the browser - see log below:
I would really like to consider using ABMaterial but this seems to be a big speed hump.
Any suggestions welcome...
EDIT - SEE POST 5 FOR SOLUTION <<<<<<<<<RIGHT
I have installed
[ABMaterial/ABMServer] Mini Template for absolute beginners (update 2022/09/08)
as per:https://www.b4x.com/android/forum/t...ginners-update-2022-09-08.117237/#post-733213
If I run it in debug mode it works fine when I use the Microsoft Edge browser with the URL "http://localhost:51042/template", it also disconnects cleanly when I close the browser - see log below:
However if I run it in debug mode and use the Google Chrome browser (on the same PC) it goes into an endless loop, and issues a heap of "java.io.IOException: java.nio.channels.ClosedChannelException" errors when I close the browser - see log below:Waiting for debugger to connect...
Program started.
Start B4J Analyse!
When an error occurs, check the B4JAnalyse.log file in the Objects folder to see the last B4J line it was working on.
Collecting data from B4J source files... (1/2)
ABMCacheV3.bas
ABMPageTemplate.bas
Template.b4j
Analysing data from B4J source files... (2/2)
loading D:\Tree Tops\B4X\ABMMini\Template\Objects: copymewithjar.needs...
Using cache system: 3.0
Current App version: 1711245038656
Needs material/awesome icons
Building D:\Tree Tops\B4X\ABMMini\Template\Objects\copymewithjar.js.needs
Building core.min.1711245038656.css...
2024-03-24 12:50:38.964:INFO ejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 14.0.1+7
2024-03-24 12:50:39.030:INFO ejss.DefaultSessionIdManager:main: Session workerName=node0
2024-03-24 12:50:39.041:INFO ejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@639c2c1d{/,file:///D:/Tree%20Tops/B4X/ABMMini/Template/Objects/www/,AVAILABLE}
2024-03-24 12:50:39.048:INFO ejs.RequestLogWriter:main: Opened D:\Tree Tops\B4X\ABMMini\Template\Objects\logs\b4j-2024_03_24.request.log
2024-03-24 12:50:39.094:INFO ejs.AbstractConnector:main: Started ServerConnector@36b4cef0{HTTP/1.1, (http/1.1)}{0.0.0.0:51042}
2024-03-24 12:50:39.107:INFO ejs.Server:main: Started Server@2b4a2ec7{STARTING}[11.0.9,sto=0] @1063ms
Emulated network latency: 100ms
2024-03-24 12:50:39.109:INFO ejs.Server:main: Stopped Server@2b4a2ec7{STOPPING}[11.0.9,sto=0]
2024-03-24 12:50:39.114:INFO ejs.AbstractConnector:main: Stopped ServerConnector@36b4cef0{HTTP/1.1, (http/1.1)}{0.0.0.0:51042}
2024-03-24 12:50:39.117:INFO ejsh.ContextHandler:main: Stopped o.e.j.s.ServletContextHandler@639c2c1d{/,file:///D:/Tree%20Tops/B4X/ABMMini/Template/Objects/www/,STOPPED}
2024-03-24 12:50:39.121:INFO ejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 14.0.1+7
2024-03-24 12:50:39.124:INFO ejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@639c2c1d{/,file:///D:/Tree%20Tops/B4X/ABMMini/Template/Objects/www/,AVAILABLE}
2024-03-24 12:50:39.125:INFO ejs.RequestLogWriter:main: Opened D:\Tree Tops\B4X\ABMMini\Template\Objects\logs\b4j-2024_03_24.request.log
2024-03-24 12:50:39.125:INFO ejss.DefaultSessionIdManager:main: Session workerName=node0
2024-03-24 12:50:39.128:INFO ejs.AbstractConnector:main: Started ServerConnector@36b4cef0{HTTP/1.1, (http/1.1)}{0.0.0.0:51042}
2024-03-24 12:50:39.129:INFO ejs.Server:main: Started Server@2b4a2ec7{STARTING}[11.0.9,sto=0] @1086ms
Open with:
localhost:51042/template
null
null
Connected
Waiting for value (102 ms)
Waiting for value (101 ms)
Waiting for value (102 ms)
Disconnected
null
null
Connected
Waiting for value (103 ms)
Waiting for value (102 ms)
Waiting for value (102 ms)
Disconnected
null
null
Connected
Waiting for value (103 ms)
UpdateFromCache: ABMPageTemplate8a6d220f-6120-402b-8a4e-7abf7956f1d9
Saving the first instance
Waiting for value (101 ms)
Websocket first connection
Waiting for value (101 ms)
ABMPageTemplate8a6d220f-6120-402b-8a4e-7abf7956f1d9
null
null
preparing for url refresh
Disconnected
I have tried uninstalling/reinstalling Chrome but it made no difference.Waiting for debugger to connect...
Program started.
Start B4J Analyse!
When an error occurs, check the B4JAnalyse.log file in the Objects folder to see the last B4J line it was working on.
Collecting data from B4J source files... (1/2)
ABMCacheV3.bas
ABMPageTemplate.bas
Template.b4j
Analysing data from B4J source files... (2/2)
loading D:\Tree Tops\B4X\ABMMini\Template\Objects: copymewithjar.needs...
Using cache system: 3.0
Current App version: 1711244873302
Needs material/awesome icons
Building D:\Tree Tops\B4X\ABMMini\Template\Objects\copymewithjar.js.needs
Building core.min.1711244873302.css...
2024-03-24 12:47:53.575:INFO ejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 14.0.1+7
2024-03-24 12:47:53.631:INFO ejss.DefaultSessionIdManager:main: Session workerName=node0
2024-03-24 12:47:53.641:INFO ejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@639c2c1d{/,file:///D:/Tree%20Tops/B4X/ABMMini/Template/Objects/www/,AVAILABLE}
2024-03-24 12:47:53.647:INFO ejs.RequestLogWriter:main: Opened D:\Tree Tops\B4X\ABMMini\Template\Objects\logs\b4j-2024_03_24.request.log
2024-03-24 12:47:53.689:INFO ejs.AbstractConnector:main: Started ServerConnector@36b4cef0{HTTP/1.1, (http/1.1)}{0.0.0.0:51042}
2024-03-24 12:47:53.699:INFO ejs.Server:main: Started Server@2b4a2ec7{STARTING}[11.0.9,sto=0] @982ms
Emulated network latency: 100ms
2024-03-24 12:47:53.702:INFO ejs.Server:main: Stopped Server@2b4a2ec7{STOPPING}[11.0.9,sto=0]
2024-03-24 12:47:53.707:INFO ejs.AbstractConnector:main: Stopped ServerConnector@36b4cef0{HTTP/1.1, (http/1.1)}{0.0.0.0:51042}
2024-03-24 12:47:53.709:INFO ejsh.ContextHandler:main: Stopped o.e.j.s.ServletContextHandler@639c2c1d{/,file:///D:/Tree%20Tops/B4X/ABMMini/Template/Objects/www/,STOPPED}
2024-03-24 12:47:53.713:INFO ejs.Server:main: jetty-11.0.9; built: 2022-03-30T17:44:47.085Z; git: 243a48a658a183130a8c8de353178d154ca04f04; jvm 14.0.1+7
2024-03-24 12:47:53.715:INFO ejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@639c2c1d{/,file:///D:/Tree%20Tops/B4X/ABMMini/Template/Objects/www/,AVAILABLE}
2024-03-24 12:47:53.716:INFO ejs.RequestLogWriter:main: Opened D:\Tree Tops\B4X\ABMMini\Template\Objects\logs\b4j-2024_03_24.request.log
2024-03-24 12:47:53.716:INFO ejss.DefaultSessionIdManager:main: Session workerName=node0
2024-03-24 12:47:53.719:INFO ejs.AbstractConnector:main: Started ServerConnector@36b4cef0{HTTP/1.1, (http/1.1)}{0.0.0.0:51042}
2024-03-24 12:47:53.720:INFO ejs.Server:main: Started Server@2b4a2ec7{STARTING}[11.0.9,sto=0] @1002ms
Open with:
localhost:51042/template
null
null
Connected
Waiting for value (101 ms)
Waiting for value (101 ms)
Waiting for value (100 ms)
Disconnected
null
null
Connected
Waiting for value (114 ms)
Waiting for value (103 ms)
Waiting for value (100 ms)
Disconnected
null
null
Connected
Waiting for value (104 ms)
Waiting for value (101 ms)
Waiting for value (104 ms)
Disconnected
null
null
Connected
Waiting for value (113 ms)
Waiting for value (102 ms)
Waiting for value (101 ms)
Disconnected
null
null
Connected
Waiting for value (103 ms)
Waiting for value (101 ms)
Waiting for value (103 ms)
Disconnected
null
null
Connected
Waiting for value (102 ms)
Waiting for value (102 ms)
Waiting for value (101 ms)
Disconnected
null
null
Connected
Waiting for value (103 ms)
Waiting for value (101 ms)
Waiting for value (100 ms)
Disconnected
null
null
Connected
Waiting for value (101 ms)
Waiting for value (101 ms)
Waiting for value (101 ms)
Disconnected
null
null
Connected
Waiting for value (100 ms)
Waiting for value (101 ms)
Waiting for value (101 ms)
Disconnected
null
null
Connected
Waiting for value (107 ms)
Waiting for value (101 ms)
Waiting for value (101 ms)
Disconnected
null
null
Connected
Waiting for value (114 ms)
Waiting for value (103 ms)
Waiting for value (101 ms)
Disconnected
null
null
Connected
Waiting for value (101 ms)
Waiting for value (101 ms)
Waiting for value (102 ms)
Disconnected
null
null
Connected
Waiting for value (103 ms)
Waiting for value (100 ms)
Waiting for value (102 ms)
Disconnected
null
null
Connected
Waiting for value (100 ms)
java.io.IOException: java.nio.channels.ClosedChannelException
at org.eclipse.jetty.util.FutureCallback.block(FutureCallback.java:163)
at org.eclipse.jetty.websocket.common.JettyWebSocketRemoteEndpoint.flush(JettyWebSocketRemoteEndpoint.java:267)
at anywheresoftware.b4j.object.WebSocket.Flush(WebSocket.java:117)
at anywheresoftware.b4j.object.WebSocketModule$Adapter$ThreadHandler.run(WebSocketModule.java:205)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.JServlet.createInstance(JServlet.java:81)
at anywheresoftware.b4j.object.BackgroundWorkersManager$1.run(BackgroundWorkersManager.java:40)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at com.ab.template.main.main(main.java:29)
Caused by: java.nio.channels.ClosedChannelException
at org.eclipse.jetty.websocket.core.internal.FrameFlusher.enqueue(FrameFlusher.java:155)
at org.eclipse.jetty.websocket.core.internal.WebSocketConnection.enqueueFrame(WebSocketConnection.java:639)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$OutgoingAdaptor.sendFrame(WebSocketCoreSession.java:723)
at org.eclipse.jetty.websocket.core.AbstractExtension.nextOutgoingFrame(AbstractExtension.java:150)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension.nextOutgoingFrame(PerMessageDeflateExtension.java:238)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$OutgoingFlusher.deflate(PerMessageDeflateExtension.java:347)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$OutgoingFlusher.transform(PerMessageDeflateExtension.java:281)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher$Flusher.process(TransformingFlusher.java:127)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher.sendFrame(TransformingFlusher.java:75)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension.sendFrame(PerMessageDeflateExtension.java:87)
at org.eclipse.jetty.websocket.core.internal.ExtensionStack.sendFrame(ExtensionStack.java:242)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$Flusher.forwardFrame(WebSocketCoreSession.java:814)
at org.eclipse.jetty.websocket.core.internal.FragmentingFlusher.onFrame(FragmentingFlusher.java:50)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher$Flusher.process(TransformingFlusher.java:120)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher.sendFrame(TransformingFlusher.java:75)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession.flush(WebSocketCoreSession.java:549)
at org.eclipse.jetty.websocket.common.JettyWebSocketRemoteEndpoint.flush(JettyWebSocketRemoteEndpoint.java:266)
at anywheresoftware.b4j.object.WebSocket.Flush(WebSocket.java:117)
at anywheresoftware.b4j.object.WebSocket$SimpleFuture.getValue(WebSocket.java:73)
at com.ab.abmaterial.ABMPage.WebsocketReconnected(ABMPage.java:4609)
at com.ab.template.abmapplication._websocket_connected(abmapplication.java:549)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:629)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:237)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.WebSocketModule$Adapter$ThreadHandler.run(WebSocketModule.java:204)
... 29 more
Disconnected
java.lang.NullPointerException
at anywheresoftware.b4j.object.WebSocketModule$Adapter$1.run(WebSocketModule.java:142)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.JServlet.createInstance(JServlet.java:81)
at anywheresoftware.b4j.object.BackgroundWorkersManager$1.run(BackgroundWorkersManager.java:40)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at com.ab.template.main.main(main.java:29)
java.io.IOException: java.nio.channels.ClosedChannelException
at org.eclipse.jetty.util.FutureCallback.block(FutureCallback.java:163)
at org.eclipse.jetty.websocket.common.JettyWebSocketRemoteEndpoint.flush(JettyWebSocketRemoteEndpoint.java:267)
at anywheresoftware.b4j.object.WebSocket.Flush(WebSocket.java:117)
at anywheresoftware.b4j.object.WebSocketModule$Adapter$1.run(WebSocketModule.java:147)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.JServlet.createInstance(JServlet.java:81)
at anywheresoftware.b4j.object.BackgroundWorkersManager$1.run(BackgroundWorkersManager.java:40)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at com.ab.template.main.main(main.java:29)
Caused by: java.nio.channels.ClosedChannelException
at org.eclipse.jetty.websocket.core.internal.FrameFlusher.enqueue(FrameFlusher.java:155)
at org.eclipse.jetty.websocket.core.internal.WebSocketConnection.enqueueFrame(WebSocketConnection.java:639)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$OutgoingAdaptor.sendFrame(WebSocketCoreSession.java:723)
at org.eclipse.jetty.websocket.core.AbstractExtension.nextOutgoingFrame(AbstractExtension.java:150)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension.nextOutgoingFrame(PerMessageDeflateExtension.java:238)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$OutgoingFlusher.deflate(PerMessageDeflateExtension.java:347)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$OutgoingFlusher.transform(PerMessageDeflateExtension.java:281)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher$Flusher.process(TransformingFlusher.java:127)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher.sendFrame(TransformingFlusher.java:75)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension.sendFrame(PerMessageDeflateExtension.java:87)
at org.eclipse.jetty.websocket.core.internal.ExtensionStack.sendFrame(ExtensionStack.java:242)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$Flusher.forwardFrame(WebSocketCoreSession.java:814)
at org.eclipse.jetty.websocket.core.internal.FragmentingFlusher.onFrame(FragmentingFlusher.java:50)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher$Flusher.process(TransformingFlusher.java:120)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher.sendFrame(TransformingFlusher.java:75)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession.flush(WebSocketCoreSession.java:549)
at org.eclipse.jetty.websocket.common.JettyWebSocketRemoteEndpoint.flush(JettyWebSocketRemoteEndpoint.java:266)
at anywheresoftware.b4j.object.WebSocket.Flush(WebSocket.java:117)
at anywheresoftware.b4j.object.WebSocket$SimpleFuture.getValue(WebSocket.java:73)
at com.ab.abmaterial.ABMPage.WebsocketReconnected(ABMPage.java:4609)
at com.ab.template.abmapplication._websocket_connected(abmapplication.java:549)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:629)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:237)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.WebSocketModule$Adapter$ThreadHandler.run(WebSocketModule.java:204)
... 29 more
java.lang.NullPointerException
at anywheresoftware.b4j.object.WebSocketModule$Adapter$1.run(WebSocketModule.java:142)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.JServlet.createInstance(JServlet.java:81)
at anywheresoftware.b4j.object.BackgroundWorkersManager$1.run(BackgroundWorkersManager.java:40)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at com.ab.template.main.main(main.java:29)
java.io.IOException: java.nio.channels.ClosedChannelException
at org.eclipse.jetty.util.FutureCallback.block(FutureCallback.java:163)
at org.eclipse.jetty.websocket.common.JettyWebSocketRemoteEndpoint.flush(JettyWebSocketRemoteEndpoint.java:267)
at anywheresoftware.b4j.object.WebSocket.Flush(WebSocket.java:117)
at anywheresoftware.b4j.object.WebSocketModule$Adapter$1.run(WebSocketModule.java:147)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.JServlet.createInstance(JServlet.java:81)
at anywheresoftware.b4j.object.BackgroundWorkersManager$1.run(BackgroundWorkersManager.java:40)
at anywheresoftware.b4a.keywords.SimpleMessageLoop.runMessageLoop(SimpleMessageLoop.java:47)
at anywheresoftware.b4a.StandardBA.startMessageLoop(StandardBA.java:43)
at anywheresoftware.b4a.shell.ShellBA.startMessageLoop(ShellBA.java:121)
at anywheresoftware.b4a.keywords.Common.StartMessageLoop(Common.java:180)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:309)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at com.ab.template.main.main(main.java:29)
Caused by: java.nio.channels.ClosedChannelException
at org.eclipse.jetty.websocket.core.internal.FrameFlusher.enqueue(FrameFlusher.java:155)
at org.eclipse.jetty.websocket.core.internal.WebSocketConnection.enqueueFrame(WebSocketConnection.java:639)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$OutgoingAdaptor.sendFrame(WebSocketCoreSession.java:723)
at org.eclipse.jetty.websocket.core.AbstractExtension.nextOutgoingFrame(AbstractExtension.java:150)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension.nextOutgoingFrame(PerMessageDeflateExtension.java:238)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$OutgoingFlusher.deflate(PerMessageDeflateExtension.java:347)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension$OutgoingFlusher.transform(PerMessageDeflateExtension.java:281)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher$Flusher.process(TransformingFlusher.java:127)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher.sendFrame(TransformingFlusher.java:75)
at org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension.sendFrame(PerMessageDeflateExtension.java:87)
at org.eclipse.jetty.websocket.core.internal.ExtensionStack.sendFrame(ExtensionStack.java:242)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$Flusher.forwardFrame(WebSocketCoreSession.java:814)
at org.eclipse.jetty.websocket.core.internal.FragmentingFlusher.onFrame(FragmentingFlusher.java:50)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher$Flusher.process(TransformingFlusher.java:120)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:232)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:214)
at org.eclipse.jetty.websocket.core.internal.TransformingFlusher.sendFrame(TransformingFlusher.java:75)
at org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession.flush(WebSocketCoreSession.java:549)
at org.eclipse.jetty.websocket.common.JettyWebSocketRemoteEndpoint.flush(JettyWebSocketRemoteEndpoint.java:266)
at anywheresoftware.b4j.object.WebSocket.Flush(WebSocket.java:117)
at anywheresoftware.b4j.object.WebSocket$SimpleFuture.getValue(WebSocket.java:73)
at com.ab.abmaterial.ABMPage.WebsocketReconnected(ABMPage.java:4609)
at com.ab.template.abmapplication._websocket_connected(abmapplication.java:549)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:629)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:237)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:167)
at jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:111)
at anywheresoftware.b4a.shell.ShellBA.raiseEvent2(ShellBA.java:100)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
at anywheresoftware.b4j.object.WebSocketModule$Adapter$ThreadHandler.run(WebSocketModule.java:204)
... 29 more
I would really like to consider using ABMaterial but this seems to be a big speed hump.
Any suggestions welcome...
Last edited: