Importing a .servoy solution file into Tomcat

Hi

I have setup a Tomcat and deployed a NG only project (Servoy 8 ), i. e. I uploaded the WAR-file on the http://localhost:8181/manager/html page of Tomcat. This works fine and I can see the deployed solution (HadesNGEnrolment) on http://localhost:8181/HadesNGEnrolment/ … /solutions.

Then I tried to import a second solution, being a .servoy file (SmartClient) by the button “Import a solution”. This is a Servoy 7 solution.

The import gives two [warning] and a [info] message, then hangs. Now I am not sure if this scenario does work at all?

Regards,

That should work, as long as rmi is enabled for a smartclient.
Does it really hang after import? What does hanging mean here?

It never says finished import? If you open another tab to the admin page, and you generate a stack dump can you show us that?

jcompagner:
That should work, as long as rmi is enabled for a smartclient

I thought WAR deployments via Tomcat were supposed to always be re-deployed with WAR’s (not importing .servoy solutions to it afterwards). Odd stuff seems to happen when I do that, so I’ve stuck to WARs

no that should just work fine, we didn’t have “export active solution” when we introduced WAR support

WAR support in the basic is nothing more then the servoy runtime, if you don’t include an active solution the only thing you do is generating a “application_server” install as a WAR where you have to import just like before

What can’t or shouldn’t be done is export the active solution and then trying to import that same solution (or any modules that came alone with the export) that will not work, the exported solution/modules are always used.

But other solution not being in the set of the exported solutions should work fine, we read first everything from the repository if they are there, then the serialized solutions in the war are added (and they overwrite existing solutions with the same name)

HI Johan

Sorry for my delay, i was away. If you mean the server log, here a screenshot.

jcompagner:
That should work, as long as rmi is enabled for a smartclient.
Does it really hang after import? What does hanging mean here?

It never says finished import? If you open another tab to the admin page, and you generate a stack dump can you show us that?

jcompagner:
no that should just work fine, we didn’t have “export active solution” when we introduced WAR support)

Is importing of a Servoy 7 .servoy solution supported? Or does it have to be a Servoy 8 exported solution?

Hi Robert,

To create a stack dump you go to the home of the servoy admin page and at the header you see the following link:

[attachment=0]stackdump-servoy-server.png[/attachment]
Click that and you see a large text area with the stack dump for you to copy/paste.

Hope this helps.

importing a servoy 7 solution file should be fine
But when exporting i need a stack dump like robert explained. Not the log like that
If you attach a log never make a screen dump but just include the log file itself as text.

You are very helpful, Robert. Thanks!

ROCLASI:
Hi Robert,

To create a stack dump you go to the home of the servoy admin page and at the header you see the following link:

[attachment=0]stackdump-servoy-server.png[/attachment]
Click that and you see a large text area with the stack dump for you to copy/paste.

Hope this helps.

Second try :-o

And yes, it never says finished import.

Current time: Tue Oct 18 16:21:28 CEST 2016

Server Information
Servoy version 8.0.3 -build 3025
Port used by RMI Registry: 1099
Repository version 47

Current time: Tue Oct 18 16:21:28 CEST 2016

Uptime:  53 minutes 22 seconds

JDK Information
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.version=1.8.0_101
java.vm.info=mixed mode
java.vm.vendor=Oracle Corporation

Operating System Information
os.name=Mac OS X
os.version=10.11.6
os.arch=x86_64

System Information
Heap Space Memory: allocated=868864K, used=508091K, max=3728384K
Non-Heap Space Memory: allocated=117848K, used=114663K, max=0K
Number of Processors: 8

