Transcript
Page 1: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

�������������� ������� �������������������

�������������������������

��������������

Page 2: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

�����������������������

��������������������������������

��� �� ������� ����!���"#���$##%

Page 3: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� ������������������

����������������� �����������������

Page 4: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� ������������������

Page 5: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� ������������������

Page 6: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

����������������������

������������

&�������

�'�(

'�����

&������

)'(�&

)����

)�����

��)*

��)�+�&

�'�

����

$##,

��-

$##�

��������������� ��

� ���������������� �!"

� ���������#������ �$"

'���.

$##/

��.

$##%

$."

���

$##0

$."."

����������"

.#."

����

$#"#

Page 7: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� �������

� ��&�������-� 1����2���������2��������2� ��������

� '����������$##,����3��.����

� '�!����3����

� �����-�4��)�+'52�������4��)�6'52����77�-�4���52�

�����������4&����52�8����9�4��'52�������������:

� ������������'����� �����������9�����-�����8����'�����

� �������,�;���+� �������<�������������

� �����&����������'������� ����8�����

Page 8: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

%��� �� ������������

Page 9: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� ��������&���&���'���

� =������:���������������� ����������������3���

� ����������8����'���������������������������:��������

� +�����������������������������������-

� '����:�������!-�8����������������

� &��������������������-����������������������

� ����������.#."��������������$#"#�����������

� ��������������� ����2�3������2�+>�(2��?�!����@�A�

� "##B�!�:� ����2�...

� ����������������

� ����������."����$#"#2�.$����$#""2�?����$#"$

� &��������:2���������7��������2�&��������2��������7�����

� ��������������C;;:���� ���.��:;�������

Page 10: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

(��

��������������������D����

����������

Page 11: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� <�������������������� ���������������� ����

� ����������-�� ��������������������������� ����

)��� �������� ��� �*����+

Page 12: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

�������,������

� ����-����������������������������� ���

������������������������-�����

$ asadmin redeploy --propertieskeepSessions=true myapp.war

� ������-������� �������

�����������������:�

� <���:���������< ��

Page 13: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

-���������&�� ���������#

Page 14: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

.��� �������(������

� ��������C��������������48'��5

� �������!���C�>E$

� F�����-������G

Page 15: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

Page 16: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

��������

)��/����)

������

��������

�� ��0�

����������

�����������

'�����

�'�

��*

��'

+�<;<<8�

�� �����

��������

�� ��0#

+�!���

'����!��

&��

�&�

��������

�������

�� ��01

��6�!�'������

6'

����:�����

����-����

��������

�������

����� �!

������

����������

�����������

��*�

����".#

6'�H

�'�

�������

������

����� �$

������

����������

4D�!5

��*�."

����$.#

'������.#

�'��$.#

��)�+'�"."

& <�".#

I<�3���

*����@������J

23�)���

.���&�4��

����� 5���3����������

Page 17: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

����� �$�6�2���7��8'9

� '��������D���<�

� 6�!���� ���

� �������!����-�K����::�!����-

� ��������-�<�3������

� <����������������-���<�

Page 18: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� ��*�."

� ����$.#

� '������.#

� �'��$.#

� ��)�+'�"."

� &����������".�

� *����@����������".#

� <�".#

� & <�".#

� ����:���*�����".#

� <������������"."

� ��)�6'�$.$

� �'+�"#%�".

� �'��$.$�;��(�$.$

� �'+�$,#�"."

8'�������*������*����������

Page 19: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

��:;,�

� +�'� ���D�!�����������<

� ������-�D����-��������

� +����-���:������2���:�������>������<

� �����������!��������:������:������

� ���:�����������<�D����������

� ��)�+'�"."�����:�������D������*�

Page 20: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

��:;,�����* ����

����������� ������������ ���������������� �������������������� �� ���� ���������������� �� ���� ���������������������������������������

���������������

��������������� ��� ���� ���������������������

Page 21: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

4���<� ���������0=

��������������� ��

������������� !����������������� �� � ���� ���!����������!����� � �

������"�� ���������� �#$

������

���%&��&�����"��������"�� �'�����(�������($

�����������'�����(��

���%&��&����%��) �����*��

������"�� ����������� $

������

��L�������������

�!3����:����

���������

Page 22: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

4�� ��������'�+

� !����#$%&���#$��'�� �����"�������(����"������)��� �%+���� �� �%,��� ����&&-,�,.-&/,012��32,4-+��5.26+��%� � �������7&,.32��������%��� �8�� �(�'���������������� �� ���� 8����� �����)����� $����������9:���������� 8�������$�

�<���:������������������'�

�*�����������<�

Page 23: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

����� �$�23�)���

� '������.#

� �'��$.$�;��(�$.$

� �'+�?,�".#

� �'�(�".$

� �'��$.#

� *����@����������".#

� ��*�."�(���

� ����$.#

� ����"."

� <�".#

� & <�".#

� ����:���*�����".#

� <������������"."

� �'+�$,#�"."

Page 24: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

.��� ���23��** ��������

� (�!���������������������*+,�������)���� ��*)���������������� �-�* ��.���2��-�*/����������������� ��.���'�������0����!�������� ���� ���:�����������:���������

� +��������3���

Page 25: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

�����0=

� '��������7��� �������

� ������������-�� �������������!������

� &�������������������

� �3�����������D��������������D�

� ���������'��������<�G

Page 26: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

�4�#0�

� � ��������!����

� � �������!����

� �1 2�������� �����������

� � ������������

� �34'����������<�D������������'�

� � ������*���������-����������D�!����

Page 27: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

)��>�&��&������'��

foo.ear

com/acme/Foo.class

WEB-INF/web.xmlWEB-INF/classes com/acme/FooServlet.class

com/acme/FooEJB.classcom/acme/FooEJBLocal.class

lib/foo_common.jar

foo_web.war

foo_ejb.jar

foo.war

WEB-INF/classes com/acme/Foo.class com/acme/FooServlet.class com/acme/FooEJB.class

Page 28: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

(��

���������4��������5�����������

Page 29: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

��5� � �*������+

���������� �����������C�����C;;��D�����.3��.���;:���� ���;�������;

Page 30: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

.���)��� ���(� �*���

� ���������������-�� �����������������������

���� ����

� ������������������

� java -jar glassfish.jar toto.war� <���:�������D���������$�

� mvn gf:run2�gf:start2�gf:deploy2�...� &��������������!�������;��������-��������-

� ��������������������:������

Page 31: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

�)���0=

� '������� ���������������� �!������-��������

��!����!����!3����

� ��9(�������������

� �.:.�&�'��6>�=2�=1((<�

� '������������:���<

� ������������������:

� &����������<� ����-������L���-�������������

Page 32: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

���������)-

