Post on 21-Jan-2018
_
_
_
_
_
_
_
a presentation from 2001
J2EE Servlet Sessions
_ javax.servlet.http.HttpSession
_ A way to identify a user across more than one page request or visit to a Web site and to store information about that user.
_ Application servers implement high availability features• Replication, failover
J2EE Servlet Sessions API
_ Attributes• set/getAttribute
_ Listeners• Adding/removing attributes• Creation/Expiry of sessions• Failover of sessions
_ Propagated via cookie (JSESSIONID) or via URL or via FORM parameters
jsessionattribute value
attribute value
attribute value
Set-Cookie:
JSESSIONID=eVMwvIslqWWdilsxbs!738403096!-1321526768;
path=/; secure; HttpOnly
_
_
_
•
•
•
_
_
10
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
•
_
_
11
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
New Gen Old Gen Meta
_
_
•
•
•
•
•
•
•
•
12
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
_
•
•
•
•
•
•
•
•
13
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
Since beginning of sessions - slow
_
•
•
_
_
•
•
14
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
key{sharding_part}
twemproxy
_
•
•
•
_
•
•
15
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
_
_
16
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
•
•
_
_
•
17
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
key{sharding_part}
_
_
_
•
•
•
•
19
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
•
_
_
•
•
••
•
•
_
20
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
• Filter
• HttpServletRequestWrapper.getSession()
_
•
_
21
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
Web App
Filter
_
27
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
_
28
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
•
_
•
_
•
•
•
_
•
_
33
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
expiresession1 instantsession2 instantsession3 instant
_
•
•
_
•
•
_
•
••
34
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
expiresession1 instantsession2 instantsession3 instant
_
•
_
•
_
•
36
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
DEPENDENCIES!
_
_
_
_
37
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
Session Filter
Web App
Filter
Filter
_
_
•
•
•
_
•
39
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
Agent
Container
Web App
Filter
_
•
_
•
•
•
•
_
41
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
java -javagent:$SESSION_PATH/session-agent.jar \-jar ../start.jar \--lib=$SESSION_PATH/session-replacement-shaded.jar
_
42
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
43
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
44
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
•
•
•
45
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
46
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
•
_
•
•
47
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
_
•
_
•
_
•
•
© A
mad
eus
IT G
rou
p a
nd
its
affi
liate
s an
d s
ub
sid
iari
es
You can follow us on:
AmadeusITgroupamadeus.comamadeus.com/blog