Thread: pool-5-thread-4, state: WAITING, total cpu time: 0.185ms, total user time: 0.07ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-6-thread-2, state: WAITING, total cpu time: 2.625ms, total user time: 1.683ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-2-thread-2, state: WAITING, total cpu time: 0.568ms, total user time: 0.451ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-5-thread-3, state: WAITING, total cpu time: 1.024ms, total user time: 0.762ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-1-thread-3, state: TIMED_WAITING, total cpu time: 0.178ms, total user time: 0.081ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: Java2D Disposer, state: WAITING, total cpu time: 0.112ms, total user time: 0.043ms
  java.lang.Object.wait(Native Method)
  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
  sun.java2d.Disposer.run(Disposer.java:148)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-10, state: RUNNABLE, total cpu time: 247.83ms, total user time: 205.045ms
  sun.management.ThreadImpl.getThreadInfo1(Native Method)
  sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:176)
  sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:139)
  com.servoy.j2db.server.servlets.ConfigServlet.Zt(ConfigServlet.java:455)
  com.servoy.j2db.server.servlets.ConfigServlet.service(ConfigServlet.java:2949)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
  org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
  org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
  org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
  org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
  org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-9, state: WAITING, total cpu time: 56.121ms, total user time: 47.354ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-8, state: WAITING, total cpu time: 138.565ms, total user time: 114.881ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-7, state: BLOCKED, total cpu time: 2665.18ms, total user time: 2562.595ms, blocked by: http-nio-8181-exec-1 on com.servoy.j2db.server.Za.Za@3105315f
  com.servoy.j2db.persistence.AbstractRepository.getRepositoryUUID(AbstractRepository.java:81)
  com.servoy.j2db.server.Zc.Zhb.Za(Zhb.java:336)
  com.servoy.j2db.server.Zc.Zhb.importFromJarFile(Zhb.java:179)
  com.servoy.j2db.server.servlets.ConfigServlet.Zl(ConfigServlet.java:2322)
  com.servoy.j2db.server.servlets.ConfigServlet.service(ConfigServlet.java:2234)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
  org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
  org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
  org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
  org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
  org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-6, state: WAITING, total cpu time: 314.49ms, total user time: 281.477ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-5, state: WAITING, total cpu time: 97.309ms, total user time: 83.252ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-4, state: WAITING, total cpu time: 558.673ms, total user time: 535.664ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-3, state: WAITING, total cpu time: 193.874ms, total user time: 163.252ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-2, state: WAITING, total cpu time: 102.22ms, total user time: 86.009ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:103)
  org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:31)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-exec-1, state: RUNNABLE, total cpu time: 1415.527ms, total user time: 1329.436ms
  java.net.SocketInputStream.socketRead0(Native Method)
  java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
  java.net.SocketInputStream.read(SocketInputStream.java:170)
  java.net.SocketInputStream.read(SocketInputStream.java:141)
  com.sybase.jdbc3.timedio.RawDbio.reallyRead(Unknown Source)
  com.sybase.jdbc3.timedio.Dbio.doRead(Unknown Source)
  com.sybase.jdbc3.timedio.InStreamMgr.a(Unknown Source)
  com.sybase.jdbc3.timedio.InStreamMgr.doRead(Unknown Source)
  com.sybase.jdbc3.tds.TdsProtocolContext.getChunk(Unknown Source)
  com.sybase.jdbc3.tds.PduInputFormatter.a(Unknown Source)
  com.sybase.jdbc3.tds.PduInputFormatter.read(Unknown Source)
  com.sybase.jdbc3.tds.TdsInputStream.read(Unknown Source)
  com.sybase.jdbc3.tds.TdsInputStream.readUnsignedByte(Unknown Source)
  com.sybase.jdbc3.tds.Tds.nextResult(Unknown Source)
  com.sybase.jdbc3.jdbc.ResultGetter.nextResult(Unknown Source)
  com.sybase.jdbc3.jdbc.SybStatement.nextResult(Unknown Source)
  com.sybase.jdbc3.jdbc.SybStatement.nextResult(Unknown Source)
  com.sybase.jdbc3.jdbc.SybStatement.queryLoop(Unknown Source)
  com.sybase.jdbc3.jdbc.SybStatement.executeQuery(Unknown Source)
  com.sybase.jdbc3.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
  sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  java.lang.reflect.Method.invoke(Method.java:498)
  com.servoy.j2db.datasource.Zg.invoke(Zg.java:14)
  com.sun.proxy.$Proxy15.executeQuery(Unknown Source)
  org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
  org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
  org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
  org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
  com.servoy.j2db.server.Za.Za.Zj(Za.java:1854)
  com.servoy.j2db.server.Za.Za.removeRootObject(Za.java:1559)
  com.servoy.j2db.server.Za.Za.deleteStringResource(Za.java:161)
  com.servoy.j2db.server.Zc.Zo.getRootObjectNameForImport(Zo.java:68)
  com.servoy.j2db.server.Zc.Zhb.Za(Zhb.java:229)
  com.servoy.j2db.server.Zc.Zhb.importFromJarFile(Zhb.java:179)
  com.servoy.j2db.server.servlets.ConfigServlet.Zl(ConfigServlet.java:2322)
  com.servoy.j2db.server.servlets.ConfigServlet.service(ConfigServlet.java:2234)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
  org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
  org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
  org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
  org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
  org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
  org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  java.lang.Thread.run(Thread.java:745)

