Hi Guys, In our implementation, we have a gateway app that uses jsr websockets to communication with our main application server. In a small system, we want to run them both on a single Tomcat instance using the same Tomcat NIO connector, but directing to different respective WS paths. This works fine if you deploy the MAIN first, then the GW - so that MAIN is already up and running. If you restart Tomcat when both webapps are deployed - and the GW (client) starts first, it hangs indefinitely in the following code trying to establish a WS connection:
Is this a bug or a known limitation when a client/server in the same webapp try to connect at startup? Thanks "localhost-startStop-1" daemon prio=6 tid=0x000000000ef0f800 nid=0x1624 waiting on condition [0x000000001046e000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000007d6d98b18> (a java.util.concurrent.CountDownLatch$Sync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303) at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236) at sun.nio.ch.PendingFuture.get(PendingFuture.java:180) at org.apache.tomcat.websocket.WsWebSocketContainer.processResponse(WsWebSocketContainer.java:568) at org.apache.tomcat.websocket.WsWebSocketContainer.connectToServer(WsWebSocketContainer.java:317) at com.thingworx.core.communication.channels.jsr356.client.Jsr356ClientChannel.connect(Jsr356ClientChannel.java:57) at com.thingworx.core.communication.endpoints.CommunicationEndpoint.connect(CommunicationEndpoint.java:186) at com.thingworx.core.communication.CommunicationSubsystem.startSubsystem(CommunicationSubsystem.java:88) at com.thingworx.core.subsystems.SubsystemBase.start(SubsystemBase.java:48) at com.thingworx.apiserver.APIServerManager.startSubsystem(APIServerManager.java:92) at com.thingworx.core.subsystems.SubsystemBase.start(SubsystemBase.java:48) at com.thingworx.apiserver.Bootstrapper.contextInitialized(Bootstrapper.java:57) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) - locked <0x00000007da3e0308> (a org.apache.catalina.core.StandardContext) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) - locked <0x00000007da3e0308> (a org.apache.catalina.core.StandardContext) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Locked ownable synchronizers: - <0x00000007da3a7ab0> (a java.util.concurrent.ThreadPoolExecutor$Worker) Bob DeRemer Senior Director, Architecture and Development [Description: Description: Description: Description: cid:image001.png@01CBE3DE.51A12030] http://www.thingworx.com<http://www.thingworx.com/> Skype: bob.deremer.thingworx O: 610.594.6200 x812 M: 717.881.3986