- This topic has 4 replies, 3 voices, and was last updated 17 years, 11 months ago by mortennesvik.
-
AuthorPosts
-
krausestMember[Disclaimer: This is a bit off-topic, but still relevant for myeclipse users, because it fits so nicely with the deployment features of myeclipse]
I’d like to hear about your experiences with appservers and hot-deployment.Which appserver do you use? What kind of reloading does it allow? I guess every appserver allows for JSP reloading, servlet reloading is mostly possible, but EJB reloading seems to be a hard one.
With reloading I mean that one just edits the source code compiles and the appserver picks up the changes (even changes that can’t be done with hotswapping in the debugger like changing method signatures etc.).
I’m most interested in EJB reloading because this turned out to speed up the development process. I had it working on Weblogic 8.1 but haven’t managed to get it working with any other server. Has anyone else EJB reloading working?
My Experiences are:
Tomat 5.5:
JSP and Servlet reloading work if I create a context configuration file and enable reloading in this file (conf\Catalina\localhost\[context].xml and insert reloadable=”true” in the Context element)JBoss 4:
JSP and Servlet reload work If default\deploy\jbossweb-tomcat55.sar\context.xml includes the reloadable=”true” in the context element. EJB reloading doesn’t work – restarting the application is required.Yours,
Stefan
Riyad KallaMemberThe hot syncing’s sensativity to changes is dependent on your VM. Typically the more advanced the VM (later the revision) the more tollerant the hot syncing is.
I think in some cases where you get specific JDK’s, App Servers and IDEs that are all from the same vendor, you can squeeze out improved hotsyncing.
krausestMember@support-rkalla wrote:
The hot syncing’s sensativity to changes is dependent on your VM. Typically the more advanced the VM (later the revision) the more tollerant the hot syncing is.
I think in some cases where you get specific JDK’s, App Servers and IDEs that are all from the same vendor, you can squeeze out improved hotsyncing.
I’m under the impression that the vm doesn’t make the difference but a classloader that simply reloads the class (or application). As far as I know current VMs only support hot swapping of code as long as the signature of the method is unchanged – but I’m not a VM expert!
I guess you support guys know best which app server allow easy (re-)deployment (e.g. rmic for ejb is a killer) and maybe which handle class realoding cleverly, would you share your knowledge with us?
Riyad KallaMemberI’m under the impression that the vm doesn’t make the difference but a classloader that simply reloads the class (or application). As far as I know current VMs only support hot swapping of code as long as the signature of the method is unchanged – but I’m not a VM expert!
You are correct
I guess you support guys know best which app server allow easy (re-)deployment (e.g. rmic for ejb is a killer) and maybe which handle class realoding cleverly, would you share your knowledge with us?
We’ve seen the best support for this in JBoss, but for truely awesome hot swapping I don’t know what how BEA IDE/WebLogic/JRockit or WSAD/WS/IBM JDK combinations compare or if they have some “secret” hooks that allow more forgiving hot swaps.
mortennesvikMemberSecret hook for WebSphere to get hot deploy to function properly: Add the following JVM parameters (I added it in Eclipse -> Window -> Preferences -> Java -> Installed JREs -> WebSphere VM -> Edit…):
-Xj9 -Dcom.ibm.ws.classloader.j9enabled=true
-
AuthorPosts