8. JeAy
Launcher
public class Launcher {
public static void main(String[] args) {
Server server = new Server();
SelectChannelConnector connector
= new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
WebAppContext context = new WebAppContext("war", "/");
server.setHandler(context);
server.start();
}
}
Saturday, April 21, 12
16. Web
ApplicaBon
Redeployment
Process
Session
Classes Servlet
State
Libraries
OldClassLoader
Saturday, April 21, 12
17. Web
ApplicaBon
Redeployment
Process
Session
Classes Servlet
State
Libraries
OldClassLoader NewClassLoader
Saturday, April 21, 12
18. Web
ApplicaBon
Redeployment
Process
Session
Classes Servlet Classes
State
Libraries Libraries
OldClassLoader NewClassLoader
Saturday, April 21, 12
19. Web
ApplicaBon
Redeployment
Process
Session
Classes Servlet Classes Servlet
State
Libraries Libraries
OldClassLoader NewClassLoader
Saturday, April 21, 12
20. Web
ApplicaBon
Redeployment
Process
init()
Session
Classes Servlet Classes Servlet
State State
Libraries Libraries
OldClassLoader NewClassLoader
Saturday, April 21, 12
21. Web
ApplicaBon
Redeployment
Process
Serialize/deserialize
Session Session
Classes Servlet Classes Servlet
State State
Libraries Libraries
OldClassLoader NewClassLoader
Saturday, April 21, 12
22. Web
ApplicaBon
Redeployment
Process
Session Session
Classes Servlet Classes Servlet
State State
Libraries Libraries
OldClassLoader NewClassLoader
Saturday, April 21, 12
23. Web
ApplicaBon
Redeployment
Process
Session
Classes Servlet
State
Libraries
NewClassLoader
Saturday, April 21, 12
24. Web
ApplicaBon
Redeployment
Process
Session Session
Classes Servlet Classes Servlet
State State
Libraries Libraries
OldClassLoader NewClassLoader
Saturday, April 21, 12
27. HotSwap
Make
changes
in
IDE
ClassLoader
MyObject.class
Code
101000101 HotSwap
100010010 New
code
111000100
101010010
MyObject
Saturday, April 21, 12
28. JRebel
Make
changes
in
IDE
ClassLoader
MyObject.class
Code
101000101
New
code
JRebel
100010010
111000100
101010010
MyObject
Saturday, April 21, 12
30. JRebel
Make
changes
in
IDE
ClassLoader
MyObject.class
Code
101000101
New
code
JRebel
100010010
111000100
101010010
MyObject
Saturday, April 21, 12
31. JRebel
Make
changes
in
IDE
ClassLoader
Framework
MyObject.class
Code
101000101
New
code
JRebel
100010010
111000100
101010010
MyObject
Saturday, April 21, 12
32. JRebel
Make
changes
in
IDE
ClassLoader
Framework
MyObject.class
Code
101000101
New
code
JRebel
100010010
111000100
101010010
MyObject
ConfiguraGon
(XML,
annotaGons,..)
Saturday, April 21, 12
33. getResource(“hello.html”) read(“src/main/.../hello.html”)
virtual
mapping
MyApp.war
Saturday, April 21, 12