<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title type="html">Bistro!</title>
    <subtitle type="html">Alexis Moussine-Pouchkine's Weblog</subtitle>
    <id>http://blogs.sun.com/alexismp/feed/entries/atom</id>
            
        <link rel="alternate" type="text/html" href="http://blogs.sun.com/alexismp/" />
        <updated>2009-11-18T04:48:33-08:00</updated>
    <generator uri="http://roller.apache.org" version="4.0.1.1 (BSC) (20091027075624)">Apache Roller</generator>
        <link rel="self" href="http://feeds.feedburner.com/Bistro" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
        <id>http://blogs.sun.com/alexismp/entry/atmosphere_jeudi_devoxx_lundi</id>
        <title type="html">Atmosphere jeudi, Devoxx lundi</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/v8l2n14MeGk/atmosphere_jeudi_devoxx_lundi" />
        <published>2009-11-11T02:24:55-08:00</published>
        <updated>2009-11-11T02:24:55-08:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="atmosphere" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conference" scheme="http://roller.apache.org/ns/tags/" />
        <category term="devoxx" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="parisjug" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;img src="http://blogs.sun.com/alexismp/resource/small-jfa.png" align="right" vspace="5" hspace="5"&gt;
Pas le temps de respirer, demain Jeudi &lt;a href="http://weblogs.java.net/blog/jfarcand/"&gt;Jean-François Arcand&lt;/a&gt; sera là au &lt;a href="http://www.parisjug.org"&gt;ParisJUG&lt;/a&gt; pour vous donner un cours de bon français et pour vous parler d'&lt;a href="https://atmosphere.dev.java.net/"&gt;Atmosphere&lt;/a&gt;, le framework multi-serveur pour faire du Comet (AjaxPush). Il y sera également question de comparaison avec Servlet 3.0 (ne pas oublier de &lt;a href="http://www.jugevents.org/jugevents/event/20760"&gt;s'inscrire&lt;/a&gt;, il doit rester des places).
&lt;/p&gt;

&lt;p&gt;
&lt;img src="http://blogs.sun.com/theaquarium/resource/Devoxx09.png" align="left" vspace="5" hspace="5"&gt;
Lundi, direction &lt;a href="http://blogs.sun.com/alexismp/entry/anvers_c_est_fini"&gt;Anvers&lt;/a&gt; pour la conférence &lt;a href="http://www.devoxx.com"&gt;Devoxx&lt;/a&gt;. J'y présente avec notre &lt;a href="http://antoniogoncalves.org"&gt;Antonio Goncalves&lt;/a&gt; national (enfin c'est surtout lui qui fait le gros du boulot!) une session de trois heures sur Java EE 6 (dont les JSR sont approuvées les unes après les autres ces jours-ci). Entre consolidation des slides, mise au point des démos, et ajouts de dernière minute, on n'est pas tout à fait près...
&lt;/p&gt;

&lt;p&gt;
Avec servlet 3, managed beans, bean validation, etc... cette session ira clairement au delà du contenu du &lt;a href="http://antoniogoncalves.org/xwiki/bin/view/Book/JavaEE6"&gt;bouquin d'Antonio&lt;/a&gt; (pourtant déjà très riche). Reste la question du JSR 299 qui mérite une session à lui tout seul (difficile de ne faire qu'une intro, la technologie a un ticket d'entrée non négligeable). En tout cas je trouve la progression dans la douzaine de démos plutôt sympa (une idée d'Antonio).
&lt;/p&gt;

&lt;p&gt;
Pour ce qui est du contenu GlassFish (keynote, sessions, etc...): les détails sont &lt;a href="http://blogs.sun.com/theaquarium/entry/glassfish_at_devoxx_2009"&gt;ici&lt;/a&gt;.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/v8l2n14MeGk" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/atmosphere_jeudi_devoxx_lundi</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/la_pr%C3%A9sentation_du_s%C3%A9minaire_glassfish</id>
        <title type="html">La présentation du séminaire GlassFish</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/lKKDo11jujs/la_pr%C3%A9sentation_du_s%C3%A9minaire_glassfish" />
        <published>2009-11-09T06:02:00-08:00</published>
        <updated>2009-11-09T06:02:00-08:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="presentation" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webinar" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://blogs.sun.com/alexismp/resource/WebinarGlassFishNov2009.pdf"&gt;
  &lt;img src="http://blogs.sun.com/alexismp/resource/WebinarGlassFishNov2009.png" border="0" vspace="5" hspace="5"&gt;
&lt;/a&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/lKKDo11jujs" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/la_pr%C3%A9sentation_du_s%C3%A9minaire_glassfish</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/javax_annotation_managedbean</id>
        <title type="html">javax.annotation.ManagedBean</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/P4XOr7lhmoE/javax_annotation_managedbean" />
        <published>2009-11-09T00:19:56-08:00</published>
        <updated>2009-11-09T00:19:56-08:00</updated> 
        <category term="/Java" label="Java" />
        <category term="ejb31" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee6" scheme="http://roller.apache.org/ns/tags/" />
        <category term="managedbean" scheme="http://roller.apache.org/ns/tags/" />
        <category term="managedbeans" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
You might have hear or "managed beans" before, but chances are these will be new to you. These are not specific to JSF and not related to JMX in any way. Rather, Java EE 6 (well EJB 3.1 to be precise) specifies &lt;strong&gt;Managed Beans 1.0&lt;/strong&gt;, or lightweight components.
&lt;/p&gt;