Thread: ajp-nio-8009-AsyncTimeout, state: TIMED_WAITING, total cpu time: 242.693ms, total user time: 106.185ms
  java.lang.Thread.sleep(Native Method)
  org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:1137)
  java.lang.Thread.run(Thread.java:745)

Thread: ajp-nio-8009-Acceptor-0, state: RUNNABLE, total cpu time: 0.784ms, total user time: 0.659ms
  sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
  sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
  sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
  org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:456)
  java.lang.Thread.run(Thread.java:745)

Thread: ajp-nio-8009-ClientPoller-1, state: RUNNABLE, total cpu time: 219.748ms, total user time: 96.957ms
  sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
  sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
  sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:790)
  java.lang.Thread.run(Thread.java:745)

Thread: ajp-nio-8009-ClientPoller-0, state: RUNNABLE, total cpu time: 221.514ms, total user time: 97.908ms
  sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
  sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
  sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:790)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-AsyncTimeout, state: TIMED_WAITING, total cpu time: 241.727ms, total user time: 104.173ms
  java.lang.Thread.sleep(Native Method)
  org.apache.coyote.AbstractProtocol$AsyncTimeout.run(AbstractProtocol.java:1137)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-Acceptor-0, state: RUNNABLE, total cpu time: 15.122ms, total user time: 13.133ms
  sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
  sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
  sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
  org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:456)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-ClientPoller-1, state: RUNNABLE, total cpu time: 233.138ms, total user time: 129.1ms
  sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
  sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
  sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:790)
  java.lang.Thread.run(Thread.java:745)

Thread: http-nio-8181-ClientPoller-0, state: RUNNABLE, total cpu time: 244.669ms, total user time: 124.503ms
  sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
  sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
  sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  org.apache.tomcat.util.net.NioEndpoint$Poller.run(NioEndpoint.java:790)
  java.lang.Thread.run(Thread.java:745)

Thread: ContainerBackgroundProcessor[StandardEngine[Catalina]], state: TIMED_WAITING, total cpu time: 670.774ms, total user time: 462.716ms
  java.lang.Thread.sleep(Native Method)
  org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1339)
  java.lang.Thread.run(Thread.java:745)

Thread: ModificationWatcher Task, state: TIMED_WAITING, total cpu time: 71.825ms, total user time: 41.39ms
  java.lang.Thread.sleep(Native Method)
  org.apache.wicket.util.time.Duration.sleep(Duration.java:445)
  org.apache.wicket.util.thread.Task$1.run(Task.java:130)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-5-thread-2, state: TIMED_WAITING, total cpu time: 19.894ms, total user time: 16.673ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: RMI Reaper, state: WAITING, total cpu time: 0.13ms, total user time: 0.052ms
  java.lang.Object.wait(Native Method)
  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
  sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:351)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-6-thread-1, state: TIMED_WAITING, total cpu time: 2.627ms, total user time: 1.984ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: PingScanner, state: TIMED_WAITING, total cpu time: 1.729ms, total user time: 1.193ms
  java.lang.Object.wait(Native Method)
  com.servoy.j2db.server.dataprocessing.Zp.run(Zp.java:22)
  java.lang.Thread.run(Thread.java:745)