2����(3���� �� �������$'��� ���;���� ������� ��� �'��� ���;���� ���$'��� ���<� �(=;��>?�@� �(���������������������������� �� <� �(�;��>�����$

����=;��>?����>���@� �(�,����;��>�����$

@� �(� ���������>������)��������� @�������>������� ���������� ��$

�262',��5�-3�;��>��42�2���� ���������.��231,0

Page 33: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

���������)-���������

2����(3���� �� �������$'��� ���;���� ������� ��� �'��� ���;���� ���$'��� ���<� �(=;��>?�@� �(���������������������������� �� <� �(�;��>�����$

����=;��>?����>���@� �(�,����;��>�����$

@� �(� ���������>�����������������2���(����>�� ��4��56�� �����������$

'��������-�:��������

����$.#����������

Page 34: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

���������)-�� ����������

2����(3���� �� �������$'��� ���;���� ������� ��� �'��� ���;���� ���$'��� ���<� �(=;��>?�@� �(���������������������������� �� <� �(�;��>�����$

����=;��>?����>���@� �(�,����;��>�����$

@� �(� ���������>�����������������2���(����>�� ��4��56�� ����������������)����42�����&&&&&) ����������&&&&&)��.������������)�����42�����$

7 �84��59����>�����������������)������:���2�@� �(��� �� ���6����$

,(� �<� �(=;��>?

Page 35: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

(*������-�/�����

� &�������K� ��������-�<�3�������4& <5

� �'+�$%%�D�����'+�#�4�0�;���5

� &�����������:������4�����������52�

�����2������������2��������-���2������������

K�����

� *�������������������������

� <�3�����������������44���<���������<5

� �=� ������������������

Page 36: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

?�� ������/�����

�0�;������������'� ���������$

@�� ����4������� �������!��5�.�.�M�D��������N�O

��*��/������*����

Page 37: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

?�� ��������������

%,��� ���,012�32,4-+�1���32,2��5.26+��%� � �������7&,.32�%+���� �� ��:���,���������%��� �8�� ���������A�

������� �BB��(��C��@����8� �������������� ����'���� ��

���� � ���'���� ��������������"������(����A��

Page 38: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

?�� ������/�����

�0�;������������'� ���������$

@�� ����4������� �������!��5�.�.�M�D��������N�O

��*��/������*����

Page 39: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

(*������-�/���������*

��*��&��� &'���5���>�����&�

&&�0�;���&&'���5���>�������7����0�&? ��&� ��%&&&&&&&&&&&&&&&&&&�=���*��&���242�'=�@0�6'1=@�&&&&&&&&&&&&&&&&&&��2��������� ��&����� ��%&&&&&&&&&&&&&&&&&&�@�,����&'���&�����&�&&&&)))&&�

Page 40: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

��'���������� �����3�������� �4�9

EJBContainer c = EJBContainer.createEJBContainer();

Context ic = c.getContext();

SimpleEjb ejb = (SimpleEjb)ic.lookup("java:global/sample/SimpleEjb");

ejb.sayHello();

Page 41: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

��'���������� �����3�������� �4�9

EJBContainer c = EJBContainer.createEJBContainer();

Context ic = c.getContext();

SimpleEjb ejb = (SimpleEjb)ic.lookup("java:global/sample/SimpleEjb");

ejb.sayHello();

=�D������*�."

�����!����= <�����

Page 42: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

��'���������� �����3�������� �4�9

@Test public void test() {

EJBContainer c = EJBContainer.createEJBContainer();

Context ic = c.getContext();

SimpleEjb ejb = (SimpleEjb)ic.lookup("java:global/sample/SimpleEjb");

ejb.sayHello();

}

���

Page 43: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� �������� �3���

org.glassfish.api.embedded.Server server; Server.Builder builder = new Server.Builder(); server = builder.build();

Page 44: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� �������� �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);

Page 45: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� �������� �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);

'����!���2��� ����������-������

�������������+������!��

Page 46: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� �������� �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() { ...

}

Page 47: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� �������� �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);

}

'������������������������������������

Page 48: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

2���7������� �'����%���9

� ����������������������� �8'���4������!-��� ����5

� ���������������� ��������L������4����E��� ��� ���5

� �������������������$##B�!������

� &�������D�������8'���4'����������5

� &�������8'�������:������������4&(<����6�!5

� &���!�������������������� ��������:�8'����������

� ��-�8'���!������D���������������������

� ����������glassfish/modules{/autostart}� &��������asadmin deploy��������:���type osgi� ����������8'����������������

Page 49: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

������&�� ���������#%���;��� �6�������* 5�������������*�����

� 8'��������������������

� Service-Component�����-����������+����� ���

� <���������������� ������

�����������:����������

@Resource���3������

� =��������������������

��<�G

� =����������������

!��D����8'������

������

'����!-�����C�����C;;!��:�.���.���;�����7;����-;:���� ���PP����������P����P?�

Page 50: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

(��

��������:�����������

8'�����-��

Page 51: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

������&�� ���������#�*���&(.�6�����������* 5���������*�����

� �����������������D����

��������� ����'����:����

���������

� '������'����:�!����

�����������:�����������

� <���������������� ������

�����������:����������

@Resource���3������� '������������� ���

������������<

� '��:����������� ���!����

'����:����� ����������

'����!-�����C�����C;;!��:�.���.���;�����7;����-;:���� ���PP����������P����P?�

Page 52: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

%����A������ �B���3�����**�

� ��������������������������������

� �����!����������������-

� ������������46�!�K�&(<5

� <��������������� ����������������8'���

��������K����������

� 8'���+�&A�

� '������� ���������������� ���

� �.:.����2���*2�� *&2����2�...����8'����������

� 6�!�������������*������46�*5

� 6�+�B�8'������������B�6�!�&�����������������

Page 53: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

C*��������

Page 54: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

.��������&�����.���&���4�����'3������ �����asadmin

� -��������������������������������:�� �������

������-��������������������������� *����������:�������

��DG

� �����!��2��-������������ ��������:������ ������

� *������������������������<����D������������

� ���!������������� ��������3������)�(���DG

� � ��������������K����������-�����D�

� +�'� �������� �������DG

� ������ ����������������DG

� '������������������)� jconsole�����visualvm�������������������

Page 55: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

, ��� ������

� ��)�+';�����-�B����77�-�����������+�'��

����� ��������C� &�� �:������������4������2��8'�2� �(���5

� <��������������4�������2�����2������-2����..5

� ���������:�4�������-5

� �����!��� ����C� http://localhost:4848/management/domain � http://localhost:4848/monitoring/domain

� 1���+�'��������������������1<���!�������� 1���-��� �������:���;��������:����:��:���������

� ����� ���������������)�(2�>��(�����'8=

� �������!��

Page 56: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

(��

+�'� ��������

Page 57: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

�� �������000

� -���������:��:��

� +����2�������2� 3��:�2�'����;(� �...

� ��-���6�!

� &����2�����������2�6�!'������2�...

� ������������� ���C

� ���P3�

� 6�! �@2�&�<2�''<

� 6�!�'������������

� .=���.,��������

� 8����9���������

Page 58: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

� ��������6�)�������

� ������� ��������C;;:���� ���.��:� ����������.#."������!���4����1&����������� ����5

� ����� ��������C;;DDD.������.���;:���;:���� ���

4���8����� �D��������:������ ������.5

� &������G� �����������=��*�����4����...5

� ����������L�����

� ����������<��������2�R���������

� �D��������7���������:�����*� &������� ����6�!���� ������� �������� ���

Page 59: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

��& �������� ��������%� �#0�

� >�:�������:���

� &��!��������!��� ���� ����$."."�����.#

� &��������:2�������������������������7��������� ����$."."

� 8'������������-�������������� ����.�

� ��������������������������

Page 60: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

����� ��������#0����&� �&���

� *��������������:�4�"5

� ���.���������:�4�"5

� +�'� �����<�4�"5

� '��!���7����!������

� '���������:��77�-

� ������+��K�'��&���

�������� ������

� +������'�'*;��*�������

��������������-�

� �������������������

���������

� 6�!'�������4������77�-5

� ����������������8'��

� 1�������< �����:���

� <�������& <�����:������

� ��������:-��� ����C��'�2�

& <2����77�-2�8'��2����2�

�����-2�*����@���������2�

�����2�1&2����.

� 6'�<�����������C�*��

".$;$.#2�*'�2�"."2�+'��".#

� ���������...

Page 61: Glassfish3 & Java EE6 at GenevaJUG by Alexis Moussine-Pouchkine

� �

������.��I���.���

����C;;!��:�.���.���;��������

�D�����C���������

?�������


Top Related