&lt;p&gt;
Managed beans are plain old java objects whose life-cycle is governed by the container (allowing for creation and destruction callbacks) and supports resource injection (and of course can themselves be injected). To define a managed bean, you simply need to annotate a class with &lt;code&gt;@java.annotation.ManagedBean&lt;/code&gt;. You can apply the existing (JSR 250) &lt;code&gt;@PostConstruct&lt;/code&gt; and &lt;code&gt;@PreDestroy&lt;/code&gt; annotations to methods in that bean and inject resources using &lt;code&gt;@Resources&lt;/code&gt; (as well as with &lt;code&gt;@EJB&lt;/code&gt; or &lt;code&gt;@WebServiceRef&lt;/code&gt;). Here's a simple example :
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
&lt;strong&gt;@javax.annotation.ManagedBean&lt;/strong&gt;
&lt;br/&gt;public class MessagesBean {
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;@Resource&lt;/strong&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TranslationBean localizer;
&lt;br/&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;@PostConstruct&lt;/strong&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void myInit() {
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.out.println("*** Constructed!");
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Do something useful
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&lt;br/&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public String getTranslatedMessage(String message) {
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return localizer.translate(message);
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&lt;br/&gt;}
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Such a class can then be deployed within a WAR, an EJB-JAR or an ACC-JAR and can be injected within another Managed Bean, a servlet, an EJB or a JSF Managed Bean using a simple &lt;code&gt;@Resource MessagesBean bean;&lt;/code&gt; statement. Life-cycle and injection in itself is nice but it gets even better with interceptors which can also be applied to managed beans (no longer to just EJB's) :
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
&lt;strong&gt;@Interceptors(LogInterceptor.class)&lt;/strong&gt;
&lt;br/&gt;@javax.annotation.ManagedBean
&lt;br/&gt;public class MessagesBean {
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   ...
&lt;br/&gt;}
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Whether Managed Beans will be used directly by application developers or mostly for building higher level abstractions such as EJB's (transactional managed beans in a sense), JAX-WS endpoints (SOAP-enabled managed beans) or JSR 299 is yet to be defined. You decide.
&lt;/p&gt;

&lt;p&gt;
You can of course try all of the above in &lt;a href="http://glassfish.dev.java.net"&gt;GlassFish v3&lt;/a&gt;.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/P4XOr7lhmoE" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/javax_annotation_managedbean</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/izpack_and_glassfish_v2_1</id>
        <title type="html">IzPack and GlassFish v2.1.1</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/epOB87vm_E8/izpack_and_glassfish_v2_1" />
        <published>2009-11-06T05:42:16-08:00</published>
        <updated>2009-11-06T05:42:16-08:00</updated> 
        <category term="/General" label="General" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="izpack" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;img src="http://blogs.sun.com/alexismp/resource/izpack-logo-small.png" border="0" vspace="5" hspace="5" align="left"&gt;
My friend Julien announces that &lt;a href="http://jpz-log.info/archives/2009/11/06/izpack-4-3-2-released/"&gt;IzPack 4.3.2 has just been released&lt;/a&gt;.
&lt;br/&gt;
As a cherry on the cake, he also refreshed the &lt;a href="http://izpack.org/showcase-glassfish/"&gt;GlassFish v2 IzPack installer&lt;/a&gt; to &lt;a href="http://blogs.sun.com/theaquarium/entry/glassfish_v2_1_1_is"&gt;v2.1.1 which was just release a few days ago&lt;/a&gt;. Thanks Julien!
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/epOB87vm_E8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/izpack_and_glassfish_v2_1</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/webinar_glassfish_aujourd_hui_%C3%A0</id>
        <title type="html">Webinar GlassFish - aujourd'hui à 16h</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/QJL9_qzzjhc/webinar_glassfish_aujourd_hui_%C3%A0" />
        <published>2009-11-02T23:26:21-08:00</published>
        <updated>2009-11-02T23:29:48-08:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="presentation" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://communications1.sun.com/r/c/r?2.1.3J1.2T%5f.11NL6m.CQgW1y..T.GTGo.2Xh%5f.bW89MQ%5f%5fCaFUFOe0"&gt;
  &lt;img src="http://blogs.sun.com/alexismp/resource/FrenchWebinar.png" border="0" vspace="5" hspace="5" align="left"&gt;
&lt;/a&gt;

&lt;a href="http://blogs.sun.com/alexismp/entry/séminaire_en_ligne_glassfish_la"&gt;La présentation en ligne GlassFish&lt;/a&gt; est toujours prévue pour aujourd'hui (mardi 3 novembre) à 16h00 (heure de Paris, amis francophones du monde entier vous êtes les bienvenus!). Il n'est pas trop tard pour s'&lt;a href="http://communications1.sun.com/r/c/r?2.1.3J1.2T%5f.11NL6m.CQgW1y..T.GTGo.2Xh%5f.bW89MQ%5f%5fCaFUFOe0"&gt;inscrire&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
 Jérôme Dochez (l'architecte de GlassFish) et Didier Burkhalter (la cheville ouvrière de nombreux projets GlassFish en entreprise) seront là pour m'aider à répondre au question pendant et après la présentation qui sera relativement courte (environ 30 minutes). A tout à l'heure.
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/QJL9_qzzjhc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/webinar_glassfish_aujourd_hui_%C3%A0</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/bug_hunting_and_fishcat_ing</id>
        <title type="html">Bug hunting and FishCAT'ing</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/Gws45Ac4AVo/bug_hunting_and_fishcat_ing" />
        <published>2009-10-31T15:29:33-07:00</published>
        <updated>2009-10-31T15:29:33-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="bugs" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="release" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
If anything, the traffic on the "issues" GlassFish mailing list should be a hint on the stabilization work going on before v3 is declared final later this year.
&lt;br/&gt;
&lt;a href="https://glassfish.dev.java.net/servlets/SummarizeList?listName=issues"&gt;
   &lt;img src="http://blogs.sun.com/alexismp/resource/traffic-issues.png" border="0" vspace="10" hspace="10"&gt;
&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
At the same time the &lt;a href="http://wiki.glassfish.java.net/Wiki.jsp?page=FishCAT"&gt;FishCAT team&lt;/a&gt; is also busy testing the latest releases.
&lt;br/&gt;
&lt;a href="https://glassfish.dev.java.net/servlets/SummarizeList?listName=quality"&gt;
   &lt;img src="http://blogs.sun.com/alexismp/resource/traffic-quality.png" border="0" vspace="10" hspace="10"&gt;
&lt;/a&gt;
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/Gws45Ac4AVo" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/bug_hunting_and_fishcat_ing</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/glassfish_v2_1_1</id>
        <title type="html">GlassFish v2.1.1 est là</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/Bp6I32M1cFQ/glassfish_v2_1_1" />
        <published>2009-10-29T00:39:57-07:00</published>
        <updated>2009-10-29T02:01:19-07:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="2.1.1" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="release" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
Je ne sais pas si c'est pour fêter la sortie de GlassFish v2.1.1, mais Oracle vient de publier des nouvelles largement rassurantes sur GlassFish dans une &lt;a href="http://www.oracle.com/ocom/groups/public/documents/webcontent/038563.pdf"&gt;nouvelle FAQ&lt;/a&gt; sur l'avenir de plusieurs produits Sun dans l'eco-système Oracle une fois l'acquisition finalisée. Il y est entre autre question de continuer un support actif à la communauté et aux clients GlassFish ainsi que d'alignements technologiques entre GlassFish Enterprise et Weblogic. Pour qui connaît les deux offres, je pense que cela apparaîtra assez naturel.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://glassfish.dev.java.net"&gt;
   &lt;img src="http://blogs.sun.com/alexismp/resource/glassfish.png" border="0" vspace="5" hspace="15" align="right"&gt;
&lt;/a&gt;
On notera qu'aujourd'hui déjà GlassFish utilise &lt;a href="http://www.eclipse.org/eclipselink/"&gt;EclipseLink&lt;/a&gt; (l'implémentation de référence de JPA) alors que WebLogic 10g et 11g utilisent de multiples technologies de GlassFish comme en témoigne ces pages de &lt;a href="http://oss.oracle.com/projects/glassfish-mods/"&gt;modifications apportées par Oracle&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Quoi qu'il en soit, comme je le disais en début de billet, c'est la &lt;a href="https://glassfish.dev.java.net/downloads/v2.1.1-final.html"&gt;version 2.1.1&lt;/a&gt; qui est rendue aujourd'hui disponible en même temps que Sun GlassFish Communication Server 2.0 (Sailfin 2.0), l'offre de serveur d'application Telco (SIP, Diameter, etc...) développée avec Ericsson. En attendant la version 3 en décembre, voici donc une version pour tous les clients actuels de GlassFish qui attendent avant tout des évolutions mineures (pour eux, plus de 200 bugs corrigés ce n'est pas mineur) pour leurs systèmes en production plus que des nouveautés comme v3 en apportera. Rarement l'équipe GlassFish aura été aussi sollicitée.
&lt;/p&gt;

&lt;p&gt;
GlassFish 2.1.1 est une mise à jour de la version la plus largement déployée de GlassFish en production (niveau d'API Java EE 5). On y trouve de nouvelles versions de composants importants (Java MQ 4.4 / Jersey 1.0.3 / JSF 1.2_13 / Grizzly 1.0.30 / Metro 1.1.6), le support de AIX 6 et de mod_jk ainsi qu'une nouvelle option de partage de charge (par connexion) dans l'ORB. Enfin, le méchanisme de gestion de groupe Shoal propose des améliorations des &lt;i&gt;node agents&lt;/i&gt; pour une meilleure détection (plus rapide, plus fiable) des noeuds d'un cluster. Bien entendu cette version continue de proposer une extreme simplicité pour la &lt;a href="http://blogs.sun.com/jclingan/entry/glassfish_clustering_in_under_10"&gt;mise en place d'un cluster&lt;/a&gt; et les outils de gestion production &lt;a href="http://blogs.sun.com/nazrul/entry/glassfish_enterprise_manager"&gt;GlassFish Enterprise Manager&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Téléchargement de GlassFish 2.1.1 ici: &lt;a href="https://glassfish.dev.java.net/downloads/v2.1.1-final.html"&gt;https://glassfish.dev.java.net/downloads/v2.1.1-final.html&lt;/a&gt; et n'oubliez pas le &lt;strong&gt;&lt;a href="http://blogs.sun.com/alexismp/entry/séminaire_en_ligne_glassfish_la"&gt;séminaire en ligne GlassFish de la semaine prochaine&lt;/a&gt;&lt;/strong&gt;.
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/Bp6I32M1cFQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/glassfish_v2_1_1</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/oracle_s_take_on_glassfish</id>
        <title type="html">Oracle's take on GlassFish</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/hi3_yEIwGU4/oracle_s_take_on_glassfish" />
        <published>2009-10-28T15:55:28-07:00</published>
        <updated>2009-10-28T15:55:28-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="oracle" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
On don't think this will quite stop people from asking (me and others on the team) the same question, but this &lt;a href="http://www.oracle.com/ocom/groups/public/documents/webcontent/038563.pdf"&gt;new FAQ from Oracle&lt;/a&gt; certainly has some positive information on GlassFish's future. The blogosphere and twitosphere have been quite active on that news today...
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/hi3_yEIwGU4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/oracle_s_take_on_glassfish</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/s%C3%A9minaire_en_ligne_glassfish_la</id>
        <title type="html">Séminaire en ligne GlassFish la semaine prochaine</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/3C33ToQ7_ZQ/s%C3%A9minaire_en_ligne_glassfish_la" />
        <published>2009-10-28T01:47:46-07:00</published>
        <updated>2009-10-30T03:07:18-07:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webinar" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://communications1.sun.com/r/c/r?2.1.3J1.2T%5f.11NL6m.CQgW1y..T.GTGo.2Xh%5f.bW89MQ%5f%5fCaFUFOe0"&gt;
  &lt;img src="http://blogs.sun.com/alexismp/resource/FrenchWebinar.png" border="0" vspace="5" hspace="5" align="left"&gt;
&lt;/a&gt;
Avec l'activité autour de GlassFish (sortie imminente de v2.1.1, v3 dans quelques semaines avec Java EE 6) et le succès du &lt;a href="https://dct.sun.com/dct/forms/reg_fr_2807_566_0.jsp"&gt;livre blanc&lt;/a&gt;, il nous a semblé opportun d'organiser un séminaire en ligne pour faire le point sur l'avancement du projet et pour répondre à vos questions. Ce sera donc le 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Mardi le 3 novembre 2009 (dans une semaine) à 16h00&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Le format est classique: 45 minutes de présentation et le reste de questions/réponses. N'oubliez pas de vous &lt;a href="http://communications1.sun.com/r/c/r?2.1.3J1.2T%5f.11NL6m.CQgW1y..T.GTGo.2Xh%5f.bW89MQ%5f%5fCaFUFOe0"&gt;inscrire&lt;/a&gt; pour obtenir les détails (URL et mot de passe).
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/3C33ToQ7_ZQ" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/s%C3%A9minaire_en_ligne_glassfish_la</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/recent_glassfish_endorsements</id>
        <title type="html">Recent GlassFish endorsements</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/Feh4zPgLlOs/recent_glassfish_endorsements" />
        <published>2009-10-07T06:20:06-07:00</published>
        <updated>2009-10-07T22:23:09-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="intellij" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jrebel" scheme="http://roller.apache.org/ns/tags/" />
        <category term="terracotta" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&amp;bull; &lt;a href="http://blogs.jetbrains.com/idea/2009/10/servlet-30-jsr-315-support-in-maia/"&gt;Servlet 3.0 (JSR 315) support in Maia&lt;/a&gt;
&lt;br/&gt;&amp;bull; &lt;a href="http://www.zeroturnaround.com/blog/how-to-install-and-use-jrebel-with-glassfish-and-eclipse-ide/"&gt;How to install and use JRebel with Glassfish and Eclipse IDE&lt;/a&gt;
&lt;br/&gt;&amp;bull; &lt;a href="http://www.adobe.com/products/coldfusion/faq/"&gt;ColdFusion - Installation, deployment, and platforms&lt;/a&gt;
&lt;br/&gt;&amp;bull; &lt;a href="http://java-monitor.com/forum/showthread.php?p=1583#post1583"&gt;New Java-monitor probe for Glassfish users.&lt;/a&gt;
&lt;br/&gt;I think I also saw something recently on either EHCache or TerraCotta as well...
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/Feh4zPgLlOs" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/recent_glassfish_endorsements</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/attending_and_presenting_at_java2days</id>
        <title type="html">Attending and presenting at Java2Days this week in Sofia</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/Drb8OgTT4X4/attending_and_presenting_at_java2days" />
        <published>2009-10-07T01:13:50-07:00</published>
        <updated>2009-10-07T01:13:50-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="bulgaria" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conference" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sofia" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://www.java2days.com"&gt;
  &lt;img src="http://blogs.sun.com/alexismp/resource/java2daysConf.png" border="0" align="left" vspace="5" hspace="5"&gt;
&lt;/a&gt;
I'll be attending the &lt;a href="http://java2days.com/"&gt;Java2Days conference&lt;/a&gt; at the end of this week in &lt;a href="http://en.wikipedia.org/wiki/Sofia"&gt;Sofia, Bulgaria&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
The conference is quite geared towards server-side Java with Spring and Java EE getting great coverage with SpringSource employees and Java EE expert group member Reza Rahman.
&lt;/p&gt;

&lt;p&gt;
My first talk on Thursday is on GlassFish v3 while the second is on portability of J2EE/JavaEE applications (lessons learned while migrating customer applications to GlassFish). Should be fun!
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/Drb8OgTT4X4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/attending_and_presenting_at_java2days</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/testing_ejb_3_1_s</id>
        <title type="html">Using the EJBContainer API with or without Maven (but with GlassFish v3)</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/MI_JOyZFFXE/testing_ejb_3_1_s" />
        <published>2009-10-05T08:40:10-07:00</published>
        <updated>2009-10-30T11:20:53-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="ejb" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ejb31" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ejbcontainer" scheme="http://roller.apache.org/ns/tags/" />
        <category term="embedded" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="test" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;i&gt;Updated this blog on October 28th as you no longer need to have a full GlassFish install to test EJBs&lt;/i&gt;
&lt;br/&gt;
The typical way to start GlassFish is to use &lt;em&gt;&lt;code&gt;$asadmin start-domain&lt;/code&gt;&lt;/em&gt; but you could also start it using &lt;em&gt;&lt;code&gt;java -jar modules/glassfish.jar&lt;/code&gt;&lt;/em&gt;. Both start a standalone instance of GlassFish. The following paragraphs discuss &lt;a href="http://embedded-glassfish.dev.java.net/"&gt;GlassFish Embedded&lt;/a&gt; (i.e. start it using an API).
&lt;/p&gt;

&lt;p&gt;
There are at least two ways to start GlassFish in embedded mode: using &lt;strong&gt;&lt;code&gt;org.glassfish.api.embedded.Server&lt;/code&gt;&lt;/strong&gt; and associated classes but also using the (now standard in EJB 3.1) &lt;strong&gt;&lt;code&gt;EJBContainer.createEJBContainer()&lt;/code&gt;&lt;/strong&gt; API. Let me describe here the latter one and reserve the more general embedded case for a later blog entry.
&lt;/p&gt;

&lt;p&gt;
The goal is to write something like as simple as this to test your EJB :
&lt;br/&gt;
&lt;code&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EJBContainer c = EJBContainer.createEJBContainer(); // new in EJB 3.1!
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Context ic = c.getContext(); 
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SimpleEjb ejb = (SimpleEjb) ic.lookup("java:global/sample/SimpleEjb"); 
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ejb.sayHello();
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
EJB's found in the classpath of the running code above will automatically be deployed and made available via lookups.
&lt;/p&gt;

&lt;p&gt;
Calls to &lt;code&gt;EJBContainer.createEJBContainer()&lt;/code&gt; are likely to be made from your tests. If you're making those calls by constructing yourself the execution classpath, then you simply need to add &lt;strong&gt;&lt;code&gt;glassfish/lib/embedded/glassfish-embedded-static-shell.jar&lt;/code&gt;&lt;/strong&gt;, an empty jar with a &lt;code&gt;Class-Path:&lt;/code&gt; listing the required jars and that is part of the GlassFish distro. In fact, if you're using &lt;a href="http://bits.netbeans.org/download/trunk/nightly/latest/"&gt;recent builds of NetBeans 6.8&lt;/a&gt; (and the soon-to-be-released beta), the IDE does this for you when GlassFish is the target server. If you are using Maven, it's a bit trickier.
&lt;/p&gt;

&lt;p&gt;
To use &lt;code&gt;EJBContainer.createEJBContainer()&lt;/code&gt; from Maven tests, you'll need to add the following dependency to your POM (&lt;i&gt;updated to promoted b70&lt;/i&gt;): 
&lt;br/&gt;
&lt;code&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;groupId&amp;gt;org.glassfish.extras&amp;lt;/groupId&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;artifactId&amp;gt;glassfish-embedded-all&amp;lt;/artifactId&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;version&amp;gt;3.0-b70&amp;lt;/version&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;
&lt;/code&gt;
&lt;/p&gt;
  
&lt;p&gt;
You could restrict this to a smaller set of GlassFish artifacts but for non-trivial tests (if you use JPA for instance), you would start to have a fairly long list of dependencies so the above sounds like a reasonable thing to do. This will require Maven to download the &lt;a href="http://download.java.net/maven/glassfish/org/glassfish/extras/glassfish-embedded-all/"&gt;GlassFish All-in-one JAR file&lt;/a&gt; (40MB or so). The reason I wrote it would be trickier with maven is that you need to pass a property during the &lt;code&gt;createEJBContainer()&lt;/code&gt; call indicating the location of a GlassFish v3 install. The above Java code would need to read something like this:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        Map&lt;String, Object&gt; p = new HashMap&lt;String, Object&gt;();
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        p.put ("org.glassfish.ejb.embedded.glassfish.installation.root",
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;                "/path/to/glassfish");  // include trailing "/glassfish"
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        ec = EJBContainer.createEJBContainer(p);
&lt;/code&gt;
&lt;br/&gt;
&lt;i&gt;As of build 69 (maybe 70?), this is no longer needed - i.e. you can simply have &lt;code&gt;glassfish-embedded-all.jar&lt;/code&gt; as a dependency or simply in your classpath. A full install of GlassFish is no longer required (although it may be interesting if you want to use JDBC configurations). Read this blog by Thomas for another interesting approach: &lt;a href="Nice follow-up blog here: http://ctpjava.blogspot.com/2009/10/unit-testing-ejbs-and-jpa-with.html"&gt;Nice follow-up blog here: http://ctpjava.blogspot.com/2009/10/unit-testing-ejbs-and-jpa-with.html&lt;/a&gt;&lt;/i&gt;
&lt;/p&gt;

&lt;p&gt;
Starting the appserver this way (with or without Maven) exercises the actual GlassFish code, not another implementation or a customized fork. There are some limitations to what you can run and in particular port configuration is ignored (not listening on any) and only local EJB interfaces are available (the spec only requires EJB 3.1 lite support). On the other hand, JPA calls are very much possible.
&lt;/p&gt;

&lt;p&gt;
This should all work with &lt;a href="http://download.java.net/glassfish/v3/promoted/"&gt;v3 promoted build&lt;/a&gt; 66 (&lt;i&gt;I just tested this with promoted build 70, see above simplification&lt;/i&gt;). Adam Bien &lt;a href="http://www.adam-bien.com/roller/abien/entry/embedding_ejb_3_1_container"&gt;beat me&lt;/a&gt; to covering that topic, but I hope you get some additional info here. In my case the start-up, setup, deploy and shutdown of GlassFish Embedded are worth about 6 seconds. Note that there is no OSGi involved here.
&lt;/p&gt;

&lt;p&gt;
For a complete working example with JPA calls, check out this &lt;a href="https://glassfish-samples.dev.java.net/source/browse/glassfish-samples/ws/javaee6/ejb/ejb-embedded/"&gt;sample code&lt;/a&gt;.
&lt;br/&gt;
The &lt;a href="http://jcp.org/aboutJava/communityprocess/pfd/jsr318/index.html"&gt;EJB 3.1 specification&lt;/a&gt; has a chapter (#22) on "Embeddable Usage". Check it out for further details about &lt;code&gt;EJBContainer&lt;/code&gt;.
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/MI_JOyZFFXE" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/testing_ejb_3_1_s</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/le_futur_de_java_ce</id>
        <title type="html">"Le futur de Java" ce jeudi à l'OpenWorldForum</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/Ag4awGHzID8/le_futur_de_java_ce" />
        <published>2009-09-28T00:02:24-07:00</published>
        <updated>2009-09-28T00:54:58-07:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="conference" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javase" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://openworldforum.org/program/floss-java"&gt;
   &lt;img src="http://blogs.sun.com/alexismp/resource/OWF_210x60.jpg" border="0" hspace="5" vspace="5" align="left"&gt;
&lt;/a&gt;
Ce jeudi, vous êtes conviés à venir à l'&lt;a href="http://www.openworldforum.org/"&gt;Open World Forum&lt;/a&gt; qui se tient à Paris (&lt;a href="http://openworldforum.org/venue/venue"&gt;Eurosites George V&lt;/a&gt; dans le 8ème) et en particulier à la series de courtes sessions autour de Java.
&lt;/p&gt;

&lt;p&gt;
Avec l'imminence du rachat par Oracle de Sun, un point sur Java semblait intéressant et utile. Au programme, le chemin parcouru par Java SE depuis sa mise en Open Source et les avancées prochaines de JDK7, une table ronde sur les langages dynamiques sur la JVM (Groovy, Scala, Fan, et Clojure, ou Jython, JRuby et PHP?), et enfin un point sur Java EE 6 et son implémentation de référence GlassFish v3. Notre Guillaume Laforge sera de la partie pour la table ronde.
&lt;/p&gt;

&lt;p&gt;
Ce sera bref (1h30 au total), mais une occasion concrète de faire le point sur les travaux en cours et sur ce que le futur proche nous réserve.
&lt;/p&gt;

&lt;p&gt;
&amp;bull; Programme: &lt;a href="http://openworldforum.org/program/floss-java"&gt;http://openworldforum.org/program/floss-java&lt;/a&gt;.
&lt;br/&gt;&amp;bull; Enregistrement, c'est ici: &lt;a href="http://openworldforum.org/Register"&gt;http://openworldforum.org/Register&lt;/a&gt;.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/Ag4awGHzID8" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/le_futur_de_java_ce</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/glassfish_tip_customize_directory_listings</id>
        <title type="html">GlassFish tip: customize directory listings</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/U1nGmohxRlE/glassfish_tip_customize_directory_listings" />
        <published>2009-09-17T19:03:15-07:00</published>
        <updated>2009-09-17T19:04:00-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="config" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="listing" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tips" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
With GlassFish being a very capable HTTP server out of the bowser (thank you Grizzly!), it was time for v3 to offer the ability to configure directory listings. It is now possible to have pages listing files per &lt;code&gt;NAME&lt;/code&gt; (default), &lt;code&gt;SIZE&lt;/code&gt;, or &lt;code&gt;LAST_MODIFIED&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Configuration can be done inside &lt;code&gt;web.xml&lt;/code&gt; (in the form of an additional &lt;code&gt;init-param&lt;/code&gt; to the &lt;code&gt;DefaultServlet&lt;/code&gt; servlet called &lt;code&gt;sortedBy&lt;/code&gt;). This would hold true for a given application and support dynamic reloading (no full redeploy, no restart to take changes into account).
&lt;/p&gt;

&lt;img src="http://blogs.sun.com/alexismp/resource/Listing-LAST_MODIFIED.png" border="0" vspace="5" hspace="5" align="right"&gt;

&lt;p&gt;
You might find it more convenient to have it be part of &lt;code&gt;default-web.xml&lt;/code&gt; (located in &lt;code&gt;domains/domain1/config/&lt;/code&gt;). Of course that would require restarting the container. In both cases, the listing should be explicitly allowed or else the user will see a 404 Not Found error. Here's an example to configure the listing presentation in either config files :
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
&amp;nbsp;&amp;nbsp;&amp;lt;servlet&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;servlet-name&amp;gt;default&amp;lt;/servlet-name&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;lt;servlet-class&amp;gt;org.apache.catalina.servlets.DefaultServlet&amp;lt;/servlet-class&amp;gt;&lt;/strong&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;init-param&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;param-name&amp;gt;debug&amp;lt;/param-name&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;param-value&amp;gt;0&amp;lt;/param-value&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/init-param&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;init-param&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;param-name&amp;gt;listings&amp;lt;/param-name&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/init-param&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;init-param&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&amp;lt;param-name&amp;gt;sortedBy&amp;lt;/param-name&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;param-value&amp;gt;LAST_MODIFIED&amp;lt;/param-value&amp;gt;&lt;/strong&gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/init-param&amp;gt;&amp;nbsp;&amp;nbsp;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;load-on-startup&amp;gt;1&amp;lt;/load-on-startup&amp;gt;
&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/servlet&amp;gt;
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Of course there's also the XSLT approach to have yet more control over the presentation. Check the use of &lt;code&gt;localXsltFile&lt;/code&gt; and &lt;code&gt;globalXsltFile&lt;/code&gt; in the &lt;code&gt;default-web.xml&lt;/code&gt; file itself.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/U1nGmohxRlE" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/glassfish_tip_customize_directory_listings</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/thoughts_on_rest</id>
        <title type="html">Thoughts on REST-* </title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/WTPL8gJbM2o/thoughts_on_rest" />
        <published>2009-09-17T14:32:29-07:00</published>
        <updated>2009-09-17T23:56:23-07:00</updated> 
        <category term="/Sun" label="Sun" />
        <category term="rest" scheme="http://roller.apache.org/ns/tags/" />
        <category term="standards" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
OK, I really need more than &lt;a href="http://twitter.com/alexismp"&gt;140 characters&lt;/a&gt; for this one (plus it's been a while since I blogged opinions).
&lt;br/&gt;
Of course, this is personal opinion, not my company's.
&lt;/p&gt;

&lt;p&gt;
Many people have reacted to JBoss' solo launch of &lt;a href="http://rest-star.org/"&gt;REST-*&lt;/a&gt;. What I'm concerned about is the approach, not the technology and specifications (I'm probably not the best person to comment on that part).
&lt;p&gt;

&lt;p&gt;
For one, having &lt;a href="http://rest-star.org/"&gt;rest-star.org&lt;/a&gt; redirect to a jboss.org web site is a "bad thing" (tm). JBoss being the only participant is also not giving the underlying technical effort a lot of chance to become a commonly accepted standard, and that's a pity.
&lt;/p&gt;

&lt;P&gt;
Over on twitter, my colleague Jason &lt;a href="http://twitter.com/jbaragry/status/4051777183"&gt;sent me&lt;/a&gt; this &lt;a href="http://stage.vambenepe.com/archives/966"&gt;sensible analysis&lt;/a&gt; which also questions the approach taken while finding some merits to the technical parts.
&lt;/p&gt;

&lt;p&gt;
Mighty Roy is simply &lt;a href="http://tech.groups.yahoo.com/group/rest-discuss/message/13266"&gt;bashing and swinging&lt;/a&gt; at the proposal calling for . But then not many people get his blessing from day one.
&lt;/p&gt;

&lt;p&gt;
Rickard Oberg is &lt;a href="http://tech.groups.yahoo.com/group/rest-discuss/message/13283"&gt;pointing out&lt;/a&gt; that JBoss has a interesting track record in terms driving the project (too bad the last paragraph on his affiliation to JBoss is actually taking some credit off of that assertion).
&lt;/p&gt;

&lt;p&gt;
Contrary to what &lt;a href="http://twitter.com/tunaranch/status/4051491570"&gt;Haikal says&lt;/a&gt;, JBoss is not late to REST with their very decent &lt;a href="http://jsr311.dev.java.net"&gt;JAX-RS&lt;/a&gt; implementation and their participation in the standardization effort. In fact, I'm not convinced by the SpringSource excuse (SpringMVC legacy) for not implementing this API.
&lt;/p&gt;

&lt;p&gt;
Getting beyond all this criticism, it's rare enough to have people offer to do actual work to demolish it like Anne Thomas &lt;a href="http://apsblog.burtongroup.com/2009/09/rest-ive-got-a-bad-feeling-about-this.html"&gt;is doing&lt;/a&gt;. I've been with Sun for too long to throw away the baby with the bath water..
&lt;/p&gt;

&lt;p&gt;
If someone wants to contribute standards, OASIS, W3C, or IETF is where it should happen. Granted you'll be better off starting from some specification or even better yet from a successful implementation (and you may end up not being able to call it REST-anything), but declaring REST-* to the world and making it a one company thing sounds like a marketing mistake to me.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/WTPL8gJbM2o" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/thoughts_on_rest</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/nice_fait_sa_java_sur</id>
        <title type="html">Nice fait sa Java sur le serveur ce vendredi 2 octobre</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/7A50bR5JTqY/nice_fait_sa_java_sur" />
        <published>2009-09-16T20:15:04-07:00</published>
        <updated>2009-09-17T00:33:08-07:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="java" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jug" scheme="http://roller.apache.org/ns/tags/" />
        <category term="sophia" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://www.rivierajug.org/xwiki/bin/view/Main/20091002"&gt;
  &lt;img src="http://www.rivierajug.org/xwiki/bin/download/XWiki/RivieraJUGSkin/rivierajug%2Dlogo%2D1%2D300x100.png" width="200" height="66" border="0" vspace="5" hspace="5" align="left"&gt;
&lt;/a&gt;
Le &lt;a href="http://www.rivierajug.org/"&gt;RivieraJUG&lt;/a&gt;, Polytech'Nice et Telecom Valley organisent une journée autour de Java EE. Il y aura deux intervenants de JBoss/RedHat : Peter Muir pour parler de Seam et JCDI (ex-WebBeans) et Tom Baeyens pour parler de jBPM. Notre Antonio Goncalves national clôturera la journée par une session sur Java EE 6. Quant à moi ce sera une présentation sur l'état d'avancement de GlassFish v3, en route pour Java EE 6. Je pense reprendre certaines démonstrations faites lors de la conférence JavaZone autour d'OSGi et du système de packaging. Des retours d'expérience et des pauses pour faire de networking sont également prévus.
&lt;/p&gt;

&lt;p&gt;
L'événement est gratuit et se déroule à Sophia Antipolis sur le site de Polytech.
L'agenda quasi-final (de 13:30 à 21:15!) et tous les autres détails se trouvent ici sur le &lt;a href="http://www.rivierajug.org/xwiki/bin/view/Main/20091002"&gt;site du RivieraJUG&lt;/a&gt; (accès direct à l'&lt;a href="http://www.telecom-valley.fr/java/index.php"&gt;inscription&lt;/a&gt;).
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/7A50bR5JTqY" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/nice_fait_sa_java_sur</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/javazone_presentation_posted_video</id>
        <title type="html">JavaZone presentation posted (video)</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/i2qu8gN1kAY/javazone_presentation_posted_video" />
        <published>2009-09-16T02:06:04-07:00</published>
        <updated>2009-09-16T02:07:00-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="conference" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javazone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="presentation" scheme="http://roller.apache.org/ns/tags/" />
        <category term="slides" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;P&gt;
My GlassFish v3 presentation from last week's &lt;a href="http://www.javazone.no"&gt;JavaZone&lt;/a&gt; is &lt;a href="http://tcs.java.no/tcs/?id=6DF8EF10-E036-4C03-9BA4-4CC75530690E"&gt;already posted&lt;/a&gt; along with many others. If you're interested in the demos, feel free to skip right to them:
&lt;br/&gt;Demo #1 (developer features) @ 7:01
&lt;br/&gt;Demo #2 (Java EE 6) @ 21:00
&lt;br/&gt;Demo #3 (GlassFish à la carte) @ 26:00
&lt;br/&gt;Demo #4 (OSGi) @ 36:50
&lt;br/&gt;Demo #5 (RESTful admin) @ 49:00
&lt;/P&gt;

&lt;p&gt;
There's also an &lt;a href="http://tcs.java.no/tcs/download/E59C720E-D301-45FC-ADCE-CC6CF673BD0A"&gt;offline version&lt;/a&gt; (close to 200MB of MPEG-4 for QuickTime in 640x480 format).
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/i2qu8gN1kAY" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/javazone_presentation_posted_video</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/which_glassfish_v3_download_bundle</id>
        <title type="html">Which GlassFish v3 download bundle is right for me?</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/BJqp4D6sNak/which_glassfish_v3_download_bundle" />
        <published>2009-09-11T10:31:34-07:00</published>
        <updated>2009-09-14T00:08:10-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="bundle" scheme="http://roller.apache.org/ns/tags/" />
        <category term="download" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="install" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="https://glassfish.dev.java.net/public/downloadsindex.html"&gt;
    &lt;img src="http://blogs.sun.com/alexismp/resource/large-download.png" border="0" align="right" vspace="5" hspace="5"&gt;
&lt;/a&gt;
You may have read the (recently updated) &lt;a href="https://glassfish.dev.java.net/public/comparing_v2_and_v3.html"&gt;page comparing GlassFish v2 and v3&lt;/a&gt; and decided to go with v3. The next question you might ask yourself is which bundle should I &lt;a href="https://glassfish.dev.java.net/public/downloadsindex.html"&gt;download&lt;/a&gt;? Why is the zip archive bigger than it "installer" equivalent? Here is some data to help you decide.
&lt;/p&gt;

&lt;p&gt;
First of all, it's only a matter of packaging. The product (the actual bits) remains the same in all cases.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Zip or installer?&lt;/strong&gt;
&lt;br/&gt;The zip installer is new in v3. As the name implies, unzipping is all you need to do. A default &lt;code&gt;domain1&lt;/code&gt; is already available. If you use the installer (now open source, which makes the difference between community and Sun-branded version even smaller, but see later paragraph on that), you'll be able to change port, JDK, install, etc. This "installer" bundle comes in two flavors - windows and Unix-like (an &lt;code&gt;.sh&lt;/code&gt; script which works on Linux, Solaris, and the Mac). The installer also let's you do silent installs with a statefile which can be produced without doing any actual install.
&lt;/p&gt;

&lt;p&gt;
The IPS/pkg/updatetool feature of GlassFish (which I've been talking &lt;a href="http://blogs.sun.com/alexismp/tags/IPS"&gt;about it a fair bit on this blog&lt;/a&gt;) is quite unique for an appserver, and as you may already know this is written in python and thus ships with a "native" minimal python runtime. As a consequence, to avoid having lots of different artifacts (one per platform), the ZIP or installer bundles do not contain this by default. The zip version will require the user to install pkg and updatetool the first time the command is invoked (network access is required). The installer will offer to do that as part of laying out the bits. 
&lt;/p&gt;

&lt;p&gt;
You may also note that the ZIP bundle is actually bigger (25% to 30%) than the installer archive. This is because pack200 (un-)compression (much more efficient on JAR files than PKZIP) kicks in as part of the installer process.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Web or Full profile?&lt;/strong&gt;
&lt;br/&gt;
That's an easy one since no matter which one you chose, you can install or remove packages to get the feature-set offered by the other profile. The download page (for instance &lt;a href="https://glassfish.dev.java.net/downloads/v3-preview.html"&gt;on glassfish.org&lt;/a&gt;) has the details of what's included in which profile. With only 30 MB, the smallest download is a Web profile installer. The largest is the zip archive of the full profile at 70MB.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;GlassFish (Community) or GlassFish Enterprise?&lt;/strong&gt;
&lt;br/&gt;
Technically speaking, the differences are minimal. The license and the branding (a new feature in v3, the software is fully brand-able) are the two notable differences (another minor one is the different IPS repositories). Feature-wise, the two distributions are the same. Of course, the big difference lies in the fact that only the Sun-branded version (GlassFish Enterprise) is &lt;a href="http://www.sun.com/service/applicationserversubscriptions/"&gt;supported&lt;/a&gt;. But again, this is one and the same product and you will in fact be able to morph a community install into a GlassFish Enterprise instance to avoid any reinstalls. More on that in a later blog.
&lt;/p&gt;

&lt;p&gt;At this time, since v3 isn't final just yet, only the community bits are &lt;a href="https://glassfish.dev.java.net/public/downloadsindex.html"&gt;available&lt;/a&gt;, while GlassFish Enterprise v3 will be available on the &lt;a href="http://www.sun.com/software/products/appsrvr/get_it.jsp"&gt;Sun.com GlassFish page&lt;/a&gt;. In the meantime you can download the &lt;a href="http://java.sun.com/javaee/downloads/preview"&gt;Java EE SDK&lt;/a&gt;.
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/BJqp4D6sNak" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/which_glassfish_v3_download_bundle</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/glassfish_v3_at_javazone_slides</id>
        <title type="html">GlassFish v3 at JavaZone - slides, demos and screencasts</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/EooW3Wsihjc/glassfish_v3_at_javazone_slides" />
        <published>2009-09-09T07:35:44-07:00</published>
        <updated>2009-09-18T01:31:42-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="conference" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee6" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javazone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="slides" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
Here are &lt;a href="http://mediacast.sun.com/users/am74686/media/GlassFishV3-JavaZone09-Final.pdf"&gt;the slides&lt;/a&gt; that I presented on &lt;a href="http://glassfish.org"&gt;GlassFish v3&lt;/a&gt; at the &lt;a href="http://javazone.no"&gt;JavaZone conference&lt;/a&gt; today. All five demos went fine (some with the help of the audience), and I even got questions at the end. I'm not sure what the plans are for making the conference talks available (delay, format), so here are the five demos (almost identical) in various screencasts :
&lt;/p&gt;

&lt;p&gt;
&amp;bull; &lt;a href="http://www.youtube.com/watch?v=cMnS_cxOHUw"&gt;Painless development with GlassFish&lt;/a&gt; (deploy on change, session preservation, etc...). Use it today on any GlassFish v3 install.
&lt;br/&gt;&amp;bull; &lt;a href="http://beta.parleys.com/#state=STATE_PLAYER&amp;id=352&amp;slide=1"&gt;Painless Java EE 6 development&lt;/a&gt; (James Gosling himself, only using NetBeans, not Eclipse like I did). Starts at 12:21. Same as above - any v3 version.
&lt;br/&gt;&amp;bull; GlassFish à la Carte - &lt;a href="http://www.youtube.com/watch?v=PtjAsLpRdzc"&gt;Part 1&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=wzHcoZRRrcU"&gt;Part 2&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=_O09qb63iq0"&gt;Part 3&lt;/a&gt; (the closest to what I showed) - Same as above, IPS has been there from day one (much improved in recent builds though).
&lt;br/&gt;&amp;bull; &lt;a href="http://mediacast.sun.com/users/ArunGupta/media/embeddable-glassfish.m4v"&gt;Extending GlassFish v3, OSGi-style&lt;/a&gt; (by Jerome Dochez, the GlassFish architect), note that recent &lt;a href="http://download.java.net/glassfish/v3/promoted/"&gt;promoted builds of GlassFish v3&lt;/a&gt; now ships with the Felix OSGi declarative service bundle by default, no need to install it manually.
&lt;br/&gt;&amp;bull; (I don't know of a screencast showing the RESTful admin, but &lt;a href="http://blogs.sun.com/aquatic/"&gt;Rajeshwar blog&lt;/a&gt; would be a good start and &lt;a href="http://beta.parleys.com/#id=358&amp;slide=1&amp;state=STATE_PLAYER"&gt;Ludo's JavaFX demo&lt;/a&gt; a fun illustration). Using recent promoted builds is recommended. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Update&lt;/strong&gt;: the video &lt;a href="http://tcs.java.no/tcs/?id=6DF8EF10-E036-4C03-9BA4-4CC75530690E"&gt;is available&lt;/a&gt; (streaming + QT format). Demo timing are documented &lt;a href="http://blogs.sun.com/alexismp/entry/javazone_presentation_posted_video"&gt;here&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Let's enjoy the rest of the conference now...
&lt;/P&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/EooW3Wsihjc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/glassfish_v3_at_javazone_slides</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/y_en_a_qui_n</id>
        <title type="html">Y'en a qui n'ont rien d'autre à faire...</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/8ejPQPzs1C0/y_en_a_qui_n" />
        <published>2009-09-08T13:45:46-07:00</published>
        <updated>2009-09-08T13:45:46-07:00</updated> 
        <category term="/General" label="General" />
        <category term="facebook" scheme="http://roller.apache.org/ns/tags/" />
        <category term="twitter" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://www.infos-du-net.com/actualite/15962-facebook-twitter-intelligence.html#xtor=RSS-31"&gt;Facebook rendrait intelligent, Twitter idiot&lt;/a&gt; à moins que ce soit &lt;a href="http://www.infos-du-net.com/actualite/15960-escroquerie-facebook.html"&gt;le contraire&lt;/a&gt;...
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/8ejPQPzs1C0" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/y_en_a_qui_n</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/glassfishzone_in_oslo</id>
        <title type="html">GlassFishZone in Oslo</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/Gu1NPfq3gus/glassfishzone_in_oslo" />
        <published>2009-09-08T00:36:04-07:00</published>
        <updated>2009-09-08T00:36:04-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="conference" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javazone" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;a href="http://www.javazone.no"&gt;
    &lt;img src="http://jz09.java.no/static/upload/tmp/nordens_storste.jpg" border="0" hspace="5" vspace="5" align="left"&gt;
&lt;/a&gt;
I'm flying out to Oslo in a few hours to present at &lt;a href="http://www.javazone.no"&gt;JavaZone&lt;/a&gt; on GlassFish v3. The slides and demos are now ready. This talk will focus exclusively on v3 and a bit of Java EE 6 (just can't do justice to it in the little time that I have). I had initially listed 7 demos but quickly found out that this would be way too much to cram into the 1-hour slot, so there's only going to be 5 fairly short demos (tooling, Java EE 6, packaging, OSGi, and RESTful admin). Let's hope they all go well ;)
&lt;/p&gt;

&lt;p&gt;
Since this is partly new material and certainly has some new demos I wanted to test-run this in terms of timing and sequencing of demos. So I presented this yesterday at work to several colleagues and it's amazing how much you learn by presenting it just once. Ideally I would dry-run every presentation but it needs to feel a little real with somebody listening or else I just don't get into it. Anyhow, I'll be using a shorter version for the conference but the slides I'll post will have more details.
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://javazone.no/incogito09/events/JavaZone%202009/sessions/GlassFish%20v3%20-%20The%20future%20of%20app%20servers%20and%20Java%20EE%20is%20here"&gt;Session details&lt;/a&gt;:
&lt;br/&gt;&lt;strong&gt;"GlassFish v3 - The future of app servers and Java EE is here... well almost"&lt;/strong&gt;
&lt;br/&gt;&amp;bull; Sep 9th, 14:15 - 15:15
&lt;br/&gt;&amp;bull; Room: Sal 3
&lt;/p&gt;

&lt;p&gt;
As always, the agenda is diverse (with some usual suspects) and there's is a number of sessions that I'll try to attend (conflicts preventing) - EJB 3.1, Google App Engine, Ioke (Ola Bini's new language), JSR 330/Guice (that one is in parallel with my session unfortunately), developing for the cloud, class-loaders, hudson (Kohsuke will be there, I'm sure that his session will be packed and that there will be people talking to him hours after he's done ;) , debugging your production (btrace, ...), and more. But if the organisers still have those headphones in the main room with sessions showing in parallel on 6-7 screens I might do the usual zapping (not very nice to speaker I must admit).
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/Gu1NPfq3gus" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/glassfishzone_in_oslo</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/let_glassfish_update_itself_v3</id>
        <title type="html">Let GlassFish update itself (v3 preview refresh)</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/Pzwg1bpN8Zo/let_glassfish_update_itself_v3" />
        <published>2009-09-01T23:47:36-07:00</published>
        <updated>2009-09-04T02:28:29-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ips" scheme="http://roller.apache.org/ns/tags/" />
        <category term="pkg" scheme="http://roller.apache.org/ns/tags/" />
        <category term="updatetool" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&lt;img src="http://blogs.sun.com/alexismp/resource/updatenotifier.png" border="0" align="right" vspace="5" hspace="5"&gt;
If you were a little scared to switch your preferred repository from "stable" to "dev" as explained in my &lt;a href="http://blogs.sun.com/alexismp/entry/updating_glassfish_v3_preview_to"&gt;previous entry&lt;/a&gt;, you now have the ability to simply update your GlassFish v3 Preview installed image as we've just pushed out an update to the GlassFish stable repositories (both for the Java EE SDK and for GlassFish). See &lt;a href="https://glassfish.dev.java.net/servlets/ReadMsg?list=users&amp;msgNo=37505"&gt;Abhijit's announcement&lt;/a&gt; &lt;!--and the &lt;a href=""&gt;TA post&lt;/a&gt; --&gt;. We carried out more tests than for typical promoted releases posted on the "dev" repository to allow people to upgrade their 3-month old GlassFish v3 release.
&lt;/p&gt;

&lt;p&gt;
The new stable version is build 57 and reasons to upgrade include : 
&lt;br/&gt; &amp;bull; Hudson no longer has deployment issues.
&lt;br/&gt; &amp;bull; You get the OSGi declarative services (see &lt;a href="http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4"&gt;Jerome's blog&lt;/a&gt;)
&lt;br/&gt; &amp;bull; Jersey moved from 1.0 to 1.1
&lt;br/&gt; &amp;bull; tons of bugs fixes
&lt;br/&gt; &amp;bull; lots more new Java EE 6 features implemented (the exact delta is hard to compute)
&lt;br/&gt; &amp;bull; the update tool itself and its CLI have been updated from 2.1 to 2.2
&lt;/p&gt;

&lt;p&gt;
If you're using the SDK you probably have already been offered to upgrade.
&lt;br/&gt;
If you don't mind using the command-line, it's easy as this single command :
&lt;code&gt;
&lt;br/&gt;% bin/pkg image-update
&lt;br/&gt;DOWNLOAD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PKGS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FILES&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;XFER&amp;nbsp;(MB)
&lt;br/&gt;Completed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50/50&amp;nbsp;&amp;nbsp;&amp;nbsp;3392/3392&amp;nbsp;&amp;nbsp;&amp;nbsp;72.62/72.62&amp;nbsp;
&lt;br/&gt;
&lt;br/&gt;PHASE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ACTIONS
&lt;br/&gt;Removal&amp;nbsp;Phase&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;131/131&amp;nbsp;
&lt;br/&gt;Install&amp;nbsp;Phase&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;474/474&amp;nbsp;
&lt;br/&gt;Update&amp;nbsp;Phase&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3544/3544&amp;nbsp;
&lt;br/&gt;PHASE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ITEMS
&lt;br/&gt;Reading&amp;nbsp;Existing&amp;nbsp;Index&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9/9&amp;nbsp;
&lt;br/&gt;Indexing&amp;nbsp;Packages&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;52/52&amp;nbsp;
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
You'll see that the new version for GlassFish is 3.0-57 (build 57) and that the bits are now up-to-date (no 'u' in the UFIX column).
&lt;code&gt;
&lt;br/&gt;% bin/pkg list
&lt;br/&gt;NAME&amp;nbsp;(PUBLISHER)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;VERSION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UFIX
&lt;br/&gt;ant&amp;nbsp;(contrib.glassfish.org)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.7.1-0.6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;felix&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.8.0-0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-amx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-appclient&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-branding&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-branding-gui&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-cmp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-codegen&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0.0-20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-common&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-common-full&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-corba&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0.0-20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-corba-omgapi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0.0-20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-ejb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-ejb-lite&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-grizzly&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.9.15-0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-gui&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-hk2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jca&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jcdi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jdbc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jdbc-gui&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jms&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jpa&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jsf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.0.0-14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jta&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-jts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-management&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-nucleus&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-registration&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-scripting&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-web&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;glassfish-web-gui&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;javadb&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;10.4.2.1-0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;javaee-firstcup-tutorial&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.0.1-4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;javaee-javadocs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;javaee-samples-build&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9-4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;javaee-samples-full&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9-4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;javaee-samples-web&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9-4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;javaee-tutorial&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.0.1-9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;jersey&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.1.1-1.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;metro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.0-14&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;mq-bin-sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.4-11.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;mq-config-gf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.4-11.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;mq-core&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.4-11.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;mq-locale&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.4-11.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;mq-server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4.4-11.5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;pkg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.111.3-30.2311&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;pkg-java&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.111-30.2311&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;python2.4-minimal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.4.5.0-30.2311&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;sdk-branding-full&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;updatetool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.2.2-30.2311&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;br/&gt;wxpython2.8-minimal&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2.8.8-30.2311&amp;nbsp;&amp;nbsp;&amp;nbsp;installed&amp;nbsp;&amp;nbsp;----
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
If you've downloaded GlassFish from &lt;a href="http://glassfish.dev.java.net"&gt;http://glassfish.dev.java.net&lt;/a&gt;, you have not been notified because the preferred authority (IPS repository) has been set to contrib.glassfish.org by mistake. To fix this from the command-line:
&lt;code&gt;
&lt;br/&gt;% cd GLASSFISH_HOME
&lt;br/&gt;% bin/pkg set-authority -P stable.glassfish.org
&lt;/code&gt;
&lt;br/&gt;&lt;i&gt;(this assumes that there's already a stable.glassfish.org repository defined. It only sets it as the preferred)&lt;/i&gt;.
&lt;/p&gt;

&lt;p&gt;
From there you can simply issue a :
&lt;code&gt;
&lt;br/&gt;
% bin/pkg image-update
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
and you'll be in for a 74MB download to update your existing install as shown above.
&lt;/p&gt;

&lt;p&gt;
To fix the preferred repository issue from the Update Tool (&lt;code&gt;bin/updatetool&lt;/code&gt;), simply select the image and chose "File &gt; Image Properties" to select stable.glassfish.org as the preferred repository. You can then select "Available Updates" and do the update from there.
&lt;/p&gt;

&lt;img src="http://blogs.sun.com/alexismp/resource/FullScreens.png" border="0" hspace="5" vspace="5"&gt;
&lt;img src="http://blogs.sun.com/alexismp/resource/updating-glassfish-preview.png" border="0" hspace="5" vspace="5"&gt;
&lt;img src="http://blogs.sun.com/alexismp/resource/updatetool-gfpreview.png" border="0" hspace="5" vspace="5"&gt;

&lt;p&gt;
If you want things like the &lt;a href="http://blogs.sun.com/aquatic/"&gt;RESTful admin and monitoring&lt;/a&gt;, you'll need to be running a more recent build (promoted build 60 and above in this case).
&lt;/p&gt;

&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/Pzwg1bpN8Zo" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/let_glassfish_update_itself_v3</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/new_screencast_django_setup_for</id>
        <title type="html">New screencast - Django setup for GlassFish v3</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/BStpLD3N1us/new_screencast_django_setup_for" />
        <published>2009-08-31T07:33:06-07:00</published>
        <updated>2009-08-31T07:33:06-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="django" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jython" scheme="http://roller.apache.org/ns/tags/" />
        <category term="python" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
In this new short (4-min) screencast, I'm mostly following &lt;a href="http://weblogs.java.net/blog/vivekp/archive/2009/06/run_django_appl_1.html"&gt;Vivek's instructions&lt;/a&gt; on how to setup GlassFish v3 for Django deployments. I'm using a recent promoted build and getting the jython distro straight using the GlassFish updatetool.
&lt;/p&gt;

&lt;p&gt;
&lt;object width="425" height="344"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/ivUNJnMburA&amp;hl=en&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6"/&gt;
&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"/&gt;
&lt;embed src="http://www.youtube.com/v/ivUNJnMburA&amp;hl=en&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;
&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;

&lt;p&gt;
Everything is pretty much straightforward, but making it part of the default GlassFish v3 distribution (it's currently an optional add-on) would make it as simple as install/deploy.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/BStpLD3N1us" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/new_screencast_django_setup_for</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/updating_glassfish_v3_preview_to</id>
        <title type="html">Updating GlassFish v3 Preview to a more recent promoted build</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/RyuloMf7Dlc/updating_glassfish_v3_preview_to" />
        <published>2009-08-21T05:20:13-07:00</published>
        <updated>2009-08-21T05:20:13-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="dev" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ips" scheme="http://roller.apache.org/ns/tags/" />
        <category term="pkg" scheme="http://roller.apache.org/ns/tags/" />
        <category term="promoted" scheme="http://roller.apache.org/ns/tags/" />
        <category term="updatecenter" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
GlassFish v3 Preview is build #47(d) and came out right before JavaOne (May 2009). On the way to v3 final, the team is releasing promoted builds every week. We're now down to build 60, so you can imagine how much has changed and what you're missing out on if you're still on build 47. of course you can &lt;a href="http://download.java.net/glassfish/v3/promoted/"&gt;download the promoted build&lt;/a&gt; and re-install GlassFish, but this entry is all about using the IPS package management tools that ship with GlassFish v3 (in the top-level glassfish &lt;code&gt;bin/&lt;/code&gt; directory) to upgrade an existing install.
&lt;/p&gt;

&lt;p&gt;
If you don't mind living on the bleeding edge (promoted builds are less stable than the "Preview" release by definition) you can change your default authority (IPS repository) from a &lt;code&gt;stable.glassfish.org&lt;/code&gt; one (whose content hasn't changed since May) to a &lt;code&gt;dev.glassfish.org&lt;/code&gt; authority which hosts promoted builds :
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
% pkg set-authority --enable -P -O http://pkg.glassfish.org/v3/dev dev.glassfish.org
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
This defines a new authority as the preferred (&lt;code&gt;-P&lt;/code&gt;) source for GlassFish packages.
&lt;br/&gt;Optionally you can also disable the stable authority : 
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;% pkg set-authority --disable stable.glassfish.org&lt;/code&gt;. 
&lt;/p&gt;

&lt;p&gt;
In any case, updating to the latest promoted build is a simple as issuing this command (or using the updatetool UI) :
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;% pkg image-update&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
If you were to set &lt;code&gt;stable.glassfish.org&lt;/code&gt; back to being the preferred repository, that would not roll you back to build 47d (v3 Preview) but it would stop offering you to update every week to the newly promoted build. Finally, note that you cannot disable a preferred authority and that to list all authorities, including those that are disabled, you'll need to use the &lt;code&gt;"pkg -a publisher"&lt;/code&gt; command.
&lt;/p&gt;
&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/RyuloMf7Dlc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/updating_glassfish_v3_preview_to</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/java_ee_6_tutorial_and</id>
        <title type="html">Java EE 6 tutorial and samples straight to your GlassFish v3 install</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/kyPl6ydoc1A/java_ee_6_tutorial_and" />
        <published>2009-08-20T05:21:04-07:00</published>
        <updated>2009-08-20T05:21:04-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="ee6" scheme="http://roller.apache.org/ns/tags/" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="ips" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="pkg" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tutorial" scheme="http://roller.apache.org/ns/tags/" />
        <category term="updatetool" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
While the &lt;a href="http://java.sun.com/javaee/6/docs/tutorial/doc/"&gt;Java EE 6 tutorial&lt;/a&gt; and the code samples it offers are still work in progress (expect a few rough edges), it's probably a great source for getting up to speed with this update to the Java EE platform. If you've installed the Preview of the &lt;a href="http://java.sun.com/javaee/sdk/"&gt;Java EE 6 SDK&lt;/a&gt; you've probably been encouraged to download an update to the Java EE 6 tutorial:
&lt;/p&gt;

&lt;p&gt;
   &lt;img src="http://blogs.sun.com/alexismp/resource/updatenotifier.png" border="0" vspace="5" hspace="5"&gt;
&lt;a href="http://blogs.sun.com/alexismp/resource/toolupdate.png"&gt;
   &lt;img src="http://blogs.sun.com/alexismp/resource/toolupdate-small.png" border="0" vspace="5" hspace="5"&gt;
&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
If you've been using the GlassFish v3 Preview bits from &lt;a href="http://glassfish.dev.java.net"&gt;glassfish.dev.java.net&lt;/a&gt; then you may be wondering what this is all about as there is no "Tutorial" package or update showing up in the GlassFish updatetool. Whether this is a feature or a bug is yet to be decided but this is technically due to different &lt;strong&gt;repositories&lt;/strong&gt; being wired in for the two &lt;strong&gt;different downloads&lt;/strong&gt; (glassfish vs. SDK). You can check what your repository settings are with to following command (you can visit the URL for an HTML representation of the contents of the repository) :
&lt;/p&gt;

&lt;a href="http://blogs.sun.com/alexismp/resource/updatetool-imageprops.png"&gt;
   &lt;img src="http://blogs.sun.com/alexismp/resource/updatetool-imageprops-small.png" border="0" align="right" vspace="5" hspace="5"&gt;
&lt;/a&gt;

&lt;p&gt;
&lt;code&gt;
% pkg authority
&lt;br/&gt;AUTHORITY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URL
&lt;br/&gt;contrib.sun.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://pkg.sun.com/glassfish/v3/contrib/
&lt;br/&gt;contrib.glassfish.org&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://pkg.glassfish.org/v3/contrib/
&lt;br/&gt;stable.glassfish.org (preferred)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://pkg.glassfish.org/v3/stable/
&lt;br/&gt;stable.sun.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;http://pkg.sun.com/glassfish/v3/stable/
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
If you're using &lt;strong&gt;GlassFish promoted&lt;/strong&gt; builds you have a preferred &lt;code&gt;dev.glassfish.org&lt;/code&gt; authority (repository) defined as &lt;a href="http://pkg.glassfish.org/v3/dev/"&gt;http://pkg.glassfish.org/v3/dev/&lt;/a&gt;. If you're running &lt;strong&gt;GlassFish v3 Preview&lt;/strong&gt; (released at JavaOne in May 2009), then it comes with a preferred &lt;code&gt;stable.glassfish.org&lt;/code&gt; repository defined as &lt;a href="http://pkg.glassfish.org/v3/stable/"&gt;http://pkg.glassfish.org/v3/stable/&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
In both cases, in order to be able to see and add the tutorial and sample packages, you simply need to add &lt;code&gt;stable.glassfish.sun.com&lt;/code&gt; like this :
&lt;code&gt;
&lt;br/&gt;% pkg set-authority --enable -O http://pkg.sun.com/glassfish/v3/stable/ stable.glassfish.sun.com
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Once that's done, you can list the tutorial and samples packages available for install and proceed with the install :
&lt;code&gt;
&lt;br/&gt;% pkg list -a | grep javaee
&lt;br/&gt;javaee-firstcup-tutorial (stable.glassfish.sun.com)&amp;nbsp;2.0.1-4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;known      ----
&lt;br/&gt;javaee-javadocs (stable.glassfish.sun.com)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;3.0-47.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;known      ----
&lt;br/&gt;javaee-samples-build (stable.glassfish.sun.com)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9-2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;known      ----
&lt;br/&gt;javaee-samples-full (stable.glassfish.sun.com)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9-2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;known      ----
&lt;br/&gt;javaee-samples-web (stable.glassfish.sun.com)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0.9-2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;known      ----
&lt;br/&gt;javaee-tutorial (stable.glassfish.sun.com)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.0.1-9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;known      ----
&lt;br/&gt;% pkg install javaee-firstcup-tutorial javaee-javadocs javaee-samples-build javaee-samples-full javaee-samples-web javaee-tutorial
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
This will install 17MB worth of samples and tutorial documentation and place this all in your &lt;code&gt;glassfish/samples&lt;/code&gt; and &lt;code&gt;glassfish/docs&lt;/code&gt; directories.
&lt;/p&gt;

&lt;p&gt;
if you're running GlassFish v3 Preview (which already comes a stable repository) it is &lt;strong&gt;important&lt;/strong&gt; that you then either disable or remove the &lt;code&gt;stable.glassfish.sun.com&lt;/code&gt; authority. Failing to do so will cause multiple packages conflict on the next update of GlassFish. Here's how to disable the repository:
&lt;br/&gt;
&lt;code&gt;% pkg set-authority --disable stable.glassfish.sun.com
&lt;/code&gt;
&lt;/p&gt;


&lt;p&gt;
Of course you can use the &lt;code&gt;bin/updatetool&lt;/code&gt; to accomplish all of the above if you're CLI-averse.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/kyPl6ydoc1A" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/java_ee_6_tutorial_and</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/osgi_dans_visualvm</id>
        <title type="html">OSGi dans visualvm</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/YKbsJLT36Uk/osgi_dans_visualvm" />
        <published>2009-08-14T08:10:24-07:00</published>
        <updated>2009-08-14T08:10:24-07:00</updated> 
        <category term="/InFrenchInZeText" label="InFrenchInZeText" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jmx" scheme="http://roller.apache.org/ns/tags/" />
        <category term="osgi" scheme="http://roller.apache.org/ns/tags/" />
        <category term="visualvm" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
Le concours de blog VisualVM m'a fait découvrir le &lt;a href="http://membres-liglab.imag.fr/kiev.gama/dev/osgi/visualvm/"&gt;plugin OSGi&lt;/a&gt; écrit &lt;strike&gt;à&lt;/strike&gt; par Kiev (doctorant à Grenoble). Ca me plait bien.
&lt;br/&gt;Du coup, billets en &lt;a href="http://blogs.sun.com/theaquarium/entry/visualvm_osgi_plugin_with_glassfish"&gt;anglais&lt;/a&gt; et en &lt;a href="http://blogs.sun.com/theaquarium_fr/entry/le_plugin_osgi_pour_visualvm"&gt;français&lt;/a&gt;.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/YKbsJLT36Uk" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/osgi_dans_visualvm</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/latest_glassfish_podcast_edisode_antonio</id>
        <title type="html">Latest GlassFish Podcast episode: Antonio Goncalves</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/j2zt_YP4_Fg/latest_glassfish_podcast_edisode_antonio" />
        <published>2009-08-08T14:46:52-07:00</published>
        <updated>2009-08-10T01:39:12-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="interview" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="podcast" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
It's been a while since the last GlassFish Podcast episode and even longer since the last interview, so here it goes - &lt;a href="http://blogs.sun.com/glassfishpodcast/entry/episode_036_interview_with_antonio"&gt;episode #36 an interview with Antonio Goncalves&lt;/a&gt;. 
&lt;/p&gt;

&lt;a href="http://blogs.sun.com/glassfishpodcast"&gt;
  &lt;img src="http://blogs.sun.com/theaquarium/resource/GlassFishPodcastButton-166_52px.png" border="0" vspace="5" hspace="5" align="right"&gt;
&lt;/a&gt;

&lt;p&gt;
&lt;a href="http://www.antoniogoncalves.org"&gt;Antonio&lt;/a&gt; has many hats and this discussion covers a lot of ground starting with his recently published &lt;a href="http://www.antoniogoncalves.org/xwiki/bin/view/Book/JavaEE6"&gt;Java EE 6 book&lt;/a&gt; with GlassFish v3. We get into his favorite Java EE 6 feature, his role in the JCP as an individual contributor, his take on Spring vs. Java EE 6 and some thought on JSR 299 (the interview predates the &lt;a href="http://weblogs.java.net/blog/robc/archive/2009/08/dependency_inje.html"&gt;inclusion of JSR 330 into Java EE 6&lt;/a&gt;). We also discuss Antonio's role as the leader of the &lt;a href="http://www.parisjug.org"&gt;Paris JUG&lt;/a&gt; inspiring more than a dozen other JUGs across the country.
&lt;/p&gt;
&lt;p&gt;
Enjoy &lt;a href="http://blogs.sun.com/glassfishpodcast/entry/episode_036_interview_with_antonio"&gt;the episode&lt;/a&gt;.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/j2zt_YP4_Fg" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/latest_glassfish_podcast_edisode_antonio</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/stuff_that_happened_while_away</id>
        <title type="html">While away, starting with the hot-off-the-press part -</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/1pweSUcKdVc/stuff_that_happened_while_away" />
        <published>2009-08-04T12:23:46-07:00</published>
        <updated>2009-08-04T12:23:46-07:00</updated> 
        <category term="/General" label="General" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="hudson" scheme="http://roller.apache.org/ns/tags/" />
        <category term="javaee" scheme="http://roller.apache.org/ns/tags/" />
        <category term="jruby" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netbeans" scheme="http://roller.apache.org/ns/tags/" />
        <category term="netnewswire" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opends" scheme="http://roller.apache.org/ns/tags/" />
        <category term="webstack" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
&amp;bull; Small (and welcome) &lt;a href="http://weblogs.java.net/blog/robc/archive/2009/08/dependency_inje.html"&gt;Java EE 6 delay&lt;/a&gt; to accomodate JSR299/JSR330 (and to include both in the platform). Expect GlassFish v3 to shift as well.
&lt;br/&gt;&amp;bull; &lt;a href="http://blogs.sun.com/Ludo/entry/opends_2_0_is_here"&gt;OpenDS 2.0 released&lt;/a&gt; - full Java LDAP server now ready for prime-time.
&lt;br/&gt;&amp;bull; &lt;a href="http://blogs.sun.com/theaquarium/entry/webstack_1_5_now_available"&gt;Web Stack 1.5 released&lt;/a&gt;. More than an &lt;a href="http://www.sun.com/software/webstack/features.xml"&gt;optimized and integrated (L)AMP stack&lt;/a&gt; it also buys you support for &lt;a href="http://hudson.dev.java.net"&gt;Hudson&lt;/a&gt; and uses &lt;a href="http://updatecenter2.dev.java.net"&gt;IPS&lt;/a&gt; (like GlassFish v3) for fully relocatable installs.
&lt;br/&gt;&amp;bull; &lt;a href="http://www.netbeans.org/downloads/index.html"&gt;NetBeans 6.7.1&lt;/a&gt; shipped. Now with JavaFX and lots of bug fixes (including some related to Maven support). You can simply update an existing 6.7 install. 6.8 will have Java EE 6 support and recent GlassFish v3 as the default (&lt;a href="http://bits.netbeans.org/netbeans/6.8/m1/"&gt;Milestone 1 is just out&lt;/a&gt;).
&lt;br/&gt;&amp;bull; &lt;a href="http://www.engineyard.com/blog/2009/jrubys-future-at-engine-yard/"&gt;JRuby guys moving to EngineYard&lt;/a&gt; (and &lt;a href="http://blog.headius.com/2009/08/which-deployment-for-jruby-on-rails.html"&gt;confirming the GlassFish praises&lt;/a&gt;).
&lt;br/&gt;&amp;bull; &lt;a href="http://blogs.sun.com/GlassFishForBusiness/entry/sjs_as_9_1_u27"&gt;GlassFish v2.1 patch 3&lt;/a&gt;, for paying customers.
&lt;br/&gt;&amp;bull; &lt;a href="http://blogs.newsgator.com/daily/2009/07/google-and-newsgator-whats-it-all-about.html"&gt;NetNewsWire now has web version via Google Reader&lt;/a&gt;
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/1pweSUcKdVc" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/stuff_that_happened_while_away</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/five_years_of_blogging</id>
        <title type="html">Five years of blogging</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/pLHI8HRFrRo/five_years_of_blogging" />
        <published>2009-07-15T02:07:35-07:00</published>
        <updated>2009-07-15T02:07:35-07:00</updated> 
        <category term="/General" label="General" />
        <category term="blog" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
Over the past &lt;a href="http://blogs.sun.com/alexismp/entry/what_s_in_a_name"&gt;five years&lt;/a&gt; my blogging have been less frequent. This is probably due to my focus on GlassFish (which still has me cover a lot of ground), to the other group blogs I co-author, and because of the &lt;a href="http://twitter.com/alexismp"&gt;tweeting&lt;/a&gt; I do. I'm starting to think that twitter is to blogging what email is to mail - showing just how lazy we all are.
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/pLHI8HRFrRo" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/five_years_of_blogging</feedburner:origLink></entry>
    <entry>
        <id>http://blogs.sun.com/alexismp/entry/lightweight_glassfish</id>
        <title type="html">Top reasons why GlassFish v3 is a lightweight server</title>
        <author><name>alexismp</name></author>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Bistro/~3/cYGsrO8BGC4/lightweight_glassfish" />
        <published>2009-07-10T01:55:41-07:00</published>
        <updated>2009-07-10T05:54:41-07:00</updated> 
        <category term="/GlassFish" label="GlassFish" />
        <category term="glassfish" scheme="http://roller.apache.org/ns/tags/" />
        <category term="lightweight" scheme="http://roller.apache.org/ns/tags/" />
        <category term="memory" scheme="http://roller.apache.org/ns/tags/" />
        <category term="performance" scheme="http://roller.apache.org/ns/tags/" />
        <category term="spring" scheme="http://roller.apache.org/ns/tags/" />
        <category term="tomcat" scheme="http://roller.apache.org/ns/tags/" />
        <category term="v3" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
I have been involved in helping a couple of consultants put together a presentation on the future of app servers and one thing that struck me was that in the resulting slides, they equated lightweight appserver with the use of the Spring framework. Using Spring in WebSphere doesn't make any lighter. I don't think that deploying an archive with 90% being runtime qualifies as lightweight (hence the SpringSource tc and dm server offerings), but I also think that painting every application server as being monolithic and heavyweight is a gross caricature, so here are my top reasons why GlassFish *is* a lightweight application server.
&lt;/p&gt;


&lt;img src="http://blogs.sun.com/alexismp/resource/glassfish-lightweight.jpg" border="0" vspace="5" hspace="5" align="right"&gt;

&lt;p&gt;
#1 &amp;bull; &lt;strong&gt;Download size&lt;/strong&gt;
&lt;br/&gt;
For some people download size matters. For them and for everybody else, GlassFish v3 downloads start at 30MB for the web profile (get it &lt;a href="https://glassfish.dev.java.net/downloads/v3-preview.html"&gt;here&lt;/a&gt;). The updatetool will then help you scale up or down from there. Of course you can also start with the &lt;a href="http://blogs.sun.com/alexismp/entry/glassfish_v3_a_la_carte1"&gt;"a la carte" approach&lt;/a&gt; and go even lighter (20MB for a functional RESTful+EJB31 server). Some others are fighting hard to fit on a single DVD or CD.
&lt;/p&gt;

&lt;p&gt;
#2 &amp;bull; &lt;strong&gt;Pay for what you use&lt;/strong&gt;
&lt;br/&gt;
With the extensible architecture of GlassFish v3, services and containers and brought online only when artifacts using them are deployed to the runtime. Deploy your first WAR and the web container will take a couple of seconds to start. Deploy your second webapp in a fraction of a second. Remove the last webapp and the web container will not be restarted on subsequent server restarts. Some people call that on-demand services.
&lt;/p&gt;


&lt;p&gt;
#3 &amp;bull; &lt;strong&gt;Fast (re)deployment&lt;/strong&gt;
&lt;br/&gt;
Beyond incremental compilation (which most IDE's offer nowadays) and deploy-on-change (simply save the source and reload the web page), the time to (re)deploy an application is key to a developer's productivity. The GlassFish team has spent time optimizing that process to offer sub-second redeploy time for simple applications. GlassFish v3 also offers the preservation of sessions across redeployments which is a pretty safe operation (new class-loader, new application) and costs less than 5 seconds to recreate a Spring context (for instance with the jpetstore demo on my laptop), and even less on traditional JavaEE webapps. This is all built into the product with no configuration or add-on required. Check out this recent (and short) &lt;a href="http://blogs.sun.com/alexismp/entry/short_screencast_on_glassfish_v3"&gt;screencast&lt;/a&gt; for an illustration.
&lt;/p&gt;

&lt;p&gt;
#4 &amp;bull; &lt;strong&gt;Startup time&lt;/strong&gt;
&lt;br/&gt;
Even in the days of (fast) redeploy, startup time still matters to both developers and operations. GlassFish v3 starts in about 3 seconds with a warm felix cache. Starting the web container is about an extra 3 seconds. Deploying individual applications depends largely on their size and complexity but let's say that it starts at around 100ms and should not go beyond 30 seconds. Starting GlassFish v3 with Apache Roller already deployed (not exactly the lightest webapp there is out there) will cost you about 20 seconds.
&lt;/p&gt;

&lt;p&gt;
#5 &amp;bull; &lt;strong&gt;Memory consumption&lt;/strong&gt;
&lt;br/&gt;
One might think the OSGi nature or the application server introduces an unwelcome memory overhead. For an application servers like GlassFish v3, that certainly isn't a problem as a base GlassFish v3 runtime is using less than 20MB (another "side effect" of the modular &amp; extensible architecture) and a non-trivial application only 50MB of heap (as reported by visualvm). Not quite small enough to run on a feature phone, but that may well happen sooner than we all think, especially when using the &lt;a href="http://weblogs.java.net/blog/ss141213/archive/2009/05/running_glassfi_1.html"&gt;&lt;code&gt;Static&lt;/code&gt; mode&lt;/a&gt; (no OSGi) and the &lt;a href="https://embedded-glassfish.dev.java.net/"&gt;embedded api&lt;/a&gt;.
&lt;/p&gt;


&lt;p&gt;
#6 &amp;bull; &lt;strong&gt;Spring *and* OSGi&lt;/strong&gt;
&lt;br/&gt;
No need to choose between standard JavaEE, Spring, and OSGi. You can have all of the above in a single integrated product. In fact you can even use the unmodified &lt;a href="http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_3"&gt;OSGi-fied Spring DM&lt;/a&gt; version of the framework, and make it available at the expense of a &lt;a href="http://blogs.sun.com/alexismp/entry/glassfish_a_la_carte_part"&gt;couple of clicks in the update tool&lt;/a&gt;. The HK2 layer in GlassFish v3 is abstracting OSGi away and manages to have GlassFish retain its lightweight feel while allowing for Java EE components to inject any &lt;a href="http://blogs.sun.com/dochez/entry/glassfish_v3_extensions_part_4"&gt;OSGi-based declarative services&lt;/a&gt; at the expense of a standard &lt;code&gt;@Resource&lt;/code&gt; annotation. I don't know if you think this lightweight but I certainly find this to be an elegant integration.
&lt;/p&gt;


&lt;p&gt;
#7 &amp;bull; &lt;strong&gt;Open Source&lt;/strong&gt;
&lt;br/&gt;
GlassFish is &lt;a href="https://glassfish.dev.java.net/public/CDDL+GPL.html"&gt;open source&lt;/a&gt;, so you can make it whatever you want, even a heavyweight monster if you so decide! Certainly the barrier to entry for using GlassFish is very lightweight.
&lt;/p&gt;


&lt;p&gt;
But the real question is - is GlassFish v3 lightweight for you(r application)?
&lt;br/&gt;Whatever the answer is, I'd love to hear your comments and experience!
&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Bistro/~4/cYGsrO8BGC4" height="1" width="1"/&gt;</content>
    <feedburner:origLink>http://blogs.sun.com/alexismp/entry/lightweight_glassfish</feedburner:origLink></entry>
</feed>
