[jetty-dev] Maven Jetty Plugin Slow with Java8

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

[jetty-dev] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
Hi guys,

I upgraded to Java8 lately and so I had to upgrade my jetty-maven-plugin to 9.2+
I tried all the versions 9.2+ of the maven jetty plugin, however the server is starting really slow. First it displays this:


[INFO] <<< jetty-maven-plugin:9.2.0.v20140526:run (default-cli) < test-compile @ nemesis-console-backend <<<
[INFO]
[INFO] --- jetty-maven-plugin:9.2.0.v20140526:run (default-cli) @ nemesis-console-backend ---
[INFO] Logging initialized @5461ms
[INFO] Configuring Jetty for project: Backend Web Console
[INFO] webAppSourceDirectory not set. Trying src/main/webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = /home/petar/workspace/nemesis-consoles/nemesis-console-backend/target/classes
[INFO] Context path = /backend
[INFO] Tmp directory = /home/petar/workspace/nemesis-consoles/nemesis-console-backend/target/tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = file:/home/petar/workspace/nemesis-consoles/nemesis-console-backend/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = /home/petar/workspace/nemesis-consoles/nemesis-console-backend/src/main/webapp
[INFO] jetty-9.2.0.v20140526


and then it hangs for about 4 mins before it continue and eventually start properly. Does anyone else had this problem?

--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Simone Bordet-2
Hi,

On Wed, Apr 15, 2015 at 7:36 PM, Petar Tahchiev <[hidden email]> wrote:

> Hi guys,
>
> I upgraded to Java8 lately and so I had to upgrade my jetty-maven-plugin to
> 9.2+
> I tried all the versions 9.2+ of the maven jetty plugin, however the server
> is starting really slow. First it displays this:
>
>
> [INFO] <<< jetty-maven-plugin:9.2.0.v20140526:run (default-cli) <
> test-compile @ nemesis-console-backend <<<
> [INFO]
> [INFO] --- jetty-maven-plugin:9.2.0.v20140526:run (default-cli) @
> nemesis-console-backend ---
> [INFO] Logging initialized @5461ms
> [INFO] Configuring Jetty for project: Backend Web Console
> [INFO] webAppSourceDirectory not set. Trying src/main/webapp
> [INFO] Reload Mechanic: automatic
> [INFO] Classes =
> /home/petar/workspace/nemesis-consoles/nemesis-console-backend/target/classes
> [INFO] Context path = /backend
> [INFO] Tmp directory =
> /home/petar/workspace/nemesis-consoles/nemesis-console-backend/target/tmp
> [INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
> [INFO] Web overrides =  none
> [INFO] web.xml file =
> file:/home/petar/workspace/nemesis-consoles/nemesis-console-backend/src/main/webapp/WEB-INF/web.xml
> [INFO] Webapp directory =
> /home/petar/workspace/nemesis-consoles/nemesis-console-backend/src/main/webapp
> [INFO] jetty-9.2.0.v20140526
>
>
> and then it hangs for about 4 mins before it continue and eventually start
> properly. Does anyone else had this problem?

Please upgrade to 9.2.10.

If the problem remains, take a thread dump during those 4 minutes, it
should be clear what it is doing.
My guess is classpath scanning for annotations.

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
Hi,

I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With Java7 and version 9.1.3.v20140225 it takes 8 seconds! I also think it's annotation scanning. Here's the threaddump:

petar@petar-ThinkPad-X1-Carbon:~/workspace/nemesis-bom$ $JAVA_HOME/bin/jstack 11911
2015-04-15 22:53:33
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.40-b25 mixed mode):

"Attach Listener" #21 daemon prio=9 os_prio=0 tid=0x00007f2e14001000 nid=0x2ecf waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"qtp1640832113-20" #20 prio=5 os_prio=0 tid=0x00007f2e4d034800 nid=0x2ea3 waiting on condition [0x00007f2e1d403000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"qtp1640832113-19" #19 prio=5 os_prio=0 tid=0x00007f2e4d032800 nid=0x2ea2 waiting on condition [0x00007f2e1d504000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"qtp1640832113-18" #18 prio=5 os_prio=0 tid=0x00007f2e4d030800 nid=0x2ea1 waiting on condition [0x00007f2e1d605000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"qtp1640832113-17" #17 prio=5 os_prio=0 tid=0x00007f2e4d02e800 nid=0x2ea0 waiting on condition [0x00007f2e1d706000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"qtp1640832113-16" #16 prio=5 os_prio=0 tid=0x00007f2e4d02c000 nid=0x2e9f waiting on condition [0x00007f2e1d807000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"qtp1640832113-15" #15 prio=5 os_prio=0 tid=0x00007f2e4d02a000 nid=0x2e9e waiting on condition [0x00007f2e1d908000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"qtp1640832113-14" #14 prio=5 os_prio=0 tid=0x00007f2e4d024800 nid=0x2e9d waiting on condition [0x00007f2e1da09000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"qtp1640832113-13" #13 prio=5 os_prio=0 tid=0x00007f2e4d029000 nid=0x2e9c waiting on condition [0x00007f2e1e260000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000081a865d8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:389)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:531)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.access$700(QueuedThreadPool.java:47)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:590)
    at java.lang.Thread.run(Thread.java:745)

"ShutdownMonitor" #12 daemon prio=5 os_prio=0 tid=0x00007f2e4d002000 nid=0x2e9b runnable [0x00007f2e1e118000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:404)
    at java.net.ServerSocket.implAccept(ServerSocket.java:545)
    at java.net.ServerSocket.accept(ServerSocket.java:513)
    at org.eclipse.jetty.server.ShutdownMonitor$ShutdownMonitorRunnable.run(ShutdownMonitor.java:114)
    at java.lang.Thread.run(Thread.java:745)

"Service Thread" #8 daemon prio=9 os_prio=0 tid=0x00007f2e4c0cc000 nid=0x2e98 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007f2e4c0be800 nid=0x2e97 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007f2e4c0bd000 nid=0x2e96 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f2e4c0ba000 nid=0x2e95 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f2e4c0b8800 nid=0x2e94 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f2e4c07f000 nid=0x2e93 in Object.wait() [0x00007f2e3c1f0000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x000000008064f9b8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f2e4c07d000 nid=0x2e92 in Object.wait() [0x00007f2e3c2f1000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
    - locked <0x0000000080657be8> (a java.lang.ref.Reference$Lock)

"main" #1 prio=5 os_prio=0 tid=0x00007f2e4c009800 nid=0x2e8c runnable [0x00007f2e55031000]
   java.lang.Thread.State: RUNNABLE
    at java.util.zip.ZipCoder.toString(ZipCoder.java:56)
    at java.util.zip.ZipFile.getZipEntry(ZipFile.java:567)
    at java.util.zip.ZipFile.access$900(ZipFile.java:61)
    at java.util.zip.ZipFile$ZipEntryIterator.next(ZipFile.java:525)
    - locked <0x00000000e1b25fb8> (a sun.net.www.protocol.jar.URLJarFile)
    at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:500)
    at java.util.zip.ZipFile$ZipEntryIterator.nextElement(ZipFile.java:481)
    at java.util.jar.JarFile$JarEntryIterator.next(JarFile.java:257)
    at java.util.jar.JarFile$JarEntryIterator.nextElement(JarFile.java:266)
    at java.util.jar.JarFile$JarEntryIterator.nextElement(JarFile.java:247)
    at org.eclipse.jetty.util.resource.JarFileResource.exists(JarFileResource.java:193)
    at org.eclipse.jetty.util.resource.JarFileResource.isDirectory(JarFileResource.java:247)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:688)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.util.resource.Resource.getAllResources(Resource.java:689)
    at org.eclipse.jetty.webapp.MetaInfConfiguration.scanForTlds(MetaInfConfiguration.java:314)
    at org.eclipse.jetty.webapp.MetaInfConfiguration.scanJars(MetaInfConfiguration.java:135)
    at org.eclipse.jetty.webapp.MetaInfConfiguration.preConfigure(MetaInfConfiguration.java:86)
    at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:468)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:504)
    at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:365)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    - locked <0x00000000819aff90> (a java.lang.Object)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    - locked <0x00000000819afd50> (a java.lang.Object)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    - locked <0x00000000819ab3e0> (a java.lang.Object)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
    at org.eclipse.jetty.server.Server.start(Server.java:387)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
    at org.eclipse.jetty.server.Server.doStart(Server.java:354)
    at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:73)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    - locked <0x00000000819a3520> (a java.lang.Object)
    at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:534)
    at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:357)
    at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

"VM Thread" os_prio=0 tid=0x00007f2e4c078000 nid=0x2e91 runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f2e4c01f000 nid=0x2e8d runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f2e4c021000 nid=0x2e8e runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f2e4c022800 nid=0x2e8f runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f2e4c024800 nid=0x2e90 runnable

"VM Periodic Task Thread" os_prio=0 tid=0x00007f2e4c0ce800 nid=0x2e99 waiting on condition

JNI global references: 41


Is there any way to speed it up?


2015-04-15 22:48 GMT+03:00 Simone Bordet <[hidden email]>:
Hi,

On Wed, Apr 15, 2015 at 7:36 PM, Petar Tahchiev <[hidden email]> wrote:
> Hi guys,
>
> I upgraded to Java8 lately and so I had to upgrade my jetty-maven-plugin to
> 9.2+
> I tried all the versions 9.2+ of the maven jetty plugin, however the server
> is starting really slow. First it displays this:
>
>
> [INFO] <<< jetty-maven-plugin:9.2.0.v20140526:run (default-cli) <
> test-compile @ nemesis-console-backend <<<
> [INFO]
> [INFO] --- jetty-maven-plugin:9.2.0.v20140526:run (default-cli) @
> nemesis-console-backend ---
> [INFO] Logging initialized @5461ms
> [INFO] Configuring Jetty for project: Backend Web Console
> [INFO] webAppSourceDirectory not set. Trying src/main/webapp
> [INFO] Reload Mechanic: automatic
> [INFO] Classes =
> /home/petar/workspace/nemesis-consoles/nemesis-console-backend/target/classes
> [INFO] Context path = /backend
> [INFO] Tmp directory =
> /home/petar/workspace/nemesis-consoles/nemesis-console-backend/target/tmp
> [INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
> [INFO] Web overrides =  none
> [INFO] web.xml file =
> file:/home/petar/workspace/nemesis-consoles/nemesis-console-backend/src/main/webapp/WEB-INF/web.xml
> [INFO] Webapp directory =
> /home/petar/workspace/nemesis-consoles/nemesis-console-backend/src/main/webapp
> [INFO] jetty-9.2.0.v20140526
>
>
> and then it hangs for about 4 mins before it continue and eventually start
> properly. Does anyone else had this problem?

Please upgrade to 9.2.10.

If the problem remains, take a thread dump during those 4 minutes, it
should be clear what it is doing.
My guess is classpath scanning for annotations.

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Simone Bordet-2
Hi,

On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]> wrote:
> Hi,
>
> I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With Java7
> and version 9.1.3.v20140225 it takes 8 seconds! I also think it's annotation
> scanning. Here's the threaddump:

So it is annotation scanning.
Do you need it ?

What's the value for "metadata-complete" attribute in your web.xml ?

Read also: https://www.eclipse.org/jetty/documentation/current/using-annotations.html

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
Hi there,

I tried adding metadata-complete="true" and also

    <Call name="setAttribute">
        <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
        <Arg></Arg>
    </Call>

to my jetty-env.xml but had no effect - the same amount of time :(

2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
Hi,

On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]> wrote:
> Hi,
>
> I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With Java7
> and version 9.1.3.v20140225 it takes 8 seconds! I also think it's annotation
> scanning. Here's the threaddump:

So it is annotation scanning.
Do you need it ?

What's the value for "metadata-complete" attribute in your web.xml ?

Read also: https://www.eclipse.org/jetty/documentation/current/using-annotations.html

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Jan Bartel-3

If any of your libs contain a servletcontainerinitializer that has a non empty HandlesTypes annotation on it then scanning will be done any way. Enable debug for org.eclipse.jetty.annotations and you'll see which one it is.

Jan

On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
Hi there,

I tried adding metadata-complete="true" and also

    <Call name="setAttribute">
        <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
        <Arg></Arg>
    </Call>

to my jetty-env.xml but had no effect - the same amount of time :(

2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
Hi,

On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]> wrote:
> Hi,
>
> I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With Java7
> and version 9.1.3.v20140225 it takes 8 seconds! I also think it's annotation
> scanning. Here's the threaddump:

So it is annotation scanning.
Do you need it ?

What's the value for "metadata-complete" attribute in your web.xml ?

Read also: https://www.eclipse.org/jetty/documentation/current/using-annotations.html

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
Hello all,

I just found out what's happening - I have spring-web jar in my classpath, which has a non empty @HandlesTypes annotation so the annotation scanning is happening. My parent pom also includes ext-js webjar:

        <!-- Javascript -->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>extjs</artifactId>
            <version>${extjs.webjars.version}</version>
        </dependency>


which (believe it or not) is almost 85MB. If I exclude this dependency from the pom.xml then jetty starts again for 8 seconds. If I leave it in the pom.xml then jetty starts for more than 15 minutes.

Please let me know how can I exclude the extjs webjar from annotation scanning.

Thanks

2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:

If any of your libs contain a servletcontainerinitializer that has a non empty HandlesTypes annotation on it then scanning will be done any way. Enable debug for org.eclipse.jetty.annotations and you'll see which one it is.

Jan

On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
Hi there,

I tried adding metadata-complete="true" and also

    <Call name="setAttribute">
        <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
        <Arg></Arg>
    </Call>

to my jetty-env.xml but had no effect - the same amount of time :(

2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
Hi,

On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]> wrote:
> Hi,
>
> I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With Java7
> and version 9.1.3.v20140225 it takes 8 seconds! I also think it's annotation
> scanning. Here's the threaddump:

So it is annotation scanning.
Do you need it ?

What's the value for "metadata-complete" attribute in your web.xml ?

Read also: https://www.eclipse.org/jetty/documentation/current/using-annotations.html

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
Guys I have created a github repository that demonstrates the problem:

https://github.com/paranoiabla/jetty-slow-startup

Just run mvn clean install or mvn jetty:run and you see it hangs.

I'd really appreciate some help here.

2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
Hello all,

I just found out what's happening - I have spring-web jar in my classpath, which has a non empty @HandlesTypes annotation so the annotation scanning is happening. My parent pom also includes ext-js webjar:

        <!-- Javascript -->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>extjs</artifactId>
            <version>${extjs.webjars.version}</version>
        </dependency>


which (believe it or not) is almost 85MB. If I exclude this dependency from the pom.xml then jetty starts again for 8 seconds. If I leave it in the pom.xml then jetty starts for more than 15 minutes.

Please let me know how can I exclude the extjs webjar from annotation scanning.

Thanks

2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:

If any of your libs contain a servletcontainerinitializer that has a non empty HandlesTypes annotation on it then scanning will be done any way. Enable debug for org.eclipse.jetty.annotations and you'll see which one it is.

Jan

On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
Hi there,

I tried adding metadata-complete="true" and also

    <Call name="setAttribute">
        <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
        <Arg></Arg>
    </Call>

to my jetty-env.xml but had no effect - the same amount of time :(

2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
Hi,

On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]> wrote:
> Hi,
>
> I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With Java7
> and version 9.1.3.v20140225 it takes 8 seconds! I also think it's annotation
> scanning. Here's the threaddump:

So it is annotation scanning.
Do you need it ?

What's the value for "metadata-complete" attribute in your web.xml ?

Read also: https://www.eclipse.org/jetty/documentation/current/using-annotations.html

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Jesse McConnell
I just wanted to chime in and say that this behavior is not something
that Jetty is arbitrarily doing, it is mandated by the servlet
specification.
--
jesse mcconnell
[hidden email]


On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev <[hidden email]> wrote:

> Guys I have created a github repository that demonstrates the problem:
>
> https://github.com/paranoiabla/jetty-slow-startup
>
> Just run mvn clean install or mvn jetty:run and you see it hangs.
>
> I'd really appreciate some help here.
>
> 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> Hello all,
>>
>> I just found out what's happening - I have spring-web jar in my classpath,
>> which has a non empty @HandlesTypes annotation so the annotation scanning is
>> happening. My parent pom also includes ext-js webjar:
>>
>>         <!-- Javascript -->
>>         <dependency>
>>             <groupId>org.webjars</groupId>
>>             <artifactId>extjs</artifactId>
>>             <version>${extjs.webjars.version}</version>
>>         </dependency>
>>
>>
>> which (believe it or not) is almost 85MB. If I exclude this dependency
>> from the pom.xml then jetty starts again for 8 seconds. If I leave it in the
>> pom.xml then jetty starts for more than 15 minutes.
>>
>> Please let me know how can I exclude the extjs webjar from annotation
>> scanning.
>>
>> Thanks
>>
>> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>
>>> If any of your libs contain a servletcontainerinitializer that has a non
>>> empty HandlesTypes annotation on it then scanning will be done any way.
>>> Enable debug for org.eclipse.jetty.annotations and you'll see which one it
>>> is.
>>>
>>> Jan
>>>
>>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I tried adding metadata-complete="true" and also
>>>>
>>>>     <Call name="setAttribute">
>>>>
>>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>         <Arg></Arg>
>>>>     </Call>
>>>>
>>>> to my jetty-env.xml but had no effect - the same amount of time :(
>>>>
>>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With
>>>>> > Java7
>>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think it's
>>>>> > annotation
>>>>> > scanning. Here's the threaddump:
>>>>>
>>>>> So it is annotation scanning.
>>>>> Do you need it ?
>>>>>
>>>>> What's the value for "metadata-complete" attribute in your web.xml ?
>>>>>
>>>>> Read also:
>>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>
>>>>> --
>>>>> Simone Bordet
>>>>> ----
>>>>> http://cometd.org
>>>>> http://webtide.com
>>>>> http://intalio.com
>>>>> Developer advice, training, services and support
>>>>> from the Jetty & CometD experts.
>>>>> Intalio, the modern way to build business applications.
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Joakim Erdfelt-9
The scanning can be improved.
Here's my results (with debug logging turned on)

2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 74ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in 29ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar in 66ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 13ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar in 384ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar in 20ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar in 68ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar in 205ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar in 147ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar in 223ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar in 131ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar in 272ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar in 99ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar in 149ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar in 4ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar in 140ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar in 211ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar in 180ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar in 243ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in 1981ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs in 2321ms for context o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/, jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}

This is on OSX, using Java 8u31.
The extjs-5.1.0.jar only took a scant 2 seconds to scan.
The scan ignored most (if not all) of that jar's contents anyway (no *.class files).
Overall, the scan took 2321ms

