!
# $##%
#
!
    '(
$
    ' 

                     	$.      	$..        	
.#.
)'(
 )
)
)*
 )+
-        '
.
.
'    $##,      $##       $##/ $##0          $##%         $##
-
           1
2
2
2
'
$##,3	.
'!3
-4)+'52
4)6'5277-452
4
528
94'52:

       '
9-8
'
,;+
'
8
%
'
=:
3
8
'
:
+
-
           '
:
!-8
-
.#.
$##
232+(2?!@A
           ##B!:
2...
.$##2	
.$$#2	?$#$
:2
7
2
2	7
C;;:
.:;
(
D
)
*	+
-
,
-
-
$ asadmin redeploy --properties
     keepSessions=true myapp.war
-
:
:
-
Upcoming SlideShare
Loading in...5
×

Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

730

Published on

Java EE 6 est loin d'être un simple rafraichissement d’une technologie que certains trouvent vieillissante. Avec des évolutions majeures pour EJB, JPA, servlet, et JSF, avec l’arrivée d’une injection unifiée avec CDI, le rajout de JAX-RS ou encore l’arrivée de BeanValidation il devient quasi inutile de rajouter des bibliothèques externes.

Avec un support complet de Java EE 6, des fonctions orientées développeur, de multiples outils d’administration, un mode embarqué, une modularité basée sur OSGi.... La liste des fonctionnalités de GlassFish 3 sonne comme les promesses d’autres serveurs d’applications. A vous de voir comment tout ceci est utilisable pour vous, dès aujourd’hui.

Cette présentation intègrera donc une bonne partie des nouveautés de la plate-forme Java EE 6, des démonstrations et une feuille de route sur l’avenir du projet GlassFish (3.1 et au delà).

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
730
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

  1. 1. !
  2. 2. # $##%
  3. 3. #
  4. 4. ! '(
  5. 5. $ ' $. $.. .#. )'( ) )
  6. 6. )* )+
  7. 7. - '
  8. 8. .
  9. 9. .
  10. 10. ' $##, $## $##/ $##0 $##% $##
  11. 11. - 1
  12. 12. 2
  13. 13. 2
  14. 14. 2
  15. 15. '
  16. 16. $##,3 .
  17. 17. '!3
  18. 18. -4)+'52
  19. 19. 4)6'5277-452
  20. 20. 4
  21. 21. 528
  22. 22. 94'52: '
  23. 23. 9-8
  24. 24. '
  25. 25. ,;+
  26. 26. ' 8
  27. 27. %
  28. 28. '
  29. 29. =:
  30. 30. 3
  31. 31. 8
  32. 32. '
  33. 33. :
  34. 34. +
  35. 35. - '
  36. 36. :
  37. 37. !-8
  38. 38. -
  39. 39. .#.
  40. 40. $##
  41. 41. 232+(2?!@A ##B!:
  42. 42. 2...
  43. 43. .$##2 .$$#2 ?$#$
  44. 44. :2
  45. 45. 7
  46. 46. 2
  47. 47. 2 7
  48. 48. C;;: .:;
  49. 49. (
  50. 50. D
  51. 51. )
  52. 52. * +
  53. 53. -
  54. 54. ,
  55. 55. -
  56. 56. -
  57. 57. $ asadmin redeploy --properties keepSessions=true myapp.war
  58. 58. -
  59. 59. :
  60. 60. :
  61. 61. -
  62. 62. #
  63. 63. .
  64. 64. (
  65. 65. C
  66. 66. 48'5
  67. 67. !
  68. 68. CE$ F
  69. 69. -G
  70. 70. 5
  71. 71. 3
  72. 72. 4D
  73. 73. !5
  74. 74. $
  75. 75. * .
  76. 76. ! $.# '
  77. 77. .# 6
  78. 78. !'
  79. 79. '$.# )+'. +! 01 .# '!
  80. 80. I3
  81. 81. *
  82. 82. @J 0# 0 2 3) '
  83. 83. * ' .# * 6' 6'H .
  84. 84. )/ ) ' :
  85. 85. ' 4
  86. 86. +;8
  87. 87. -
  88. 88. $62
  89. 89. 78 '9 '
  90. 90. D 6
  91. 91. !
  92. 92. !-K::!-
  93. 93. -3
  94. 94. -
  95. 95. 8 '
  96. 96. * *
  97. 97. * . .# $.# .# '
  98. 98. .# :
  99. 99. *
  100. 100. .# '$.#
  101. 101. . )+'. )6'$.$
  102. 102. . '+#%. *
  103. 103. @.# '$.$;($.$ '+$,#.
  104. 104. :;, +' D
  105. 105. !
  106. 106. -D
  107. 107. -
  108. 108. +
  109. 109. -:
  110. 110. 2:
  111. 111. !
  112. 112. ::
  113. 113. :D
  114. 114. )+'.
  115. 115. :D*
  116. 116. :;,
  117. 117. *
  118. 118. 4
  119. 119. 0= !
  120. 120. !!
  121. 121. #$ % '(($ '(
  122. 122. L
  123. 123. %%) * !3
  124. 124. :
  125. 125. $
  126. 126. 4 '+ !
  127. 127. #$%#$ ' (
  128. 128. ) %+ %,
  129. 129. -,,.-/,01232,4-+5.26+ % 7,.32 % 8 ( '
  130. 130. 8
  131. 131. ) $
  132. 132. 9:
  133. 133. 8$
  134. 134. :
  135. 135. ' *
  136. 136. $2 3) '
  137. 137. .# $.# '$.$;($.$ . '+?,.# .# '(.$ .# '$.# :
  138. 138. *
  139. 139. .# *
  140. 140. @.#
  141. 141. . * .(
  142. 142. '+$,#.
  143. 143. .
  144. 144. 2 3**
  145. 145. (!
  146. 146. *+,
  147. 147. )
  148. 148. *) -
  149. 149. *
  150. 150. .
  151. 151. 2-
  152. 152. */
  153. 153. .
  154. 154. '
  155. 155. 0 !
  156. 156. :
  157. 157. : +
  158. 158. 3
  159. 159. 0= '7
  160. 160. -
  161. 161. !
  162. 162. 3D
  163. 163. D
  164. 164. 'G
  165. 165. 4#0
  166. 166. !
  167. 167. !
  168. 168. 1 2
  169. 169. 34'
  170. 170. D '
  171. 171. *
  172. 172. -
  173. 173. D
  174. 174. !
  175. 175. )
  176. 176. '
  177. 177. foo.ear foo.war lib/foo_common.jar WEB-INF/classes com/acme/Foo.class com/acme/Foo.class com/acme/FooServlet.class com/acme/FooEJB.class foo_web.war WEB-INF/web.xml WEB-INF/classes com/acme/FooServlet.class foo_ejb.jar com/acme/FooEJB.class com/acme/FooEJBLocal.class
  178. 178. (
  179. 179. 4 5
  180. 180. 5 * +
  181. 181. CC;;D.3 .
  182. 182. ;: ;
  183. 183. ;
  184. 184. . )
  185. 185. ( *
  186. 186. -
  187. 187. java -jar glassfish.jar toto.war
  188. 188. :D
  189. 189. $ mvn gf:run2gf:start2gf:deploy2...
  190. 190. !
  191. 191. ;
  192. 192. --
  193. 193. :
  194. 194. )0= '
  195. 195. !-
  196. 196. !
  197. 197. !
  198. 198. !3
  199. 199. 9(
  200. 200. .:.'6=2=1(( '
  201. 201. :
  202. 202. :
  203. 203. -L
  204. 204. -
  205. 205. )- 2(3
  206. 206. $ ' ;
  207. 207. ' ; $ ' (=;?@ ( (; $ =;?@ (,; $ @ (
  208. 208. )
  209. 209. @
  210. 210. $ 262', 5-3; 422 .231,0
  211. 211. )- 2(3
  212. 212. $ ' ;
  213. 213. ' ; $ ' (=;?@ ( (; $ =;?@ (,; $ @ (
  214. 214. 2(
  215. 215. 456 $ '-:
  216. 216. $.#
  217. 217. )-
  218. 218. 2(3
  219. 219. $ ' ;
  220. 220. ' ; $ ' (=;?@ ( (; $ =;?@ (,; $ @ (
  221. 221. 2(
  222. 222. 456 )
  223. 223. 42 )
  224. 224. ). )42$ ,( (=;? 7 8459
  225. 225. )
  226. 226. :
  227. 227. 2@ (
  228. 228. 6 $
  229. 229. ( * -/
  230. 230. K
  231. 231. -3
  232. 232. 4 5 '+$%%D'+ #40;
  233. 233. 5
  234. 234. :
  235. 235. 4
  236. 236. 52
  237. 237. 2
  238. 238. 2
  239. 239. -
  240. 240. 2
  241. 241. K
  242. 242. *
  243. 243. 3
  244. 244. 44
  245. 245. 5 =
  246. 246. ?
  247. 247. / @
  248. 248. 4
  249. 249. !
  250. 250. 5 .
  251. 251. .MD
  252. 252. NO 0;
  253. 253. '
  254. 254. $ / * *
  255. 255. ?
  256. 256. %,
  257. 257. ,01232,4-+132,25.26+ % 7,.32 %+ : ,
  258. 258. % 8
  259. 259. A
  260. 260. BB(C@8 ' ' (A
  261. 261. ?
  262. 262. / @
  263. 263. 4
  264. 264. !
  265. 265. 5 .
  266. 266. .MD
  267. 267. NO 0;
  268. 268. '
  269. 269. $ / * *
  270. 270. ( * -/
  271. 271. * * '
  272. 272. 5
  273. 273. 0;
  274. 274. '
  275. 275. 5
  276. 276. 7
  277. 277. 0?
  278. 278. % =
  279. 279. *
  280. 280. 242'=@06'1=@ 2
  281. 281. % @
  282. 282. ,' )))
  283. 283. '
  284. 284. 3 49 EJBContainer c = EJBContainer.createEJBContainer(); Context ic = c.getContext(); SimpleEjb ejb = (SimpleEjb) ic.lookup(java:global/sample/SimpleEjb); ejb.sayHello();
  285. 285. '
  286. 286. 3 49 =
  287. 287. D* . EJBContainer c = EJBContainer.createEJBContainer(); Context ic = c.getContext(); SimpleEjb ejb = (SimpleEjb) ic.lookup(java:global/sample/SimpleEjb); ejb.sayHello(); !
  288. 288. =
  289. 289. '
  290. 290. 3 49 @Test public void test() { EJBContainer c = EJBContainer.createEJBContainer(); Context ic = c.getContext(); SimpleEjb ejb = (SimpleEjb) ic.lookup(java:global/sample/SimpleEjb); ejb.sayHello(); }
  291. 291. 3 org.glassfish.api.embedded.Server server; Server.Builder builder = new Server.Builder(); server = builder.build();
  292. 292. 3 org.glassfish.api.embedded.Server server; Server.Builder builder = new Server.Builder(); server = builder.build(); ContainerBuilder b = server.createConfig(ContainerBuilder.Type.web); server.addContainer(b);
  293. 293. 3 org.glassfish.api.embedded.Server server; Server.Builder builder = new Server.Builder(); server = builder.build(); ContainerBuilder b = server.createConfig(ContainerBuilder.Type.web); server.addContainer(b); File archive = new File(hello.war); server.getDeployer().deploy(archive); '
  294. 294. !2
  295. 295. -
  296. 296. + !
  297. 297. 3 @BeforeClass public static void initContainer() { org.glassfish.api.embedded.Server server; Server.Builder builder = new Server.Builder(); server = builder.build(); ContainerBuilder b = server.createConfig(ContainerBuilder.Type.web); server.addContainer(b); File archive = new File(hello.war); server.getDeployer().deploy(archive); } @Test public static void pingApplication() { ... }
  298. 298. 3 public static void main(String[] args) { org.glassfish.api.embedded.Server server; Server.Builder builder = new Server.Builder(); server = builder.build(); ContainerBuilder b = server.createConfig(ContainerBuilder.Type.web); server.addContainer(b); File archive = new File(realApplication.war); server.getDeployer().deploy(archive); } '
  299. 299. 2
  300. 300. 7
  301. 301. '%9 8'4
  302. 302. !-
  303. 303. 5
  304. 304. L4E
  305. 305. 5 $##B!
  306. 306. D8'4'
  307. 307. 5
  308. 308. 8':
  309. 309. 4(6
  310. 310. !5 !
  311. 311. :8'
  312. 312. -8'!
  313. 313. D glassfish/modules{/autostart} asadmin deploy:type osgi 8'
  314. 314. # %; 6
  315. 315. * 5
  316. 316. * 8'
  317. 317. Service-Component
  318. 318. -
  319. 319. +
  320. 320. : @Resource3
  321. 321. =
  322. 322. G =
  323. 323. !
  324. 324. D
  325. 325. 8' '
  326. 326. !-
  327. 327. CC;;!:..;
  328. 328. 7;
  329. 329. -;: P P
  330. 330. PP?
  331. 331. (
  332. 332. : 8'-
  333. 333. # *(.6
  334. 334. * 5
  335. 335. *
  336. 336. D
  337. 337. ':
  338. 338. '
  339. 339. ':!
  340. 340. :
  341. 341. : @Resource3
  342. 342. '
  343. 343. ':
  344. 344. ! ': '
  345. 345. !-
  346. 346. CC;;!:..;
  347. 347. 7;
  348. 348. -;: P P
  349. 349. PP?
  350. 350. %A
  351. 351. B3**
  352. 352. !
  353. 353. - 46
  354. 354. !K(5
  355. 355. 8'
  356. 356. K 8'+A '
  357. 357. .:.2*2 *22...8'
  358. 358. 6
  359. 359. !*
  360. 360. 46*5 6+B8'
  361. 361. B6
  362. 362. !
  363. 363. C*
  364. 364. .
  365. 365. .
  366. 366. 4 ' 3
  367. 367. asadmin -
  368. 368. :
  369. 369. -
  370. 370. *
  371. 371. :
  372. 372. DG !
  373. 373. 2-
  374. 374. : *
  375. 375. D
  376. 376. !
  377. 377. 3 )(
  378. 378. DG
  379. 379. K-D +'
  380. 380. DG
  381. 381. DG '
  382. 382. ) jconsolevisualvm
  383. 383. ,
  384. 384. )+';
  385. 385. -B77-
  386. 386. +'
  387. 387. C :
  388. 388. 4 28'2 (5
  389. 389. 4
  390. 390. 22
  391. 391. -2
  392. 392. ..5 :4-5 !
  393. 393. C http://localhost:4848/management/domain http://localhost:4848/monitoring/domain 1
  394. 394. +'
  395. 395. 1!
  396. 396. 1
  397. 397. -
  398. 398. :
  399. 399. ;:::
  400. 400. )(2('8=
  401. 401. !
  402. 402. ( +'
  403. 403. 000 -::
  404. 404. +22 3:2';( ... -6
  405. 405. !
  406. 406. 2
  407. 407. 26
  408. 408. !'
  409. 409. 2... C P3 6
  410. 410. ! @22'' 6
  411. 411. !'
  412. 412. .=
  413. 413. .,
  414. 414. 8
  415. 415. 9
  416. 416. 6)
  417. 417. C;;: .: .#. !
  418. 418. 4
  419. 419. 1
  420. 420. 5 C;;DDD.
  421. 421. .;:;: 48 D
  422. 422. :
  423. 423. .5
  424. 424. G
  425. 425. =
  426. 426. *
  427. 427. 4 ...5
  428. 428. L
  429. 429. 2R
  430. 430. D7
  431. 431. : *
  432. 432. 6
  433. 433. !
  434. 434. % #0 :
  435. 435. : !
  436. 436. !
  437. 437. $.. .#
  438. 438. :2
  439. 439. 7
  440. 440. $.. 8'- .
  441. 441. #0 *
  442. 442. :45 6
  443. 443. !'
  444. 444. 4 77-5 .
  445. 445. :45
  446. 446. 8' +' 45 1
  447. 447. : '!7
  448. 448. !
  449. 449. : '
  450. 450. :77-
  451. 451. :-
  452. 452. C'2 277-28'22
  453. 453. +K'
  454. 454. -2*
  455. 455. @2
  456. 456. 212
  457. 457. . +
  458. 458. ''*;*
  459. 459. 6'
  460. 460. C*
  461. 461. - .$;$.#2*'2.2+'.#
  462. 462. ...
  463. 463. ?
  464. 464. .I. C;;!:..;
  465. 465. D
  466. 466. C
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×