|
From: Nicolas De L. <nic...@ca...> - 2006-06-20 08:39:46
|
Rob Harrop a =E9crit : > This is something that Adrian and I have been discussing for some =20 > time. In theory it is entirely possible, but we have all seen enough =20 > horror at the hands of classloaders to know that it isnt entirely =20 > trivial.=20 Isn't Spring expected to make easy those non-trivial stuff ;-) > One interesting thing to note is that all valid Java =20 > programs are valid Groovy programs.=20 I did not try groovy miself. Does this mean that I can open a .java file=20 using Spring groovy script support and get a bean ? > Another area that may be of =20 > interest to many people is the ability to embed the JDT compiler from =20 > Eclipse to compile sources on the fly. > > In practice on the fly compilation for certain classes that are =20 > hidden behind statically compiled interfaces is not tremendously =20 > difficult. The issues arise when you start to talk about dynamically =20 > compiling the entire application and arbitrarily replacing individual =20 > pieces. This can result in some very interesting dependency issues. > =20 I was expecting such restriction. I only consider the ability to change=20 service code on the fly without repackaging / redeploying / restarting=20 my webapp. I know jetty runner starts quicker than tomcat and Spring 2.0=20 has better lazy-init support, but this only make this process quicker,=20 not easier. Some of my process requires to follow a long flow in the=20 webapp, and I need to repeat it on every code change. Hot-replacing the=20 service implementation code would make it trivial. That beeing said, if you find a way to solve those=20 classloading/compiling issues for replacing arbitrary code in a running=20 app and hot-refactoring interfaces, you're welcome :-D I'll take a look at Niklas suggestion about janino classloader. Thanks. Nico. > Rob > > On 20 Jun 2006, at 08:47, Niklas Therning wrote: > =20 This message contains information that may be privileged or confidential = and is the property of the Capgemini Group. It is intended only for the p= erson to whom it is addressed. If you are not the intended recipient, yo= u are not authorized to read, print, retain, copy, disseminate, distribu= te, or use this message or any part thereof. If you receive this message= in error, please notify the sender immediately and delete all copies of= this message. |