Thread: MessageScheduler, state: TIMED_WAITING, total cpu time: 12.255ms, total user time: 10.565ms
  java.lang.Object.wait(Native Method)
  com.servoy.j2db.server.dataprocessing.Zr.run(Zr.java:44)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-5-thread-1, state: WAITING, total cpu time: 951.498ms, total user time: 790.184ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: RMI TCP Accept-1099, state: WAITING, total cpu time: 0.222ms, total user time: 0.137ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  com.sebster.tunnel.impl.kd.accept(kd.java:45)
  com.sebster.tunnel.TunnelServerSocket.accept(TunnelServerSocket.java:29)
  com.sebster.tunnel.TunnelServerSocket.accept(TunnelServerSocket.java:33)
  com.servoy.j2db.rmi.compressing.CompressingServerSocket.accept(CompressingServerSocket.java:46)
  sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
  sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
  java.lang.Thread.run(Thread.java:745)

Thread: acceptor-0.0.0.0/0.0.0.0:1099, state: RUNNABLE, total cpu time: 0.601ms, total user time: 0.513ms
  java.net.PlainSocketImpl.socketAccept(Native Method)
  java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
  java.net.ServerSocket.implAccept(ServerSocket.java:545)
  java.net.ServerSocket.accept(ServerSocket.java:513)
  com.sebster.tunnel.socket.ServerSocketSocketAcceptor.accept(ServerSocketSocketAcceptor.java:8)
  com.sebster.tunnel.impl.c.run(c.java:5)
  java.lang.Thread.run(Thread.java:745)

Thread: httptunnel-server-reaper, state: TIMED_WAITING, total cpu time: 8.35ms, total user time: 5.09ms
  java.lang.Object.wait(Native Method)
  java.util.TimerThread.mainLoop(Timer.java:552)
  java.util.TimerThread.run(Timer.java:505)

Thread: ModificationWatcher Task, state: TIMED_WAITING, total cpu time: 73.017ms, total user time: 42.623ms
  java.lang.Thread.sleep(Native Method)
  org.apache.wicket.util.time.Duration.sleep(Duration.java:445)
  org.apache.wicket.util.thread.Task$1.run(Task.java:130)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-3-thread-2, state: TIMED_WAITING, total cpu time: 0.103ms, total user time: 0.045ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-4-thread-1, state: TIMED_WAITING, total cpu time: 2.707ms, total user time: 2.004ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: PingScanner, state: TIMED_WAITING, total cpu time: 0.122ms, total user time: 0.067ms
  java.lang.Object.wait(Native Method)
  com.servoy.j2db.server.dataprocessing.Zp.run(Zp.java:22)
  java.lang.Thread.run(Thread.java:745)

Thread: MessageScheduler, state: TIMED_WAITING, total cpu time: 0.139ms, total user time: 0.078ms
  java.lang.Object.wait(Native Method)
  com.servoy.j2db.server.dataprocessing.Zr.run(Zr.java:44)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-3-thread-1, state: WAITING, total cpu time: 307.593ms, total user time: 253.543ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: ModificationWatcher Task, state: TIMED_WAITING, total cpu time: 72.334ms, total user time: 41.92ms
  java.lang.Thread.sleep(Native Method)
  org.apache.wicket.util.time.Duration.sleep(Duration.java:445)
  org.apache.wicket.util.thread.Task$1.run(Task.java:130)
  java.lang.Thread.run(Thread.java:745)

