Deployment scenarios for cocoon 3.0
gelo1234 <[email protected]>
| Newsgroups | gmane.text.xml.cocoon.user |
|---|---|
| Message-ID | <CAPJaKUohzta81MbUJ1L7xk6s5A5cpBGHVSL0piEM9eyTqL90oQ@mail.gmail.com> |
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