cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gelo1234 <gelo1...@gmail.com>
Subject Deployment scenarios for cocoon 3.0
Date Wed, 30 Jan 2013 10:19:05 GMT
Hello,

Im thinking about applying several urgent patches onto the running cocoon
3.0 web app _without_ application server restart (be it Tomcat).

Lets say I want to modify some code inside REST Controller
(MyRestController).
I presume that If I make some change in REST Controller class i wont be
able just to replace jar/class files on running Tomcat and thats it. It
will NOT pick up the changes.

So lets say i create a new class flle (another version of REST Controller:
MyRestController2) and upload that class/jar file to Tomcat, then change
Cocoon sitemap.xmap to have a new class:

<controller:call controller="rest-controller"
select="com.foo.controller.MyRestController2">
...
</controller:call>

and thats it ? Will Cocoon pick it up correctly WITHOUT Tomcat restart and
use the new code ?

Or yet I have to update/refresh somehow Spring context/configuration ?

<context:component-scan base-package="com.foo.controller"
use-default-filters="false"

name-generator="org.apache.cocoon.rest.controller.ControllerBeanNameGenerator"

scope-resolver="org.apache.cocoon.rest.controller.ControllerBeanScopeResolver">
    <context:include-filter type="annotation"
expression="org.apache.cocoon.rest.controller.annotation.RESTController" />
  </context:component-scan>

<context:annotation-config />

I know its NOT a good practice to "hot deploy" such code on a production
servers but sometimes you just need fast update and cannot restart app
server or use some 3rd party tools like Live Rebel etc.
I don't want to introduce a new block with the new controller in cocoon
app, because that would also be a valid option as i presume ?

Greetings,
Greg

Mime
View raw message