Thread: AWT-AppKit, state: RUNNABLE, total cpu time: 7.596ms, total user time: 4.619ms

Thread: pool-1-thread-2, state: WAITING, total cpu time: 27.94ms, total user time: 24.859ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-2-thread-1, state: TIMED_WAITING, total cpu time: 2.882ms, total user time: 2.134ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: PingScanner, state: TIMED_WAITING, total cpu time: 0.325ms, total user time: 0.194ms
  java.lang.Object.wait(Native Method)
  com.servoy.j2db.server.dataprocessing.Zp.run(Zp.java:22)
  java.lang.Thread.run(Thread.java:745)

Thread: MessageScheduler, state: TIMED_WAITING, total cpu time: 0.206ms, total user time: 0.095ms
  java.lang.Object.wait(Native Method)
  com.servoy.j2db.server.dataprocessing.Zr.run(Zr.java:44)
  java.lang.Thread.run(Thread.java:745)

Thread: pool-1-thread-1, state: WAITING, total cpu time: 283.407ms, total user time: 233.65ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
  java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  java.lang.Thread.run(Thread.java:745)

Thread: NioBlockingSelector.BlockPoller-2, state: RUNNABLE, total cpu time: 213.051ms, total user time: 82.368ms
  sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
  sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
  sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:339)

Thread: NioBlockingSelector.BlockPoller-1, state: RUNNABLE, total cpu time: 218.849ms, total user time: 91.267ms
  sun.nio.ch.KQueueArrayWrapper.kevent0(Native Method)
  sun.nio.ch.KQueueArrayWrapper.poll(KQueueArrayWrapper.java:198)
  sun.nio.ch.KQueueSelectorImpl.doSelect(KQueueSelectorImpl.java:117)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller.run(NioBlockingSelector.java:339)

Thread: GC Daemon, state: TIMED_WAITING, total cpu time: 0.122ms, total user time: 0.064ms
  java.lang.Object.wait(Native Method)
  sun.misc.GC$Daemon.run(GC.java:117)

Thread: AsyncFileHandlerWriter-1554547125, state: TIMED_WAITING, total cpu time: 315.635ms, total user time: 182.0ms
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.LinkedBlockingDeque.pollFirst(LinkedBlockingDeque.java:522)
  java.util.concurrent.LinkedBlockingDeque.poll(LinkedBlockingDeque.java:684)
  org.apache.juli.AsyncFileHandler$LoggerThread.run(AsyncFileHandler.java:152)

Thread: Signal Dispatcher, state: RUNNABLE, total cpu time: 0.074ms, total user time: 0.024ms

Thread: Finalizer, state: WAITING, total cpu time: 36.467ms, total user time: 27.972ms
  java.lang.Object.wait(Native Method)
  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
  java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
  java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

Thread: Reference Handler, state: WAITING, total cpu time: 23.154ms, total user time: 19.091ms
  java.lang.Object.wait(Native Method)
  java.lang.Object.wait(Object.java:502)
  java.lang.ref.Reference.tryHandlePending(Reference.java:191)
  java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

Thread: main, state: RUNNABLE, total cpu time: 642.241ms, total user time: 588.747ms
  java.net.PlainSocketImpl.socketAccept(Native Method)
  java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
  java.net.ServerSocket.implAccept(ServerSocket.java:545)
  java.net.ServerSocket.accept(ServerSocket.java:513)
  org.apache.catalina.core.StandardServer.await(StandardServer.java:466)
  org.apache.catalina.startup.Catalina.await(Catalina.java:743)
  org.apache.catalina.startup.Catalina.start(Catalina.java:689)
  sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  java.lang.reflect.Method.invoke(Method.java:498)
  org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:355)
  org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:495)

jcompagner:
That should work, as long as rmi is enabled for a smartclient.
Does it really hang after import? What does hanging mean here?

It never says finished import? If you open another tab to the admin page, and you generate a stack dump can you show us that?

