we have the problem, that it is not possible for us or our clients to
un-/redeploy our app the usual way (tomcat manager or websphere
console). Our environment is Tomcat 7 (windows) or Websphere 8 (suse
linux), RAP 1.5.

When undeploying the app it seems, that not everything get deleted. In
Tomcat some artifakts remain in folder "/work" and on websphere in the
folders "myprofile/temp", "myprofile/wstemp" and "myprofile/config". The
result is, that we and our clients have to undeploy, shutdown the
server, start the sever, and the deploy then deploy the application. So
all webapps of the server are temp. not available while updating the RAP
app.

Some investigation in tomcat shows, that the problem only occurs if
session are open on the app. Expiring the sessions first does not lead
to the problem in tomcat.

Markus Duft <forums-noreply@xxxxxxxx> wrote:
> we have a big product using 2.0.0 deployed as war file built using the
> warproducts stuff from project libra. it all deploys, reloads and
> undeploys clean on tomcat 6 & 7.

I just found the follwing sentence in the RAP developer documentation:

"If you are re-deploying, make sure to delete the work directory of your
servlet engine (e.g.
<tomcat_install>/work/Catalina/localhost/<webapp_name> in Tomcat)."

So is this known already?

Am 01.03.2013 14:53, schrieb Markus Krüger:
> Hi,
>
> we have the problem, that it is not possible for us or our clients to
> un-/redeploy our app the usual way (tomcat manager or websphere
> console). Our environment is Tomcat 7 (windows) or Websphere 8 (suse
> linux), RAP 1.5.
>
> When undeploying the app it seems, that not everything get deleted. In
> Tomcat some artifakts remain in folder "/work" and on websphere in the
> folders "myprofile/temp", "myprofile/wstemp" and "myprofile/config". The
> result is, that we and our clients have to undeploy, shutdown the
> server, start the sever, and the deploy then deploy the application. So
> all webapps of the server are temp. not available while updating the RAP
> app.
>
> Some investigation in tomcat shows, that the problem only occurs if
> session are open on the app. Expiring the sessions first does not lead
> to the problem in tomcat.
>
> It is also reproducible with the rapdemo.war provided in the help, but
> this already includes RAP 2.0 and we use 1.5:
> http://rap.eclipsesource.com/download/rapdemo.war
>
> I found some rather old links in google regarding a similiar or the same
> issue for equinox server side:
> http://www.eclipse.org/forums/index.php/mv/msg/158401/500404/#msg_500404
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=190279
>
> Does anyone have the same issue or a solution for this?
>
> Regards,
> Markus

We did several improvements to the server push in RAP 1.5 and again in
2.0. As far as I can tell, these problems have vanished in RAP 2.0. I'm
now able to deploy and undeploy RAP applications without any problems.

the following plugins now still exist in
D:\apache-tomcat-7.0.37\work\Catalina\localhost\rapdemo\eclipse\plugins:
- org.eclipse.rap.rwt_2.0.0.20130205-1612.jar
- org.eclipse.rap.examples_2.0.0.20130124-1720.jar

and the following errors occur

06.03.2013 16:49:49 org.apache.catalina.session.StandardManager stopInternal
SCHWERWIEGEND: Exception unloading sessions to persistent storage
java.lang.IllegalStateException: Resources directory not configured
at
org.eclipse.rap.rwt.internal.resources.ResourceDirectory.getDirectory(ResourceDirectory.java:48)
at
org.eclipse.rap.rwt.internal.resources.ResourceManagerImpl.getDiskLocation(ResourceManagerImpl.java:176)
at
org.eclipse.rap.rwt.internal.resources.ResourceManagerImpl.getRegisteredContent(ResourceManagerImpl.java:114)
at
org.eclipse.swt.graphics.ImageSerializer.getImageBytes(ImageSerializer.java:79)
at
org.eclipse.swt.graphics.ImageSerializer.writeObject(ImageSerializer.java:68)
at org.eclipse.swt.graphics.Image.writeObject(Image.java:436)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1346)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1154)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at java.util.HashMap.writeObject(HashMap.java:1001)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at
org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1671)
at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:1077)
at
org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:432)
at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:353)
at
org.apache.catalina.session.StandardManager.stopInternal(StandardManager.java:518)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at
org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5479)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at
org.apache.catalina.manager.ManagerServlet.undeploy(ManagerServlet.java:1359)
at
org.apache.catalina.manager.HTMLManagerServlet.undeploy(HTMLManagerServlet.java:674)
at
org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:215)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
06.03.2013 16:49:50 org.apache.catalina.startup.HostConfig
deleteRedeployResources
INFO: Undeploying context [/rapdemo]
06.03.2013 16:49:50 org.apache.catalina.startup.ExpandWar deleteDir
SCHWERWIEGEND:
[D:\apache-tomcat-7.0.37\work\Catalina\localhost\rapdemo\eclipse\plugins] could
not be completely deleted. The presence of the remaining files may cause
problems
06.03.2013 16:49:50 org.apache.catalina.startup.ExpandWar deleteDir
SCHWERWIEGEND:
[D:\apache-tomcat-7.0.37\work\Catalina\localhost\rapdemo\eclipse] could
not be completely deleted. The presence of the remaining files may cause
problems
06.03.2013 16:49:50 org.apache.catalina.startup.ExpandWar deleteDir
SCHWERWIEGEND: [D:\apache-tomcat-7.0.37\work\Catalina\localhost\rapdemo]
could not be completely deleted. The presence of the remaining files may
cause problems
06.03.2013 16:49:50 org.apache.catalina.startup.ExpandWar delete
SCHWERWIEGEND: [D:\apache-tomcat-7.0.37\work\Catalina\localhost\rapdemo]
could not be completely deleted. The presence of the remaining files may
cause problems