The startup, on the other hand, took longer.   About 4 minutes.
The problem is likely somewhere else.  Not sure yet.
I haven't turned on the logging for the spring bytecode scanning yet to know if that's where the time is going.
This environment has a mix of logging infrastructure (commons logging, java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up takes a bit of time (using slf4j to capture it all and route down to a single logging impl).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell <[hidden email]> wrote:
I just wanted to chime in and say that this behavior is not something
that Jetty is arbitrarily doing, it is mandated by the servlet
specification.
--
jesse mcconnell
[hidden email]


On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev <[hidden email]> wrote:
> Guys I have created a github repository that demonstrates the problem:
>
> https://github.com/paranoiabla/jetty-slow-startup
>
> Just run mvn clean install or mvn jetty:run and you see it hangs.
>
> I'd really appreciate some help here.
>
> 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> Hello all,
>>
>> I just found out what's happening - I have spring-web jar in my classpath,
>> which has a non empty @HandlesTypes annotation so the annotation scanning is
>> happening. My parent pom also includes ext-js webjar:
>>
>>         <!-- Javascript -->
>>         <dependency>
>>             <groupId>org.webjars</groupId>
>>             <artifactId>extjs</artifactId>
>>             <version>${extjs.webjars.version}</version>
>>         </dependency>
>>
>>
>> which (believe it or not) is almost 85MB. If I exclude this dependency
>> from the pom.xml then jetty starts again for 8 seconds. If I leave it in the
>> pom.xml then jetty starts for more than 15 minutes.
>>
>> Please let me know how can I exclude the extjs webjar from annotation
>> scanning.
>>
>> Thanks
>>
>> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>
>>> If any of your libs contain a servletcontainerinitializer that has a non
>>> empty HandlesTypes annotation on it then scanning will be done any way.
>>> Enable debug for org.eclipse.jetty.annotations and you'll see which one it
>>> is.
>>>
>>> Jan
>>>
>>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I tried adding metadata-complete="true" and also
>>>>
>>>>     <Call name="setAttribute">
>>>>
>>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>         <Arg></Arg>
>>>>     </Call>
>>>>
>>>> to my jetty-env.xml but had no effect - the same amount of time :(
>>>>
>>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With
>>>>> > Java7
>>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think it's
>>>>> > annotation
>>>>> > scanning. Here's the threaddump:
>>>>>
>>>>> So it is annotation scanning.
>>>>> Do you need it ?
>>>>>
>>>>> What's the value for "metadata-complete" attribute in your web.xml ?
>>>>>
>>>>> Read also:
>>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>
>>>>> --
>>>>> Simone Bordet
>>>>> ----
>>>>> http://cometd.org
>>>>> http://webtide.com
>>>>> http://intalio.com
>>>>> Developer advice, training, services and support
>>>>> from the Jetty & CometD experts.
>>>>> Intalio, the modern way to build business applications.
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev


_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Joakim Erdfelt-9
Its something with the extjs-5.1.0.jar  if you eliminate that as a dependency, then the startup / scan is near instantaneous.
Wonder if that's a bad jar file?
Or if java's java.util.jar.JarFile has issues with the the extjs-5.1.0.jar?

Out of curiosity, why are you including an 81MB jar file full of META-INF/resources/ provided javascript examples in the classpath of your WAR?
Its not like anything can make use of that as it is.

What I haven't tested is the new servlet 3.1 META-INF/resources/ logic.
That requires us to unpack the JAR files in WEB-INF/lib that have META-INF/resources/ into a temporary directory.

Using command line ...

$ jar -xf extjs-5.1.0.jar 

that takes 3 minutes on my machine. (way way too long)
I'm suspicious of that file now.

OK, how about you unpack that jar into your src/main/webapp (stripping the META-INF/resources/ prefixes) during your build instead.
The dependency plugin might be able to handle that (during the generate-resources phase).
Tho the stripping of the prefix might need a secondary step with the assembly plugin (or careful manipulation of the maven-resources-plugin configuration, or <resources> entries)

That will give you the same end result, but without the negative impact of how META-INF/resources/ works during startup


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:14 PM, Joakim Erdfelt <[hidden email]> wrote:
The scanning can be improved.
Here's my results (with debug logging turned on)

2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 74ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in 29ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar in 66ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 13ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar in 384ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar in 20ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar in 68ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar in 205ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar in 147ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar in 223ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar in 131ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar in 272ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar in 99ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar in 149ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar in 4ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar in 140ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar in 211ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar in 180ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar in 243ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in 1981ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs in 2321ms for context o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/, jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}

This is on OSX, using Java 8u31.
The extjs-5.1.0.jar only took a scant 2 seconds to scan.
The scan ignored most (if not all) of that jar's contents anyway (no *.class files).
Overall, the scan took 2321ms

The startup, on the other hand, took longer.   About 4 minutes.
The problem is likely somewhere else.  Not sure yet.
I haven't turned on the logging for the spring bytecode scanning yet to know if that's where the time is going.
This environment has a mix of logging infrastructure (commons logging, java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up takes a bit of time (using slf4j to capture it all and route down to a single logging impl).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell <[hidden email]> wrote:
I just wanted to chime in and say that this behavior is not something
that Jetty is arbitrarily doing, it is mandated by the servlet
specification.
--
jesse mcconnell
[hidden email]


On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev <[hidden email]> wrote:
> Guys I have created a github repository that demonstrates the problem:
>
> https://github.com/paranoiabla/jetty-slow-startup
>
> Just run mvn clean install or mvn jetty:run and you see it hangs.
>
> I'd really appreciate some help here.
>
> 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> Hello all,
>>
>> I just found out what's happening - I have spring-web jar in my classpath,
>> which has a non empty @HandlesTypes annotation so the annotation scanning is
>> happening. My parent pom also includes ext-js webjar:
>>
>>         <!-- Javascript -->
>>         <dependency>
>>             <groupId>org.webjars</groupId>
>>             <artifactId>extjs</artifactId>
>>             <version>${extjs.webjars.version}</version>
>>         </dependency>
>>
>>
>> which (believe it or not) is almost 85MB. If I exclude this dependency
>> from the pom.xml then jetty starts again for 8 seconds. If I leave it in the
>> pom.xml then jetty starts for more than 15 minutes.
>>
>> Please let me know how can I exclude the extjs webjar from annotation
>> scanning.
>>
>> Thanks
>>
>> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>
>>> If any of your libs contain a servletcontainerinitializer that has a non
>>> empty HandlesTypes annotation on it then scanning will be done any way.
>>> Enable debug for org.eclipse.jetty.annotations and you'll see which one it
>>> is.
>>>
>>> Jan
>>>
>>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I tried adding metadata-complete="true" and also
>>>>
>>>>     <Call name="setAttribute">
>>>>
>>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>         <Arg></Arg>
>>>>     </Call>
>>>>
>>>> to my jetty-env.xml but had no effect - the same amount of time :(
>>>>
>>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With
>>>>> > Java7
>>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think it's
>>>>> > annotation
>>>>> > scanning. Here's the threaddump:
>>>>>
>>>>> So it is annotation scanning.
>>>>> Do you need it ?
>>>>>
>>>>> What's the value for "metadata-complete" attribute in your web.xml ?
>>>>>
>>>>> Read also:
>>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>
>>>>> --
>>>>> Simone Bordet
>>>>> ----
>>>>> http://cometd.org
>>>>> http://webtide.com
>>>>> http://intalio.com
>>>>> Developer advice, training, services and support
>>>>> from the Jetty & CometD experts.
>>>>> Intalio, the modern way to build business applications.
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
Thanks for the response.

I'll give it a try.The really interesting thing is that this was working perfectly fine on Java7 and jetty 9.1.3.v20140225 (in fact some of my colleagues are still using that and I've told them not to make a git pull before i fix this).

2015-04-17 1:34 GMT+03:00 Joakim Erdfelt <[hidden email]>:
Its something with the extjs-5.1.0.jar  if you eliminate that as a dependency, then the startup / scan is near instantaneous.
Wonder if that's a bad jar file?
Or if java's java.util.jar.JarFile has issues with the the extjs-5.1.0.jar?

Out of curiosity, why are you including an 81MB jar file full of META-INF/resources/ provided javascript examples in the classpath of your WAR?
Its not like anything can make use of that as it is.

What I haven't tested is the new servlet 3.1 META-INF/resources/ logic.
That requires us to unpack the JAR files in WEB-INF/lib that have META-INF/resources/ into a temporary directory.

Using command line ...

$ jar -xf extjs-5.1.0.jar 

that takes 3 minutes on my machine. (way way too long)
I'm suspicious of that file now.

OK, how about you unpack that jar into your src/main/webapp (stripping the META-INF/resources/ prefixes) during your build instead.
The dependency plugin might be able to handle that (during the generate-resources phase).
Tho the stripping of the prefix might need a secondary step with the assembly plugin (or careful manipulation of the maven-resources-plugin configuration, or <resources> entries)

That will give you the same end result, but without the negative impact of how META-INF/resources/ works during startup


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:14 PM, Joakim Erdfelt <[hidden email]> wrote:
The scanning can be improved.
Here's my results (with debug logging turned on)

2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 74ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in 29ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar in 66ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 13ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar in 384ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar in 20ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar in 68ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar in 205ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar in 147ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar in 223ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar in 131ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar in 272ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar in 99ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar in 149ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar in 4ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar in 140ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar in 211ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar in 180ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar in 243ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in 1981ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs in 2321ms for context o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/, jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}

This is on OSX, using Java 8u31.
The extjs-5.1.0.jar only took a scant 2 seconds to scan.
The scan ignored most (if not all) of that jar's contents anyway (no *.class files).
Overall, the scan took 2321ms

The startup, on the other hand, took longer.   About 4 minutes.
The problem is likely somewhere else.  Not sure yet.
I haven't turned on the logging for the spring bytecode scanning yet to know if that's where the time is going.
This environment has a mix of logging infrastructure (commons logging, java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up takes a bit of time (using slf4j to capture it all and route down to a single logging impl).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell <[hidden email]> wrote:
I just wanted to chime in and say that this behavior is not something
that Jetty is arbitrarily doing, it is mandated by the servlet
specification.
--
jesse mcconnell
[hidden email]


On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev <[hidden email]> wrote:
> Guys I have created a github repository that demonstrates the problem:
>
> https://github.com/paranoiabla/jetty-slow-startup
>
> Just run mvn clean install or mvn jetty:run and you see it hangs.
>
> I'd really appreciate some help here.
>
> 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> Hello all,
>>
>> I just found out what's happening - I have spring-web jar in my classpath,
>> which has a non empty @HandlesTypes annotation so the annotation scanning is
>> happening. My parent pom also includes ext-js webjar:
>>
>>         <!-- Javascript -->
>>         <dependency>
>>             <groupId>org.webjars</groupId>
>>             <artifactId>extjs</artifactId>
>>             <version>${extjs.webjars.version}</version>
>>         </dependency>
>>
>>
>> which (believe it or not) is almost 85MB. If I exclude this dependency
>> from the pom.xml then jetty starts again for 8 seconds. If I leave it in the
>> pom.xml then jetty starts for more than 15 minutes.
>>
>> Please let me know how can I exclude the extjs webjar from annotation
>> scanning.
>>
>> Thanks
>>
>> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>
>>> If any of your libs contain a servletcontainerinitializer that has a non
>>> empty HandlesTypes annotation on it then scanning will be done any way.
>>> Enable debug for org.eclipse.jetty.annotations and you'll see which one it
>>> is.
>>>
>>> Jan
>>>
>>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I tried adding metadata-complete="true" and also
>>>>
>>>>     <Call name="setAttribute">
>>>>
>>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>         <Arg></Arg>
>>>>     </Call>
>>>>
>>>> to my jetty-env.xml but had no effect - the same amount of time :(
>>>>
>>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With
>>>>> > Java7
>>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think it's
>>>>> > annotation
>>>>> > scanning. Here's the threaddump:
>>>>>
>>>>> So it is annotation scanning.
>>>>> Do you need it ?
>>>>>
>>>>> What's the value for "metadata-complete" attribute in your web.xml ?
>>>>>
>>>>> Read also:
>>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>
>>>>> --
>>>>> Simone Bordet
>>>>> ----
>>>>> http://cometd.org
>>>>> http://webtide.com
>>>>> http://intalio.com
>>>>> Developer advice, training, services and support
>>>>> from the Jetty & CometD experts.
>>>>> Intalio, the modern way to build business applications.
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Joakim Erdfelt-9
Jetty 9.1.3 isn't using Servlet 3.1, that's still on Servlet 3.0

While Servlet 3.0 introduced support for META-INF/resources/, it was a poor part of the spec until Servlet 3.1.
Jetty technically had support for META-INF/resources/ since Jetty 8, but it was based on the early poor spec, and was kept as simple as possible.
The Servlet 3.1 changes in Jetty 9.2 fixed our support to be more correct with the updated clarifications on META-INF/resources/

In your Java7 and Jetty 9.1.3 version, those resources are served in the most convoluted and inefficient way you can imagine.
For each request of content in META-INF/resources/, the content is uncompressed from a twice deep (nested) JarFile reference (every time).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:42 PM, Petar Tahchiev <[hidden email]> wrote:
Thanks for the response.

I'll give it a try.The really interesting thing is that this was working perfectly fine on Java7 and jetty 9.1.3.v20140225 (in fact some of my colleagues are still using that and I've told them not to make a git pull before i fix this).

2015-04-17 1:34 GMT+03:00 Joakim Erdfelt <[hidden email]>:
Its something with the extjs-5.1.0.jar  if you eliminate that as a dependency, then the startup / scan is near instantaneous.
Wonder if that's a bad jar file?
Or if java's java.util.jar.JarFile has issues with the the extjs-5.1.0.jar?

Out of curiosity, why are you including an 81MB jar file full of META-INF/resources/ provided javascript examples in the classpath of your WAR?
Its not like anything can make use of that as it is.

What I haven't tested is the new servlet 3.1 META-INF/resources/ logic.
That requires us to unpack the JAR files in WEB-INF/lib that have META-INF/resources/ into a temporary directory.

Using command line ...

$ jar -xf extjs-5.1.0.jar 

that takes 3 minutes on my machine. (way way too long)
I'm suspicious of that file now.

OK, how about you unpack that jar into your src/main/webapp (stripping the META-INF/resources/ prefixes) during your build instead.
The dependency plugin might be able to handle that (during the generate-resources phase).
Tho the stripping of the prefix might need a secondary step with the assembly plugin (or careful manipulation of the maven-resources-plugin configuration, or <resources> entries)

That will give you the same end result, but without the negative impact of how META-INF/resources/ works during startup


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:14 PM, Joakim Erdfelt <[hidden email]> wrote:
The scanning can be improved.
Here's my results (with debug logging turned on)

2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 74ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in 29ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar in 66ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 13ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar in 384ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar in 20ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar in 68ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar in 205ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar in 147ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar in 223ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar in 131ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar in 272ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar in 99ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar in 149ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar in 4ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar in 140ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar in 211ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar in 180ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar in 243ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in 1981ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs in 2321ms for context o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/, jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}

This is on OSX, using Java 8u31.
The extjs-5.1.0.jar only took a scant 2 seconds to scan.
The scan ignored most (if not all) of that jar's contents anyway (no *.class files).
Overall, the scan took 2321ms

The startup, on the other hand, took longer.   About 4 minutes.
The problem is likely somewhere else.  Not sure yet.
I haven't turned on the logging for the spring bytecode scanning yet to know if that's where the time is going.
This environment has a mix of logging infrastructure (commons logging, java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up takes a bit of time (using slf4j to capture it all and route down to a single logging impl).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell <[hidden email]> wrote:
I just wanted to chime in and say that this behavior is not something
that Jetty is arbitrarily doing, it is mandated by the servlet
specification.
--
jesse mcconnell
[hidden email]


On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev <[hidden email]> wrote:
> Guys I have created a github repository that demonstrates the problem:
>
> https://github.com/paranoiabla/jetty-slow-startup
>
> Just run mvn clean install or mvn jetty:run and you see it hangs.
>
> I'd really appreciate some help here.
>
> 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> Hello all,
>>
>> I just found out what's happening - I have spring-web jar in my classpath,
>> which has a non empty @HandlesTypes annotation so the annotation scanning is
>> happening. My parent pom also includes ext-js webjar:
>>
>>         <!-- Javascript -->
>>         <dependency>
>>             <groupId>org.webjars</groupId>
>>             <artifactId>extjs</artifactId>
>>             <version>${extjs.webjars.version}</version>
>>         </dependency>
>>
>>
>> which (believe it or not) is almost 85MB. If I exclude this dependency
>> from the pom.xml then jetty starts again for 8 seconds. If I leave it in the
>> pom.xml then jetty starts for more than 15 minutes.
>>
>> Please let me know how can I exclude the extjs webjar from annotation
>> scanning.
>>
>> Thanks
>>
>> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>
>>> If any of your libs contain a servletcontainerinitializer that has a non
>>> empty HandlesTypes annotation on it then scanning will be done any way.
>>> Enable debug for org.eclipse.jetty.annotations and you'll see which one it
>>> is.
>>>
>>> Jan
>>>
>>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I tried adding metadata-complete="true" and also
>>>>
>>>>     <Call name="setAttribute">
>>>>
>>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>         <Arg></Arg>
>>>>     </Call>
>>>>
>>>> to my jetty-env.xml but had no effect - the same amount of time :(
>>>>
>>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With
>>>>> > Java7
>>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think it's
>>>>> > annotation
>>>>> > scanning. Here's the threaddump:
>>>>>
>>>>> So it is annotation scanning.
>>>>> Do you need it ?
>>>>>
>>>>> What's the value for "metadata-complete" attribute in your web.xml ?
>>>>>
>>>>> Read also:
>>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>
>>>>> --
>>>>> Simone Bordet
>>>>> ----
>>>>> http://cometd.org
>>>>> http://webtide.com
>>>>> http://intalio.com
>>>>> Developer advice, training, services and support
>>>>> from the Jetty & CometD experts.
>>>>> Intalio, the modern way to build business applications.
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev


_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
I do understand that this is all according to the specification, but is there any way to exclude the jar from being scanned? It's really just an 85MB webjar with javascript and css...

2015-04-17 1:50 GMT+03:00 Joakim Erdfelt <[hidden email]>:
Jetty 9.1.3 isn't using Servlet 3.1, that's still on Servlet 3.0

While Servlet 3.0 introduced support for META-INF/resources/, it was a poor part of the spec until Servlet 3.1.
Jetty technically had support for META-INF/resources/ since Jetty 8, but it was based on the early poor spec, and was kept as simple as possible.
The Servlet 3.1 changes in Jetty 9.2 fixed our support to be more correct with the updated clarifications on META-INF/resources/

In your Java7 and Jetty 9.1.3 version, those resources are served in the most convoluted and inefficient way you can imagine.
For each request of content in META-INF/resources/, the content is uncompressed from a twice deep (nested) JarFile reference (every time).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:42 PM, Petar Tahchiev <[hidden email]> wrote:
Thanks for the response.

I'll give it a try.The really interesting thing is that this was working perfectly fine on Java7 and jetty 9.1.3.v20140225 (in fact some of my colleagues are still using that and I've told them not to make a git pull before i fix this).

2015-04-17 1:34 GMT+03:00 Joakim Erdfelt <[hidden email]>:
Its something with the extjs-5.1.0.jar  if you eliminate that as a dependency, then the startup / scan is near instantaneous.
Wonder if that's a bad jar file?
Or if java's java.util.jar.JarFile has issues with the the extjs-5.1.0.jar?

Out of curiosity, why are you including an 81MB jar file full of META-INF/resources/ provided javascript examples in the classpath of your WAR?
Its not like anything can make use of that as it is.

What I haven't tested is the new servlet 3.1 META-INF/resources/ logic.
That requires us to unpack the JAR files in WEB-INF/lib that have META-INF/resources/ into a temporary directory.

Using command line ...

$ jar -xf extjs-5.1.0.jar 

that takes 3 minutes on my machine. (way way too long)
I'm suspicious of that file now.

OK, how about you unpack that jar into your src/main/webapp (stripping the META-INF/resources/ prefixes) during your build instead.
The dependency plugin might be able to handle that (during the generate-resources phase).
Tho the stripping of the prefix might need a secondary step with the assembly plugin (or careful manipulation of the maven-resources-plugin configuration, or <resources> entries)

That will give you the same end result, but without the negative impact of how META-INF/resources/ works during startup


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:14 PM, Joakim Erdfelt <[hidden email]> wrote:
The scanning can be improved.
Here's my results (with debug logging turned on)

2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 74ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in 29ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar in 66ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 13ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar in 384ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar in 20ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar in 68ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar in 205ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar in 147ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar in 223ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar in 131ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar in 272ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar in 99ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar in 149ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar in 4ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar in 140ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar in 211ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar in 180ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar in 243ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in 1981ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs in 2321ms for context o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/, jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}

This is on OSX, using Java 8u31.
The extjs-5.1.0.jar only took a scant 2 seconds to scan.
The scan ignored most (if not all) of that jar's contents anyway (no *.class files).
Overall, the scan took 2321ms

The startup, on the other hand, took longer.   About 4 minutes.
The problem is likely somewhere else.  Not sure yet.
I haven't turned on the logging for the spring bytecode scanning yet to know if that's where the time is going.
This environment has a mix of logging infrastructure (commons logging, java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up takes a bit of time (using slf4j to capture it all and route down to a single logging impl).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell <[hidden email]> wrote:
I just wanted to chime in and say that this behavior is not something
that Jetty is arbitrarily doing, it is mandated by the servlet
specification.
--
jesse mcconnell
[hidden email]


On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev <[hidden email]> wrote:
> Guys I have created a github repository that demonstrates the problem:
>
> https://github.com/paranoiabla/jetty-slow-startup
>
> Just run mvn clean install or mvn jetty:run and you see it hangs.
>
> I'd really appreciate some help here.
>
> 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> Hello all,
>>
>> I just found out what's happening - I have spring-web jar in my classpath,
>> which has a non empty @HandlesTypes annotation so the annotation scanning is
>> happening. My parent pom also includes ext-js webjar:
>>
>>         <!-- Javascript -->
>>         <dependency>
>>             <groupId>org.webjars</groupId>
>>             <artifactId>extjs</artifactId>
>>             <version>${extjs.webjars.version}</version>
>>         </dependency>
>>
>>
>> which (believe it or not) is almost 85MB. If I exclude this dependency
>> from the pom.xml then jetty starts again for 8 seconds. If I leave it in the
>> pom.xml then jetty starts for more than 15 minutes.
>>
>> Please let me know how can I exclude the extjs webjar from annotation
>> scanning.
>>
>> Thanks
>>
>> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>
>>> If any of your libs contain a servletcontainerinitializer that has a non
>>> empty HandlesTypes annotation on it then scanning will be done any way.
>>> Enable debug for org.eclipse.jetty.annotations and you'll see which one it
>>> is.
>>>
>>> Jan
>>>
>>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I tried adding metadata-complete="true" and also
>>>>
>>>>     <Call name="setAttribute">
>>>>
>>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>         <Arg></Arg>
>>>>     </Call>
>>>>
>>>> to my jetty-env.xml but had no effect - the same amount of time :(
>>>>
>>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With
>>>>> > Java7
>>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think it's
>>>>> > annotation
>>>>> > scanning. Here's the threaddump:
>>>>>
>>>>> So it is annotation scanning.
>>>>> Do you need it ?
>>>>>
>>>>> What's the value for "metadata-complete" attribute in your web.xml ?
>>>>>
>>>>> Read also:
>>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>
>>>>> --
>>>>> Simone Bordet
>>>>> ----
>>>>> http://cometd.org
>>>>> http://webtide.com
>>>>> http://intalio.com
>>>>> Developer advice, training, services and support
>>>>> from the Jetty & CometD experts.
>>>>> Intalio, the modern way to build business applications.
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev


_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Petar Tahchiev
Hi there,

i've opened a ticket to webjars to exclude the irrelevant content from the webjar. But until then I need some solution and according to you guys the problem is not in jetty. Can you give me some guidance where it might be?
Also I don't think the problem is in the jar itself. On my machine unzipping took less than 6 seconds:

petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$ date
сб апр 18 16:17:16 EEST 2015
petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$ $JAVA_HOME/bin/jar -xf extjs-5.1.0.jar
petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$ date
сб апр 18 16:17:22 EEST 2015
petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$

Thank you for your effort.




2015-04-18 15:00 GMT+03:00 Petar Tahchiev <[hidden email]>:
I do understand that this is all according to the specification, but is there any way to exclude the jar from being scanned? It's really just an 85MB webjar with javascript and css...

2015-04-17 1:50 GMT+03:00 Joakim Erdfelt <[hidden email]>:
Jetty 9.1.3 isn't using Servlet 3.1, that's still on Servlet 3.0

While Servlet 3.0 introduced support for META-INF/resources/, it was a poor part of the spec until Servlet 3.1.
Jetty technically had support for META-INF/resources/ since Jetty 8, but it was based on the early poor spec, and was kept as simple as possible.
The Servlet 3.1 changes in Jetty 9.2 fixed our support to be more correct with the updated clarifications on META-INF/resources/

In your Java7 and Jetty 9.1.3 version, those resources are served in the most convoluted and inefficient way you can imagine.
For each request of content in META-INF/resources/, the content is uncompressed from a twice deep (nested) JarFile reference (every time).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:42 PM, Petar Tahchiev <[hidden email]> wrote:
Thanks for the response.

I'll give it a try.The really interesting thing is that this was working perfectly fine on Java7 and jetty 9.1.3.v20140225 (in fact some of my colleagues are still using that and I've told them not to make a git pull before i fix this).

2015-04-17 1:34 GMT+03:00 Joakim Erdfelt <[hidden email]>:
Its something with the extjs-5.1.0.jar  if you eliminate that as a dependency, then the startup / scan is near instantaneous.
Wonder if that's a bad jar file?
Or if java's java.util.jar.JarFile has issues with the the extjs-5.1.0.jar?

Out of curiosity, why are you including an 81MB jar file full of META-INF/resources/ provided javascript examples in the classpath of your WAR?
Its not like anything can make use of that as it is.

What I haven't tested is the new servlet 3.1 META-INF/resources/ logic.
That requires us to unpack the JAR files in WEB-INF/lib that have META-INF/resources/ into a temporary directory.

Using command line ...

$ jar -xf extjs-5.1.0.jar 

that takes 3 minutes on my machine. (way way too long)
I'm suspicious of that file now.

OK, how about you unpack that jar into your src/main/webapp (stripping the META-INF/resources/ prefixes) during your build instead.
The dependency plugin might be able to handle that (during the generate-resources phase).
Tho the stripping of the prefix might need a secondary step with the assembly plugin (or careful manipulation of the maven-resources-plugin configuration, or <resources> entries)

That will give you the same end result, but without the negative impact of how META-INF/resources/ works during startup


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 3:14 PM, Joakim Erdfelt <[hidden email]> wrote:
The scanning can be improved.
Here's my results (with debug logging turned on)

2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 74ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in 29ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar in 66ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar in 13ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar in 384ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar in 92ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar in 20ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar in 68ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar in 205ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar in 147ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar in 223ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar in 131ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar in 272ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar in 99ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar in 149ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar in 4ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar in 140ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar in 211ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar in 180ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar in 243ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar in 188ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in 1981ms
2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main: Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs in 2321ms for context o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/, jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}

This is on OSX, using Java 8u31.
The extjs-5.1.0.jar only took a scant 2 seconds to scan.
The scan ignored most (if not all) of that jar's contents anyway (no *.class files).
Overall, the scan took 2321ms

The startup, on the other hand, took longer.   About 4 minutes.
The problem is likely somewhere else.  Not sure yet.
I haven't turned on the logging for the spring bytecode scanning yet to know if that's where the time is going.
This environment has a mix of logging infrastructure (commons logging, java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up takes a bit of time (using slf4j to capture it all and route down to a single logging impl).


--
Joakim Erdfelt <[hidden email]>
Expert advice, services and support from from the Jetty & CometD experts

On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell <[hidden email]> wrote:
I just wanted to chime in and say that this behavior is not something
that Jetty is arbitrarily doing, it is mandated by the servlet
specification.
--
jesse mcconnell
[hidden email]


On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev <[hidden email]> wrote:
> Guys I have created a github repository that demonstrates the problem:
>
> https://github.com/paranoiabla/jetty-slow-startup
>
> Just run mvn clean install or mvn jetty:run and you see it hangs.
>
> I'd really appreciate some help here.
>
> 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> Hello all,
>>
>> I just found out what's happening - I have spring-web jar in my classpath,
>> which has a non empty @HandlesTypes annotation so the annotation scanning is
>> happening. My parent pom also includes ext-js webjar:
>>
>>         <!-- Javascript -->
>>         <dependency>
>>             <groupId>org.webjars</groupId>
>>             <artifactId>extjs</artifactId>
>>             <version>${extjs.webjars.version}</version>
>>         </dependency>
>>
>>
>> which (believe it or not) is almost 85MB. If I exclude this dependency
>> from the pom.xml then jetty starts again for 8 seconds. If I leave it in the
>> pom.xml then jetty starts for more than 15 minutes.
>>
>> Please let me know how can I exclude the extjs webjar from annotation
>> scanning.
>>
>> Thanks
>>
>> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>
>>> If any of your libs contain a servletcontainerinitializer that has a non
>>> empty HandlesTypes annotation on it then scanning will be done any way.
>>> Enable debug for org.eclipse.jetty.annotations and you'll see which one it
>>> is.
>>>
>>> Jan
>>>
>>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]> wrote:
>>>>
>>>> Hi there,
>>>>
>>>> I tried adding metadata-complete="true" and also
>>>>
>>>>     <Call name="setAttribute">
>>>>
>>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>         <Arg></Arg>
>>>>     </Call>
>>>>
>>>> to my jetty-env.xml but had no effect - the same amount of time :(
>>>>
>>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev <[hidden email]>
>>>>> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > I tried 9.2.10.v20150310 and it takes more than 10 minutes!!!! With
>>>>> > Java7
>>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think it's
>>>>> > annotation
>>>>> > scanning. Here's the threaddump:
>>>>>
>>>>> So it is annotation scanning.
>>>>> Do you need it ?
>>>>>
>>>>> What's the value for "metadata-complete" attribute in your web.xml ?
>>>>>
>>>>> Read also:
>>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>
>>>>> --
>>>>> Simone Bordet
>>>>> ----
>>>>> http://cometd.org
>>>>> http://webtide.com
>>>>> http://intalio.com
>>>>> Developer advice, training, services and support
>>>>> from the Jetty & CometD experts.
>>>>> Intalio, the modern way to build business applications.
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev


_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611



--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at: https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Jan Bartel-3
Petar,

You can control which jars that are on the *plugin's* classpath and
which jars that are on the *webapp's* classpath to scan. See
http://www.eclipse.org/jetty/documentation/current/using-annotations.html#jars-scanned-for-annotations.
The plugin's classpath == the container classpath, and the webapp's
classpath == the project dependencies.

Jan

On 18 April 2015 at 23:18, Petar Tahchiev <[hidden email]> wrote:

> Hi there,
>
> i've opened a ticket to webjars to exclude the irrelevant content from the
> webjar. But until then I need some solution and according to you guys the
> problem is not in jetty. Can you give me some guidance where it might be?
> Also I don't think the problem is in the jar itself. On my machine unzipping
> took less than 6 seconds:
>
> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
> date
> сб апр 18 16:17:16 EEST 2015
> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
> $JAVA_HOME/bin/jar -xf extjs-5.1.0.jar
> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
> date
> сб апр 18 16:17:22 EEST 2015
> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
>
> Thank you for your effort.
>
>
>
>
> 2015-04-18 15:00 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>
>> I do understand that this is all according to the specification, but is
>> there any way to exclude the jar from being scanned? It's really just an
>> 85MB webjar with javascript and css...
>>
>> 2015-04-17 1:50 GMT+03:00 Joakim Erdfelt <[hidden email]>:
>>>
>>> Jetty 9.1.3 isn't using Servlet 3.1, that's still on Servlet 3.0
>>>
>>> While Servlet 3.0 introduced support for META-INF/resources/, it was a
>>> poor part of the spec until Servlet 3.1.
>>> Jetty technically had support for META-INF/resources/ since Jetty 8, but
>>> it was based on the early poor spec, and was kept as simple as possible.
>>> The Servlet 3.1 changes in Jetty 9.2 fixed our support to be more correct
>>> with the updated clarifications on META-INF/resources/
>>>
>>> In your Java7 and Jetty 9.1.3 version, those resources are served in the
>>> most convoluted and inefficient way you can imagine.
>>> For each request of content in META-INF/resources/, the content is
>>> uncompressed from a twice deep (nested) JarFile reference (every time).
>>>
>>>
>>> --
>>> Joakim Erdfelt <[hidden email]>
>>> webtide.com - intalio.com/jetty
>>> Expert advice, services and support from from the Jetty & CometD experts
>>> eclipse.org/jetty - cometd.org
>>>
>>> On Thu, Apr 16, 2015 at 3:42 PM, Petar Tahchiev <[hidden email]>
>>> wrote:
>>>>
>>>> Thanks for the response.
>>>>
>>>> I'll give it a try.The really interesting thing is that this was working
>>>> perfectly fine on Java7 and jetty 9.1.3.v20140225 (in fact some of my
>>>> colleagues are still using that and I've told them not to make a git pull
>>>> before i fix this).
>>>>
>>>> 2015-04-17 1:34 GMT+03:00 Joakim Erdfelt <[hidden email]>:
>>>>>
>>>>> Its something with the extjs-5.1.0.jar  if you eliminate that as a
>>>>> dependency, then the startup / scan is near instantaneous.
>>>>> Wonder if that's a bad jar file?
>>>>> Or if java's java.util.jar.JarFile has issues with the the
>>>>> extjs-5.1.0.jar?
>>>>>
>>>>> Out of curiosity, why are you including an 81MB jar file full of
>>>>> META-INF/resources/ provided javascript examples in the classpath of your
>>>>> WAR?
>>>>> Its not like anything can make use of that as it is.
>>>>>
>>>>> What I haven't tested is the new servlet 3.1 META-INF/resources/ logic.
>>>>> That requires us to unpack the JAR files in WEB-INF/lib that have
>>>>> META-INF/resources/ into a temporary directory.
>>>>>
>>>>> Using command line ...
>>>>>
>>>>> $ jar -xf extjs-5.1.0.jar
>>>>>
>>>>> that takes 3 minutes on my machine. (way way too long)
>>>>> I'm suspicious of that file now.
>>>>>
>>>>> OK, how about you unpack that jar into your src/main/webapp (stripping
>>>>> the META-INF/resources/ prefixes) during your build instead.
>>>>> The dependency plugin might be able to handle that (during the
>>>>> generate-resources phase).
>>>>> Tho the stripping of the prefix might need a secondary step with the
>>>>> assembly plugin (or careful manipulation of the maven-resources-plugin
>>>>> configuration, or <resources> entries)
>>>>>
>>>>> That will give you the same end result, but without the negative impact
>>>>> of how META-INF/resources/ works during startup
>>>>>
>>>>>
>>>>> --
>>>>> Joakim Erdfelt <[hidden email]>
>>>>> webtide.com - intalio.com/jetty
>>>>> Expert advice, services and support from from the Jetty & CometD
>>>>> experts
>>>>> eclipse.org/jetty - cometd.org
>>>>>
>>>>> On Thu, Apr 16, 2015 at 3:14 PM, Joakim Erdfelt <[hidden email]>
>>>>> wrote:
>>>>>>
>>>>>> The scanning can be improved.
>>>>>> Here's my results (with debug logging turned on)
>>>>>>
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
>>>>>> in 74ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar
>>>>>> in 92ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in
>>>>>> 29ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar
>>>>>> in 66ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in
>>>>>> 188ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
>>>>>> in 13ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar
>>>>>> in 384ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar
>>>>>> in 92ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar
>>>>>> in 20ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar
>>>>>> in 68ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar
>>>>>> in 205ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar
>>>>>> in 147ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar
>>>>>> in 223ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar
>>>>>> in 131ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar
>>>>>> in 272ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar
>>>>>> in 99ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar
>>>>>> in 149ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
>>>>>> in 4ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar
>>>>>> in 140ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar
>>>>>> in 211ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar
>>>>>> in 180ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar
>>>>>> in 243ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar
>>>>>> in 188ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned
>>>>>> file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in
>>>>>> 1981ms
>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>> Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs
>>>>>> in 2321ms for context
>>>>>> o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/,
>>>>>> jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}
>>>>>>
>>>>>> This is on OSX, using Java 8u31.
>>>>>> The extjs-5.1.0.jar only took a scant 2 seconds to scan.
>>>>>> The scan ignored most (if not all) of that jar's contents anyway (no
>>>>>> *.class files).
>>>>>> Overall, the scan took 2321ms
>>>>>>
>>>>>> The startup, on the other hand, took longer.   About 4 minutes.
>>>>>> The problem is likely somewhere else.  Not sure yet.
>>>>>> I haven't turned on the logging for the spring bytecode scanning yet
>>>>>> to know if that's where the time is going.
>>>>>> This environment has a mix of logging infrastructure (commons logging,
>>>>>> java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up
>>>>>> takes a bit of time (using slf4j to capture it all and route down to a
>>>>>> single logging impl).
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Joakim Erdfelt <[hidden email]>
>>>>>> webtide.com - intalio.com/jetty
>>>>>> Expert advice, services and support from from the Jetty & CometD
>>>>>> experts
>>>>>> eclipse.org/jetty - cometd.org
>>>>>>
>>>>>> On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell
>>>>>> <[hidden email]> wrote:
>>>>>>>
>>>>>>> I just wanted to chime in and say that this behavior is not something
>>>>>>> that Jetty is arbitrarily doing, it is mandated by the servlet
>>>>>>> specification.
>>>>>>> --
>>>>>>> jesse mcconnell
>>>>>>> [hidden email]
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev
>>>>>>> <[hidden email]> wrote:
>>>>>>> > Guys I have created a github repository that demonstrates the
>>>>>>> > problem:
>>>>>>> >
>>>>>>> > https://github.com/paranoiabla/jetty-slow-startup
>>>>>>> >
>>>>>>> > Just run mvn clean install or mvn jetty:run and you see it hangs.
>>>>>>> >
>>>>>>> > I'd really appreciate some help here.
>>>>>>> >
>>>>>>> > 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>>>>>> >>
>>>>>>> >> Hello all,
>>>>>>> >>
>>>>>>> >> I just found out what's happening - I have spring-web jar in my
>>>>>>> >> classpath,
>>>>>>> >> which has a non empty @HandlesTypes annotation so the annotation
>>>>>>> >> scanning is
>>>>>>> >> happening. My parent pom also includes ext-js webjar:
>>>>>>> >>
>>>>>>> >>         <!-- Javascript -->
>>>>>>> >>         <dependency>
>>>>>>> >>             <groupId>org.webjars</groupId>
>>>>>>> >>             <artifactId>extjs</artifactId>
>>>>>>> >>             <version>${extjs.webjars.version}</version>
>>>>>>> >>         </dependency>
>>>>>>> >>
>>>>>>> >>
>>>>>>> >> which (believe it or not) is almost 85MB. If I exclude this
>>>>>>> >> dependency
>>>>>>> >> from the pom.xml then jetty starts again for 8 seconds. If I leave
>>>>>>> >> it in the
>>>>>>> >> pom.xml then jetty starts for more than 15 minutes.
>>>>>>> >>
>>>>>>> >> Please let me know how can I exclude the extjs webjar from
>>>>>>> >> annotation
>>>>>>> >> scanning.
>>>>>>> >>
>>>>>>> >> Thanks
>>>>>>> >>
>>>>>>> >> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>>>>> >>>
>>>>>>> >>> If any of your libs contain a servletcontainerinitializer that
>>>>>>> >>> has a non
>>>>>>> >>> empty HandlesTypes annotation on it then scanning will be done
>>>>>>> >>> any way.
>>>>>>> >>> Enable debug for org.eclipse.jetty.annotations and you'll see
>>>>>>> >>> which one it
>>>>>>> >>> is.
>>>>>>> >>>
>>>>>>> >>> Jan
>>>>>>> >>>
>>>>>>> >>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]>
>>>>>>> >>> wrote:
>>>>>>> >>>>
>>>>>>> >>>> Hi there,
>>>>>>> >>>>
>>>>>>> >>>> I tried adding metadata-complete="true" and also
>>>>>>> >>>>
>>>>>>> >>>>     <Call name="setAttribute">
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>>>> >>>>         <Arg></Arg>
>>>>>>> >>>>     </Call>
>>>>>>> >>>>
>>>>>>> >>>> to my jetty-env.xml but had no effect - the same amount of time
>>>>>>> >>>> :(
>>>>>>> >>>>
>>>>>>> >>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>>> >>>>>
>>>>>>> >>>>> Hi,
>>>>>>> >>>>>
>>>>>>> >>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev
>>>>>>> >>>>> <[hidden email]>
>>>>>>> >>>>> wrote:
>>>>>>> >>>>> > Hi,
>>>>>>> >>>>> >
>>>>>>> >>>>> > I tried 9.2.10.v20150310 and it takes more than 10
>>>>>>> >>>>> > minutes!!!! With
>>>>>>> >>>>> > Java7
>>>>>>> >>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think
>>>>>>> >>>>> > it's
>>>>>>> >>>>> > annotation
>>>>>>> >>>>> > scanning. Here's the threaddump:
>>>>>>> >>>>>
>>>>>>> >>>>> So it is annotation scanning.
>>>>>>> >>>>> Do you need it ?
>>>>>>> >>>>>
>>>>>>> >>>>> What's the value for "metadata-complete" attribute in your
>>>>>>> >>>>> web.xml ?
>>>>>>> >>>>>
>>>>>>> >>>>> Read also:
>>>>>>> >>>>>
>>>>>>> >>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>>> >>>>>
>>>>>>> >>>>> --
>>>>>>> >>>>> Simone Bordet
>>>>>>> >>>>> ----
>>>>>>> >>>>> http://cometd.org
>>>>>>> >>>>> http://webtide.com
>>>>>>> >>>>> http://intalio.com
>>>>>>> >>>>> Developer advice, training, services and support
>>>>>>> >>>>> from the Jetty & CometD experts.
>>>>>>> >>>>> Intalio, the modern way to build business applications.
>>>>>>> >>>>> _______________________________________________
>>>>>>> >>>>> jetty-dev mailing list
>>>>>>> >>>>> [hidden email]
>>>>>>> >>>>> To change your delivery options, retrieve your password, or
>>>>>>> >>>>> unsubscribe
>>>>>>> >>>>> from this list, visit
>>>>>>> >>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>>
>>>>>>> >>>> --
>>>>>>> >>>> Regards, Petar!
>>>>>>> >>>> Karlovo, Bulgaria.
>>>>>>> >>>> ---
>>>>>>> >>>> Public PGP Key at:
>>>>>>> >>>>
>>>>>>> >>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>>>>> >>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311
>>>>>>> >>>> 0611
>>>>>>> >>>>
>>>>>>> >>>> _______________________________________________
>>>>>>> >>>> jetty-dev mailing list
>>>>>>> >>>> [hidden email]
>>>>>>> >>>> To change your delivery options, retrieve your password, or
>>>>>>> >>>> unsubscribe
>>>>>>> >>>> from this list, visit
>>>>>>> >>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>> >>>
>>>>>>> >>>
>>>>>>> >>> _______________________________________________
>>>>>>> >>> jetty-dev mailing list
>>>>>>> >>> [hidden email]
>>>>>>> >>> To change your delivery options, retrieve your password, or
>>>>>>> >>> unsubscribe
>>>>>>> >>> from this list, visit
>>>>>>> >>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>> >>
>>>>>>> >>
>>>>>>> >>
>>>>>>> >>
>>>>>>> >> --
>>>>>>> >> Regards, Petar!
>>>>>>> >> Karlovo, Bulgaria.
>>>>>>> >> ---
>>>>>>> >> Public PGP Key at:
>>>>>>> >>
>>>>>>> >> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>>>>> >> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311
>>>>>>> >> 0611
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> >
>>>>>>> > --
>>>>>>> > Regards, Petar!
>>>>>>> > Karlovo, Bulgaria.
>>>>>>> > ---
>>>>>>> > Public PGP Key at:
>>>>>>> >
>>>>>>> > https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>>>>> > Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>>>> >
>>>>>>> > _______________________________________________
>>>>>>> > jetty-dev mailing list
>>>>>>> > [hidden email]
>>>>>>> > To change your delivery options, retrieve your password, or
>>>>>>> > unsubscribe from
>>>>>>> > this list, visit
>>>>>>> > https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>> _______________________________________________
>>>>>>> jetty-dev mailing list
>>>>>>> [hidden email]
>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>> unsubscribe from this list, visit
>>>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards, Petar!
>>>> Karlovo, Bulgaria.
>>>> ---
>>>> Public PGP Key at:
>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>>
>>> _______________________________________________
>>> jetty-dev mailing list
>>> [hidden email]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
>
>
>
> --
> Regards, Petar!
> Karlovo, Bulgaria.
> ---
> Public PGP Key at:
> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>
> _______________________________________________
> jetty-dev mailing list
> [hidden email]
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-dev



--
Jan Bartel <[hidden email]>
www.webtide.com
'Expert Jetty/CometD developer,production,operations advice'
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev
Reply | Threaded
Open this post in threaded view
|

Re: [jetty-dev] [jetty-users] Maven Jetty Plugin Slow with Java8

Jan Bartel-3
I should also have added that you can exclude particular
ServletContainerInitializers from running, even if they are
discovered. See
http://www.eclipse.org/jetty/documentation/current/using-annotations.html#servlet-container-initializers

Jan

On 20 April 2015 at 10:09, Jan Bartel <[hidden email]> wrote:

> Petar,
>
> You can control which jars that are on the *plugin's* classpath and
> which jars that are on the *webapp's* classpath to scan. See
> http://www.eclipse.org/jetty/documentation/current/using-annotations.html#jars-scanned-for-annotations.
> The plugin's classpath == the container classpath, and the webapp's
> classpath == the project dependencies.
>
> Jan
>
> On 18 April 2015 at 23:18, Petar Tahchiev <[hidden email]> wrote:
>> Hi there,
>>
>> i've opened a ticket to webjars to exclude the irrelevant content from the
>> webjar. But until then I need some solution and according to you guys the
>> problem is not in jetty. Can you give me some guidance where it might be?
>> Also I don't think the problem is in the jar itself. On my machine unzipping
>> took less than 6 seconds:
>>
>> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
>> date
>> сб апр 18 16:17:16 EEST 2015
>> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
>> $JAVA_HOME/bin/jar -xf extjs-5.1.0.jar
>> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
>> date
>> сб апр 18 16:17:22 EEST 2015
>> petar@petar-ThinkPad-X1-Carbon:~/.m2/repository/org/webjars/extjs/5.1.0$
>>
>> Thank you for your effort.
>>
>>
>>
>>
>> 2015-04-18 15:00 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>>
>>> I do understand that this is all according to the specification, but is
>>> there any way to exclude the jar from being scanned? It's really just an
>>> 85MB webjar with javascript and css...
>>>
>>> 2015-04-17 1:50 GMT+03:00 Joakim Erdfelt <[hidden email]>:
>>>>
>>>> Jetty 9.1.3 isn't using Servlet 3.1, that's still on Servlet 3.0
>>>>
>>>> While Servlet 3.0 introduced support for META-INF/resources/, it was a
>>>> poor part of the spec until Servlet 3.1.
>>>> Jetty technically had support for META-INF/resources/ since Jetty 8, but
>>>> it was based on the early poor spec, and was kept as simple as possible.
>>>> The Servlet 3.1 changes in Jetty 9.2 fixed our support to be more correct
>>>> with the updated clarifications on META-INF/resources/
>>>>
>>>> In your Java7 and Jetty 9.1.3 version, those resources are served in the
>>>> most convoluted and inefficient way you can imagine.
>>>> For each request of content in META-INF/resources/, the content is
>>>> uncompressed from a twice deep (nested) JarFile reference (every time).
>>>>
>>>>
>>>> --
>>>> Joakim Erdfelt <[hidden email]>
>>>> webtide.com - intalio.com/jetty
>>>> Expert advice, services and support from from the Jetty & CometD experts
>>>> eclipse.org/jetty - cometd.org
>>>>
>>>> On Thu, Apr 16, 2015 at 3:42 PM, Petar Tahchiev <[hidden email]>
>>>> wrote:
>>>>>
>>>>> Thanks for the response.
>>>>>
>>>>> I'll give it a try.The really interesting thing is that this was working
>>>>> perfectly fine on Java7 and jetty 9.1.3.v20140225 (in fact some of my
>>>>> colleagues are still using that and I've told them not to make a git pull
>>>>> before i fix this).
>>>>>
>>>>> 2015-04-17 1:34 GMT+03:00 Joakim Erdfelt <[hidden email]>:
>>>>>>
>>>>>> Its something with the extjs-5.1.0.jar  if you eliminate that as a
>>>>>> dependency, then the startup / scan is near instantaneous.
>>>>>> Wonder if that's a bad jar file?
>>>>>> Or if java's java.util.jar.JarFile has issues with the the
>>>>>> extjs-5.1.0.jar?
>>>>>>
>>>>>> Out of curiosity, why are you including an 81MB jar file full of
>>>>>> META-INF/resources/ provided javascript examples in the classpath of your
>>>>>> WAR?
>>>>>> Its not like anything can make use of that as it is.
>>>>>>
>>>>>> What I haven't tested is the new servlet 3.1 META-INF/resources/ logic.
>>>>>> That requires us to unpack the JAR files in WEB-INF/lib that have
>>>>>> META-INF/resources/ into a temporary directory.
>>>>>>
>>>>>> Using command line ...
>>>>>>
>>>>>> $ jar -xf extjs-5.1.0.jar
>>>>>>
>>>>>> that takes 3 minutes on my machine. (way way too long)
>>>>>> I'm suspicious of that file now.
>>>>>>
>>>>>> OK, how about you unpack that jar into your src/main/webapp (stripping
>>>>>> the META-INF/resources/ prefixes) during your build instead.
>>>>>> The dependency plugin might be able to handle that (during the
>>>>>> generate-resources phase).
>>>>>> Tho the stripping of the prefix might need a secondary step with the
>>>>>> assembly plugin (or careful manipulation of the maven-resources-plugin
>>>>>> configuration, or <resources> entries)
>>>>>>
>>>>>> That will give you the same end result, but without the negative impact
>>>>>> of how META-INF/resources/ works during startup
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Joakim Erdfelt <[hidden email]>
>>>>>> webtide.com - intalio.com/jetty
>>>>>> Expert advice, services and support from from the Jetty & CometD
>>>>>> experts
>>>>>> eclipse.org/jetty - cometd.org
>>>>>>
>>>>>> On Thu, Apr 16, 2015 at 3:14 PM, Joakim Erdfelt <[hidden email]>
>>>>>> wrote:
>>>>>>>
>>>>>>> The scanning can be improved.
>>>>>>> Here's my results (with debug logging turned on)
>>>>>>>
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
>>>>>>> in 74ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/apache/taglibs/taglibs-standard-impl/1.2.1/taglibs-standard-impl-1.2.1.jar
>>>>>>> in 92ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned file:/Users/joakim/Code/git/jetty-slow-startup/target/classes/ in
>>>>>>> 29ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.4.5/jackson-annotations-2.4.5.jar
>>>>>>> in 66ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/javax/servlet/jstl/1.2/jstl-1.2.jar in
>>>>>>> 188ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar
>>>>>>> in 13ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.4.5/jackson-databind-2.4.5.jar
>>>>>>> in 384ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.4.5/jackson-core-2.4.5.jar
>>>>>>> in 92ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-taglibs/3.2.7.RELEASE/spring-security-taglibs-3.2.7.RELEASE.jar
>>>>>>> in 20ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-acl/3.2.7.RELEASE/spring-security-acl-3.2.7.RELEASE.jar
>>>>>>> in 68ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-jdbc/4.1.6.RELEASE/spring-jdbc-4.1.6.RELEASE.jar
>>>>>>> in 205ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-tx/4.1.6.RELEASE/spring-tx-4.1.6.RELEASE.jar
>>>>>>> in 147ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-core/3.2.7.RELEASE/spring-security-core-3.2.7.RELEASE.jar
>>>>>>> in 223ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-aop/4.1.6.RELEASE/spring-aop-4.1.6.RELEASE.jar
>>>>>>> in 131ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-beans/4.1.6.RELEASE/spring-beans-4.1.6.RELEASE.jar
>>>>>>> in 272ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-expression/4.1.6.RELEASE/spring-expression-4.1.6.RELEASE.jar
>>>>>>> in 99ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-web/3.2.7.RELEASE/spring-security-web-3.2.7.RELEASE.jar
>>>>>>> in 149ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
>>>>>>> in 4ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/security/spring-security-config/3.2.7.RELEASE/spring-security-config-3.2.7.RELEASE.jar
>>>>>>> in 140ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-webmvc/4.1.6.RELEASE/spring-webmvc-4.1.6.RELEASE.jar
>>>>>>> in 211ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-web/4.1.6.RELEASE/spring-web-4.1.6.RELEASE.jar
>>>>>>> in 180ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-context/4.1.6.RELEASE/spring-context-4.1.6.RELEASE.jar
>>>>>>> in 243ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/springframework/spring-core/4.1.6.RELEASE/spring-core-4.1.6.RELEASE.jar
>>>>>>> in 188ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned
>>>>>>> file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar in
>>>>>>> 1981ms
>>>>>>> 2015-04-16 15:05:11.418:DBUG:oeja.AnnotationConfiguration:main:
>>>>>>> Scanned 2 container path jars, 21 WEB-INF/lib jars, 1 WEB-INF/classes dirs
>>>>>>> in 2321ms for context
>>>>>>> o.e.j.m.p.JettyWebAppContext@57fbc06f{/backend,[file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/,
>>>>>>> jar:file:/Users/joakim/.m2/repository/org/webjars/extjs/5.1.0/extjs-5.1.0.jar!/META-INF/resources],STARTING}{file:/Users/joakim/Code/git/jetty-slow-startup/src/main/webapp/}
>>>>>>>
>>>>>>> This is on OSX, using Java 8u31.
>>>>>>> The extjs-5.1.0.jar only took a scant 2 seconds to scan.
>>>>>>> The scan ignored most (if not all) of that jar's contents anyway (no
>>>>>>> *.class files).
>>>>>>> Overall, the scan took 2321ms
>>>>>>>
>>>>>>> The startup, on the other hand, took longer.   About 4 minutes.
>>>>>>> The problem is likely somewhere else.  Not sure yet.
>>>>>>> I haven't turned on the logging for the spring bytecode scanning yet
>>>>>>> to know if that's where the time is going.
>>>>>>> This environment has a mix of logging infrastructure (commons logging,
>>>>>>> java.util.logging, jetty logging, log4j, slf4j, and logkit), setting it up
>>>>>>> takes a bit of time (using slf4j to capture it all and route down to a
>>>>>>> single logging impl).
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Joakim Erdfelt <[hidden email]>
>>>>>>> webtide.com - intalio.com/jetty
>>>>>>> Expert advice, services and support from from the Jetty & CometD
>>>>>>> experts
>>>>>>> eclipse.org/jetty - cometd.org
>>>>>>>
>>>>>>> On Thu, Apr 16, 2015 at 2:27 PM, Jesse McConnell
>>>>>>> <[hidden email]> wrote:
>>>>>>>>
>>>>>>>> I just wanted to chime in and say that this behavior is not something
>>>>>>>> that Jetty is arbitrarily doing, it is mandated by the servlet
>>>>>>>> specification.
>>>>>>>> --
>>>>>>>> jesse mcconnell
>>>>>>>> [hidden email]
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Apr 16, 2015 at 3:33 PM, Petar Tahchiev
>>>>>>>> <[hidden email]> wrote:
>>>>>>>> > Guys I have created a github repository that demonstrates the
>>>>>>>> > problem:
>>>>>>>> >
>>>>>>>> > https://github.com/paranoiabla/jetty-slow-startup
>>>>>>>> >
>>>>>>>> > Just run mvn clean install or mvn jetty:run and you see it hangs.
>>>>>>>> >
>>>>>>>> > I'd really appreciate some help here.
>>>>>>>> >
>>>>>>>> > 2015-04-16 22:48 GMT+03:00 Petar Tahchiev <[hidden email]>:
>>>>>>>> >>
>>>>>>>> >> Hello all,
>>>>>>>> >>
>>>>>>>> >> I just found out what's happening - I have spring-web jar in my
>>>>>>>> >> classpath,
>>>>>>>> >> which has a non empty @HandlesTypes annotation so the annotation
>>>>>>>> >> scanning is
>>>>>>>> >> happening. My parent pom also includes ext-js webjar:
>>>>>>>> >>
>>>>>>>> >>         <!-- Javascript -->
>>>>>>>> >>         <dependency>
>>>>>>>> >>             <groupId>org.webjars</groupId>
>>>>>>>> >>             <artifactId>extjs</artifactId>
>>>>>>>> >>             <version>${extjs.webjars.version}</version>
>>>>>>>> >>         </dependency>
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >> which (believe it or not) is almost 85MB. If I exclude this
>>>>>>>> >> dependency
>>>>>>>> >> from the pom.xml then jetty starts again for 8 seconds. If I leave
>>>>>>>> >> it in the
>>>>>>>> >> pom.xml then jetty starts for more than 15 minutes.
>>>>>>>> >>
>>>>>>>> >> Please let me know how can I exclude the extjs webjar from
>>>>>>>> >> annotation
>>>>>>>> >> scanning.
>>>>>>>> >>
>>>>>>>> >> Thanks
>>>>>>>> >>
>>>>>>>> >> 2015-04-16 15:16 GMT+03:00 Jan Bartel <[hidden email]>:
>>>>>>>> >>>
>>>>>>>> >>> If any of your libs contain a servletcontainerinitializer that
>>>>>>>> >>> has a non
>>>>>>>> >>> empty HandlesTypes annotation on it then scanning will be done
>>>>>>>> >>> any way.
>>>>>>>> >>> Enable debug for org.eclipse.jetty.annotations and you'll see
>>>>>>>> >>> which one it
>>>>>>>> >>> is.
>>>>>>>> >>>
>>>>>>>> >>> Jan
>>>>>>>> >>>
>>>>>>>> >>> On 16/04/2015 8:39 am, "Petar Tahchiev" <[hidden email]>
>>>>>>>> >>> wrote:
>>>>>>>> >>>>
>>>>>>>> >>>> Hi there,
>>>>>>>> >>>>
>>>>>>>> >>>> I tried adding metadata-complete="true" and also
>>>>>>>> >>>>
>>>>>>>> >>>>     <Call name="setAttribute">
>>>>>>>> >>>>
>>>>>>>> >>>>
>>>>>>>> >>>> <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
>>>>>>>> >>>>         <Arg></Arg>
>>>>>>>> >>>>     </Call>
>>>>>>>> >>>>
>>>>>>>> >>>> to my jetty-env.xml but had no effect - the same amount of time
>>>>>>>> >>>> :(
>>>>>>>> >>>>
>>>>>>>> >>>> 2015-04-16 1:35 GMT+03:00 Simone Bordet <[hidden email]>:
>>>>>>>> >>>>>
>>>>>>>> >>>>> Hi,
>>>>>>>> >>>>>
>>>>>>>> >>>>> On Wed, Apr 15, 2015 at 9:57 PM, Petar Tahchiev
>>>>>>>> >>>>> <[hidden email]>
>>>>>>>> >>>>> wrote:
>>>>>>>> >>>>> > Hi,
>>>>>>>> >>>>> >
>>>>>>>> >>>>> > I tried 9.2.10.v20150310 and it takes more than 10
>>>>>>>> >>>>> > minutes!!!! With
>>>>>>>> >>>>> > Java7
>>>>>>>> >>>>> > and version 9.1.3.v20140225 it takes 8 seconds! I also think
>>>>>>>> >>>>> > it's
>>>>>>>> >>>>> > annotation
>>>>>>>> >>>>> > scanning. Here's the threaddump:
>>>>>>>> >>>>>
>>>>>>>> >>>>> So it is annotation scanning.
>>>>>>>> >>>>> Do you need it ?
>>>>>>>> >>>>>
>>>>>>>> >>>>> What's the value for "metadata-complete" attribute in your
>>>>>>>> >>>>> web.xml ?
>>>>>>>> >>>>>
>>>>>>>> >>>>> Read also:
>>>>>>>> >>>>>
>>>>>>>> >>>>> https://www.eclipse.org/jetty/documentation/current/using-annotations.html
>>>>>>>> >>>>>
>>>>>>>> >>>>> --
>>>>>>>> >>>>> Simone Bordet
>>>>>>>> >>>>> ----
>>>>>>>> >>>>> http://cometd.org
>>>>>>>> >>>>> http://webtide.com
>>>>>>>> >>>>> http://intalio.com
>>>>>>>> >>>>> Developer advice, training, services and support
>>>>>>>> >>>>> from the Jetty & CometD experts.
>>>>>>>> >>>>> Intalio, the modern way to build business applications.
>>>>>>>> >>>>> _______________________________________________
>>>>>>>> >>>>> jetty-dev mailing list
>>>>>>>> >>>>> [hidden email]
>>>>>>>> >>>>> To change your delivery options, retrieve your password, or
>>>>>>>> >>>>> unsubscribe
>>>>>>>> >>>>> from this list, visit
>>>>>>>> >>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>>> >>>>
>>>>>>>> >>>>
>>>>>>>> >>>>
>>>>>>>> >>>>
>>>>>>>> >>>> --
>>>>>>>> >>>> Regards, Petar!
>>>>>>>> >>>> Karlovo, Bulgaria.
>>>>>>>> >>>> ---
>>>>>>>> >>>> Public PGP Key at:
>>>>>>>> >>>>
>>>>>>>> >>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>>>>>> >>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311
>>>>>>>> >>>> 0611
>>>>>>>> >>>>
>>>>>>>> >>>> _______________________________________________
>>>>>>>> >>>> jetty-dev mailing list
>>>>>>>> >>>> [hidden email]
>>>>>>>> >>>> To change your delivery options, retrieve your password, or
>>>>>>>> >>>> unsubscribe
>>>>>>>> >>>> from this list, visit
>>>>>>>> >>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>> _______________________________________________
>>>>>>>> >>> jetty-dev mailing list
>>>>>>>> >>> [hidden email]
>>>>>>>> >>> To change your delivery options, retrieve your password, or
>>>>>>>> >>> unsubscribe
>>>>>>>> >>> from this list, visit
>>>>>>>> >>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >> --
>>>>>>>> >> Regards, Petar!
>>>>>>>> >> Karlovo, Bulgaria.
>>>>>>>> >> ---
>>>>>>>> >> Public PGP Key at:
>>>>>>>> >>
>>>>>>>> >> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>>>>>> >> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311
>>>>>>>> >> 0611
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > --
>>>>>>>> > Regards, Petar!
>>>>>>>> > Karlovo, Bulgaria.
>>>>>>>> > ---
>>>>>>>> > Public PGP Key at:
>>>>>>>> >
>>>>>>>> > https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>>>>>> > Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>>>>> >
>>>>>>>> > _______________________________________________
>>>>>>>> > jetty-dev mailing list
>>>>>>>> > [hidden email]
>>>>>>>> > To change your delivery options, retrieve your password, or
>>>>>>>> > unsubscribe from
>>>>>>>> > this list, visit
>>>>>>>> > https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>>> _______________________________________________
>>>>>>>> jetty-dev mailing list
>>>>>>>> [hidden email]
>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>> unsubscribe from this list, visit
>>>>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> jetty-dev mailing list
>>>>>> [hidden email]
>>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>>> from this list, visit
>>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Regards, Petar!
>>>>> Karlovo, Bulgaria.
>>>>> ---
>>>>> Public PGP Key at:
>>>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>>>>
>>>>> _______________________________________________
>>>>> jetty-dev mailing list
>>>>> [hidden email]
>>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>>> from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> jetty-dev mailing list
>>>> [hidden email]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>>>
>>>
>>>
>>>
>>> --
>>> Regards, Petar!
>>> Karlovo, Bulgaria.
>>> ---
>>> Public PGP Key at:
>>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>
>>
>>
>>
>> --
>> Regards, Petar!
>> Karlovo, Bulgaria.
>> ---
>> Public PGP Key at:
>> https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
>> Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611
>>
>> _______________________________________________
>> jetty-dev mailing list
>> [hidden email]
>> To change your delivery options, retrieve your password, or unsubscribe from
>> this list, visit
>> https://dev.eclipse.org/mailman/listinfo/jetty-dev
>
>
>
> --
> Jan Bartel <[hidden email]>
> www.webtide.com
> 'Expert Jetty/CometD developer,production,operations advice'



--
Jan Bartel <[hidden email]>
www.webtide.com
'Expert Jetty/CometD developer,production,operations advice'
_______________________________________________
jetty-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-dev