I see you already try it twice, but it hangs on the database.
It tries to overwrite a style in the repository, by deleting it and then inserting a new one, the deletion of the style just blocks somehow

Is that servoy server the only one accessing the sybase repository server?

If you fully restart everything, including the database and then really only start that servoy server and only do an import, if it then hangs again then we have to see what lock that is

If one is hanging then doing it again will never help. That will only make things worse

As you say I did it twice. I will tomorrow try what you suggest, but as I already did it some time ago, I don’t give it a good chance.

Hi Johan

Thank you for this hint. That helped. We did delete the style and imported the solution successfully into our context 7r, containing only a servoy application server (and plugins) as you described.

Could you please clarify some further questions?

  1. Can we deploy a NGClient (WAR) into this context? So that a SmartClient and an NG Client run on the same Servoy Application Server? So that they benefit from data broadcasting? Since the WAR-file includes “everything”, we guess no.

  2. For the UserManager Plugin (during login/authenticate of our SmartClient) we now get the error message: UserManagerService cannot be startet for a not authenticated client. Do you know, if this should work as before? Or are there limitations for that plugin?

  3. Could you explain in more detail or other words, what your following explanation means exactly? We are unsure about the meaning of “exported solutions”.

What can’t or shouldn’t be done is export the active solution and then trying to import that same solution (or any modules that came alone with the export) that will not work, the exported solution/modules are always used.

But other solution not being in the set of the exported solutions should work fine, we read first everything from the repository if they are there, then the serialized solutions in the war are added (and they overwrite existing solutions with the same name)

We appreciate your help. Kind regards

rieder:

  1. Can we deploy a NGClient (WAR) into this context? So that a SmartClient and an NG Client run on the same Servoy Application Server? So that they benefit from data broadcasting? Since the WAR-file includes “everything”, we guess no.

yes that will work fine, the only thing is if you start from Smart/Web and you didn’t export any solution (so only solution imports)
Then you have to make sure if you import a NGClient solution that you did select all the components and services of the ngclient when you created the WAR

Because if you use 3th party components (WebPackageManager for example) and those are updated then you need to recreate the WAR
Any change to component,service or layout packages has to go into a new war, you can’t just import a ngclient solution itself which doesn’t contain that stuff.

So every time you just import a ngclient solution, you have to ask yourself does this WAR when i created it has all the right components/services that this ngclient solution uses.

rieder:
2. For the UserManager Plugin (during login/authenticate of our SmartClient) we now get the error message: UserManagerService cannot be startet for a not authenticated client. Do you know, if this should work as before? Or are there limitations for that plugin?

don’t think that should a difference between 7.4.x and 8.x
thats just our security model that was already in place for quite some time (i think since 5.2)

we have a setting for this at the admin page: servoy.application_server.trustedRemotePlugins
did you change that setting somehow in in your 7.4 installation ?

with that setting you can open the user manager to be able to be called even if the smart client user is not authenticated yet (this means everybody from the outside world can access, call it)
Its better to do this through a authenticator

rieder:
3. Could you explain in more detail or other words, what your following explanation means exactly? We are unsure about the meaning of “exported solutions”.

What can’t or shouldn’t be done is export the active solution and then trying to import that same solution (or any modules that came alone with the export) that will not work, the exported solution/modules are always used.

But other solution not being in the set of the exported solutions should work fine, we read first everything from the repository if they are there, then the serialized solutions in the war are added (and they overwrite existing solutions with the same name)

exported solution/modules are the once that you export right away when creating a WAR (export active solution)

So if you make a WAR and in the WAR export wizard you check to export the active solution (and its modules) then those will always be leading.
You can’t overwrit those through export solution (.servoy file) and importing that in that WAR which already contained that solution through the WAR export directly

