39. HOT reloading
ClassCastException IllegalAccessException
Thursday, April 8, 2010
40. HOT reloading
HOT reloading
Slim3 CoolBridge
Thursday, April 8, 2010
41. HOT reloading
Bootstrap
• Bootstrap classes of your JVM
System • System class loader classses
• /WEB-INF/classes of your web application
Common • /WEB-INF/lib/*.jar of your web application
• $CATALINA_HOME/lib
Application • $CATALINA_HOME/lib/*.jar
Tomcat6
http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html
Thursday, April 8, 2010
42. HOT reloading
Bootstrap HotReloadingClassLoader
→Request
System ※Cool
Common
Request
Application
HotReloadingClassLoader
HotReloadingClassLoader
Request
Thursday, April 8, 2010
43. HOT reloading
Static
Bootstrap
Web
HOT reloading
System
HOT reloading
Common COOL
cool
Application
HotReloadingClassLoader
※
Thursday, April 8, 2010
44. HOT reloading
Bootstrap COOL HOT reloading
ClassCastException
System
Web Application
Common HotReloadingClassLoader
Application
COOL HOT reloading
CoolBridge
HotReloadingClassLoader
Thursday, April 8, 2010
45. HOT reloading
cool Interface
Interface HOT reloading
“.cool”
CoolBridge
Thursday, April 8, 2010
46. HOT reloading
COOL interface HOT reloadable implementation class
package root.cool.service; package root.service;
public interface EeeService { import root.cool.service.EeeService;
void foo();
} public class EeeServiceImpl implements
EeeService {
public void foo() {
Bbb bbb = new Bbb();
...
}
}
EeeService service = CoolBridge.create(EeeService.class);
service.foo();
http://sites.google.com/site/slim3documentja/documents/hot-reloading
Thursday, April 8, 2010
47. HOT reloading
HOT reloading
ClassCastException IllegalAccessException
CoolBridge
Thursday, April 8, 2010
48. *.gwt.xml
entry-point
Service
Slim3 Validation
Slim3 DataStore
Thursday, April 8, 2010
49. Web Application Project
Slim3 Google Code (http://
code.google.com/p/slim3) Slim3-blank-
x.x.x.zip
Zip
Java Build Path, Factory Path, web.xml
Thursday, April 8, 2010
50. Factory Path Meta
http://sites.google.com/site/slim3documentja/getting-started/getting-blank-project
Thursday, April 8, 2010
71. Slim3 DataStore
Google App Engine Transaction
Slim3 Global Transaction
Transaction Entity Group Transaction
Slim3 Global Transaction
※ Entity Group Transaction Global Transaction
Thursday, April 8, 2010