[
https://issues.apache.org/jira/browse/WICKET-6809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17169930#comment-17169930
]
Bernard commented on WICKET-6809:
---------------------------------
I can clearly understand your position. Who wants to deal with legacy code? But
the reality is that I do not have a choice because my application depends on
GlassFish and there is no GlassFish for version 9. Therefore, I am keen to hear
what I can do to move forward.
I wish to also raise a general point. I started using Wicket before version
1.4. At that time, the Wicket team had a very solid position that pages should
throw the dreaded PageExpiredException based on some kind of principle that I
disagreed with. That PageExpiredException, the difficulty to write stateless
pages, and the difficulty to create clean URL mappings has made the project
very unpopular and alienated many developers.
Today, I can say that I was right because many of the problems are solved now,
partly based on a number of issues including enhancements that I requested
which blurred the line between stateful and stateless pages. Please look at
|https://issues.apache.org/jira/browse/WICKET-5070
|Optionally execute Callback Behavior on Re-construction after Expiry|
|
Wicket has an inherent productivity advantage if used correctly. But this
advantage is quickly lost with bugs like these.
At the time, many years back, that big project I was working on has suffered a
lot under these bugs. I am reviewing these issues now and I can see how the
time it took me to deal with these issues, the lost time, had a major impact on
that project, too much of an impact actually.
I have that strange feeling that many developers have been turned away because
a lot of fundamental features including re-deployment on an application server
did not get enough attention. The fact is that there are no Wicket jobs out
there today basically.
> wicket-core-8.9.0.jar not closed when Application is undeployed from an
> application server
> ------------------------------------------------------------------------------------------
>
> Key: WICKET-6809
> URL: https://issues.apache.org/jira/browse/WICKET-6809
> Project: Wicket
> Issue Type: Bug
> Components: wicket-core
> Affects Versions: 8.9.0
> Environment: Windows 7
> java version "1.8.0_201"
> Reporter: Bernard
> Assignee: Sven Meier
> Priority: Critical
> Attachments: Testcase.zip
>
>
> How to reproduce:
> - Use the attached quickstart
> - deploy it on the GlassFish server with directory deployment (I use
> NetBeans which is easy) but Windows command files are provided
> - open the application in the browser
> - undeploy the application
> - try to execute the maven clean goal or try to delete the target dir
> Maven error: Failed to delete ... WEB-INF\lib\wicket-core-8.9.0.jar
> Please inspect for WICKET-4458 for how to use the ZipFileMonitor tool which
> is included in the attached quickstart. The output of the show command is as
> follows:
> ..Opened by hashCode object 3192 from:
> java.util.jar.JarFile.<init>(java\util\jar\JarFile.java:168)
> java.util.jar.JarFile.<init>(java\util\jar\JarFile.java:103)
>
> sun.net.www.protocol.jar.URLJarFile.<init>(sun\net\www\protocol\jar\URLJarFile.java:93)
>
> sun.net.www.protocol.jar.URLJarFile.getJarFile(sun\net\www\protocol\jar\URLJarFile.java:69)
>
> sun.net.www.protocol.jar.JarFileFactory.get(sun\net\www\protocol\jar\JarFileFactory.java:94)
>
> sun.net.www.protocol.jar.JarURLConnection.connect(sun\net\www\protocol\jar\JarURLConnection.java:122)
>
> sun.net.www.protocol.jar.JarURLConnection.getInputStream(sun\net\www\protocol\jar\JarURLConnection.java:152)
> java.net.URL.openStream(java\net\URL.java:1045)
> java.util.ServiceLoader.parse(java\util\ServiceLoader.java:304)
> java.util.ServiceLoader.access$200(java\util\ServiceLoader.java:185)
>
> java.util.ServiceLoader$LazyIterator.hasNextService(java\util\ServiceLoader.java:357)
>
> java.util.ServiceLoader$LazyIterator.hasNext(java\util\ServiceLoader.java:393)
> java.util.ServiceLoader$1.hasNext(java\util\ServiceLoader.java:474)
>
> org.apache.wicket.Application.initInitializers(org\apache\wicket\Application.java:568)
>
> org.apache.wicket.Application.initApplication(org\apache\wicket\Application.java:782)
>
> org.apache.wicket.protocol.http.WicketFilter.init(org\apache\wicket\protocol\http\WicketFilter.java:444)
>
> org.apache.wicket.protocol.http.WicketFilter.init(org\apache\wicket\protocol\http\WicketFilter.java:368)
>
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(org\apache\catalina\core\ApplicationFilterConfig.java:226)
> This indicates that we may have a similar problem or a regression. It should
> be somewhat easier now to fix.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)