Our experience with importing a .servoy solution into Tomcat after an initial WAR deployment have not been very good. We had a situation where everything worked perfectly in Developer. We then deployed a .servoy solution file to an existing server. It imported fine, but we started getting several weird errors that we have never seen before. They were not reproducible in Developer. We then did a WAR deployment again, and the errors went away. We then deployed a .servoy solution again to test if that was the issue, and sure enough, the errors came back. Redeployed the same WAR, and errors gone again.

So, it seems like there is something different on a .servoy deployment vs WAR deployment. At this point, we are having to do WAR deployments for every solution change, even if no components are being modified.

Using Servoy 8.0 on CentOS running Java 8.

Hello Johan and Scott

  1. Are we talking about the same architecture? We attach a picture to clarify our question.
  • Architecture (1) works (7r context without any solution where we imported a .servoy solution; in parallel a NGClient running on a Servoy Application Server of its own).
  • Does (2) allow to import the NGClient on top/into the 7r WAR? This would support data broadcasting between Smart and NG Client.
  1. Thank you! That did it. We forgot the setting on the admin page (trusted plugin).
    @Scott: We now successfully installed our SmartClient solution. We had problems
  • configuring the servoy.properties file correctly
  • different Servoy versions
  • Style blocking import
  1. We think, we do understand now. The solutions of the WAR are dominant.

  2. (yes there are more questions) We noticed that the settings (like trusted remote plugins) on the admin page are stored somewhere. If we undeploy and redeploy a WAR file, the settings are not lost. This is good, we guess. But where are they stored? On the other hand we observed that the database server settings are also kept. But they are part of the deployed WAR file. How can database server settings be changed later?

We appreciate your help. Best regards

Yes, definitely some weirdness in the WAR deployment. The WAR deploys files outside of the standard Tomcat deployment context. Generally WAR deployments only deploy to the WebApps folder. However, servoy also writes some extra stuff in the .servoy folder. On my CentOS install, I see files at /usr/share/tomcat/.servoy/server// . Things in there are the servoy_server.properties file. As you noticed, that seems not to get overwritten with the WAR deployment (db connections settings, user admin settings, etc). I also have some other files, like import.ser and solution.servoy, as well as an uploads folder and servoy_log.txt.

What it seems like you have to do…

  • Undeploy the WAR file.
  • Delete the .servoy folder
  • Delete the tables in the servoy_repository database
  • Deploy the WAR.

That seems to get you a fresh install.

Also to answer your Architecture question. Both of those should work. From 1 WAR deployment, you can run Smart, Web, and NG Clients. You can also deploy separate WAR’s in separate Context if you wish.

there is nothing weird about WAR deployment… Yes we write to the home dir (or a dir you specify through an system property) because we can’t write into the WAR that should never be done.

Besides importing into a WAR should also work fine, remember we had WAR export way before we had “export active solution”.
Back then it was just a way to generate a WAR that was when deployed exactly the same as a application server, there should from a smart/web clients perspective be no change what so every (especially if you call the war ROOT.war in tomcat, then it maps on the / context)

We added active solution later on and then also NGClient came along that added a bit more to the war (more resources like web components and services which are only packed and deployed with a WAR)

So if we leave out NGClient and exporting the active solution for a moment.

Then a WAR is just a plain empty “application_server” install. Nothing more, where you have to import a .servoy file into

With NGClient you need to create a WAR that also has all the components and services packed into the war.
So here you can also export without active solution. but then make sure that you select all components and services that you think you will be using when you import a .servoy ng solution through the admin page.

IF you do export with an active soluton (and its modules) then those solution and modules can’t be imported anymore through .servoy. Then you need to regenerate the full WAR file and redeploy.
because an active solution in side a war, so exported directly in the WAR always overrides the repository.

Thanks for sharing your experience. The question for architecture number 2 is: How do I “import” a WAR-File onto or into an existing WAR, in this case into the 7r WAR?

goldcougar:
Also to answer your Architecture question. Both of those should work. From 1 WAR deployment, you can run Smart, Web, and NG Clients. You can also deploy separate WAR’s in separate Context if you wish.