<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Overload your JAVA knowledge...</title>
	<atom:link href="http://javaoverloaded.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://javaoverloaded.wordpress.com</link>
	<description>A very "Java" oriented blog!</description>
	<lastBuildDate>Tue, 26 Jun 2007 10:08:11 +0000</lastBuildDate>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='javaoverloaded.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Overload your JAVA knowledge...</title>
		<link>http://javaoverloaded.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://javaoverloaded.wordpress.com/osd.xml" title="Overload your JAVA knowledge..." />
	<atom:link rel='hub' href='http://javaoverloaded.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Load balancing con Apache 2.x e Tomcat 4.x</title>
		<link>http://javaoverloaded.wordpress.com/2007/06/26/load-balancing-con-apache-2x-e-tomcat-4x/</link>
		<comments>http://javaoverloaded.wordpress.com/2007/06/26/load-balancing-con-apache-2x-e-tomcat-4x/#comments</comments>
		<pubDate>Tue, 26 Jun 2007 10:02:20 +0000</pubDate>
		<dc:creator>JavaMentor</dc:creator>
				<category><![CDATA[Application Servers]]></category>
		<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://javaoverloaded.wordpress.com/2007/06/26/load-balancing-con-apache-2x-e-tomcat-4x/</guid>
		<description><![CDATA[Per ottimizzare l&#8217;utilizzo della memoria da parte di Tomcat, nei casi in cui deve gestire applicazioni di un certo peso, è possibile configurare più servlet container Tomcat in regime di Load Balancing, utilizzando un web server Apache 2 che funge da load balancer, effettuando il dispatching delle richieste ai diversi servlet container in base al [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=11&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Per ottimizzare l&#8217;utilizzo della memoria da parte di Tomcat,  nei casi in cui deve gestire applicazioni di un certo peso, è possibile configurare più servlet container Tomcat in regime di Load Balancing, utilizzando un web server Apache 2 che funge da load balancer, effettuando il dispatching delle richieste ai diversi servlet container in base al peso assegnato a ciscuno di essi.</p>
<p>Tale pratica consente la distribuzione del carico elaborativo su più JVM, migliorando le performance generali delle applicazioni, abbassandone di conseguenza i tempi di risposta.</p>
<p>Vediamo in sequenza i passi per ottenere quanto descritto, considerando che il carico verrà bilanciato su due servlet container Tomcat 4.x:<br />
<span id="more-11"></span><br />
<strong>Passo 1: Download del software necessario</strong></p>
<ul>
<li><a href="http://www.apache.org/dist/httpd/binaries/" title="Apache 2.x" target="_blank">Apache 2.x</a> (binari)</li>
<li><a href="http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/" title="Tomcat 4.x" target="_blank">Tomcat 4.x</a> (binari)</li>
<li><a href="http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.0/bin/" title="mod_jk" target="_blank">Modulo jk</a> (mod_jk.so)</li>
</ul>
<p><strong>Passo 2: Installazione del software</strong></p>
<p>Per le procedure di installazione di Apache 2.x e Tomcat 4.x seguire le indicazioni fornite nella documentazione ufficiale, mentre il modulo mod_jk-2.0.42.so va rinominato in mod_jk.so e copiato nella directory modules presente nella root di installazione di Apache 2</p>
<p><strong>Passo 3: Configurazione di Apache 2.x</strong></p>
<p>Aprire il file httpd.conf contenuto nella directory conf di Apache 2.x, ed aggiungere le seguenti linee, subito dopo l&#8217;ultimo LoadModule :</p>
<p><code>#<br />
# Load mod_jk<br />
#<br />
LoadModule jk_module modules/mod_jk.so</code></p>
<p><code>#<br />
# Configure mod_jk<br />
#<br />
JkWorkersFile conf/workers.properties<br />
JkLogFile logs/mod_jk.log<br />
JkLogLevel info</code></p>
<p>Inserire sotto la linea relativa alla DocumentRoot, le seguenti linee:</p>
<p><code>JkMount /*.jsp loadbalancer<br />
JkMount /servlet/* loadbalancer</code></p>
<p>Creare un file workers.properties, sempre nella directory conf di Apache 2.x, questo file in pratica elenca i vari Tomcat su cui verrà bilanciato il carico di lavoro e su quali porte Apache 2.x attraverso il mod_jk comunicherà con essi:</p>
<p><code>#<br />
# workers.properties<br />
#<br />
# In Unix, we use forward slashes:<br />
ps=/</code></p>
<p><code># list the workers by name<br />
worker.list=tomcat1, tomcat2, loadbalancer</code></p>
<p><code># ------------------------<br />
# First tomcat server<br />
# ------------------------<br />
worker.tomcat1.port=11009<br />
worker.tomcat1.host=localhost<br />
worker.tomcat1.type=ajp13</code></p>
<p><code># Specify the size of the open connection cache.<br />
#worker.tomcat1.cachesize</code></p>
<p><code>#<br />
# Specifies the load balance factor when used with<br />
# a load balancing worker.<br />
# Note:<br />
#  ----&gt; lbfactor must be &gt; 0<br />
#  ----&gt; Low lbfactor means less work done by the worker.<br />
worker.tomcat1.lbfactor=100</code></p>
<p><code># ------------------------<br />
# Second tomcat server<br />
# ------------------------<br />
worker.tomcat2.port=12009<br />
worker.tomcat2.host=localhost<br />
worker.tomcat2.type=ajp13</code></p>
<p><code># Specify the size of the open connection cache.<br />
#worker.tomcat2.cachesize</code></p>
<p><code>#<br />
# Specifies the load balance factor when used with<br />
# a load balancing worker.<br />
# Note:<br />
#  ----&gt; lbfactor must be &gt; 0<br />
#  ----&gt; Low lbfactor means less work done by the worker.<br />
worker.tomcat2.lbfactor=100</code></p>
<p><code># ------------------------<br />
# Load Balancer worker<br />
# ------------------------</code></p>
<p><code>#<br />
# The loadbalancer (type lb) worker performs weighted round-robin<br />
# load balancing with sticky sessions.<br />
# Note:<br />
#  ----&gt; If a worker dies, the load balancer will check its state<br />
#        once in a while. Until then all work is redirected to peer<br />
#        worker.<br />
worker.loadbalancer.type=lb<br />
worker.loadbalancer.balanced_workers=tomcat1, tomcat2</code></p>
<p><code>#<br />
# END workers.properties<br />
#</code></p>
<p><strong>Passo 4: Configurazione di Tomcat 4.x</strong></p>
<p>Aprire il file server.xml presente nella directory conf di Tomcat 4.x ed effettuare le seguenti modifiche:</p>
<p>Modificare la linea:</p>
<p><code>&lt;Engine name="Standalone" defaultHost="localhost" debug="0"&gt;</code></p>
<p>in:</p>
<p><code>&lt;Engine jvmRoute="tomcat1" name="Standalone" defaultHost="localhost" debug="0"&gt;</code></p>
<p>per il secondo Tomcat specificare &#8220;tomcat2&#8243; per il parametro jvmRoute.</p>
<p>Modificare l&#8217;attributo:</p>
<p><code>&lt;Server port="8005"</code></p>
<p>in:</p>
<p><code>&lt;Server port="11005"</code></p>
<p>per il secondo Tomcat specificare la porta 12005</p>
<p>Modificare poi la porta del connettore AJP13, da:</p>
<p><code>port="8009"</code></p>
<p>in:</p>
<p><code>port="11009"</code></p>
<p>per il secondo Tomcat, specificare la porta 12009</p>
<p>queste impostazioni rispecchiano ciò che è stato indicato nel file workers.properties visto in precedenza</p>
<p>Se non si desidera che i due Tomcat possano essere utilizzati direttamente, è  necessario disabilitare il loro connector HTTP commentando il blocco XML:</p>
<p><code>&lt;!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --&gt;<br />
&lt;!--<br />
&lt;Connector className="org.apache.catalina.connector.http.HttpConnector"  port="8080" minProcesssors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="10" debug="0" connectionTimeout="60000"/&gt;<br />
--&gt;</code></p>
<p>Se si decide di non commentare questa parte è necessario modificare l&#8217;attributo port per uno dei due Tomcat o per tutti e due indicando ad esempio per il primo Tomcat <code>port="11080"</code> e per il secondo Tomcat <code>port="12080"</code></p>
<p><strong>Passo 5: Avvio dei servizi nel corretto ordine</strong></p>
<p>Avviare nella sequenza riportata i servizi:</p>
<ol>
<li>Tomcat 4.x n.1</li>
<li>Tomcat 4.2 n.2</li>
<li>Apache 2.x</li>
</ol>
<p><strong>Conclusioni</strong></p>
<p>Il load balancing funziona grazie al meccanismo del session affinity, (opzione jvmRoute di Tomcat) che consente, dopo la prima richiesta di continuare ad inoltrare le successive richieste del browser allo stesso Tomcat per non perdere le informazioni create in sessione e gestite dal servlet container che ha risposto appunto alla richiesta iniziale di un browser.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaoverloaded.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaoverloaded.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaoverloaded.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaoverloaded.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaoverloaded.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaoverloaded.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaoverloaded.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaoverloaded.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaoverloaded.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaoverloaded.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaoverloaded.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaoverloaded.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaoverloaded.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaoverloaded.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaoverloaded.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaoverloaded.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=11&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaoverloaded.wordpress.com/2007/06/26/load-balancing-con-apache-2x-e-tomcat-4x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/53540469563a7d21dadcde05eebfc2d5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JavaMentor</media:title>
		</media:content>
	</item>
		<item>
		<title>Servlet Filters in a nutshell&#8230; (parte I)</title>
		<link>http://javaoverloaded.wordpress.com/2007/06/23/servlet-filters-in-a-nutshell-parte-i/</link>
		<comments>http://javaoverloaded.wordpress.com/2007/06/23/servlet-filters-in-a-nutshell-parte-i/#comments</comments>
		<pubDate>Sat, 23 Jun 2007 22:45:37 +0000</pubDate>
		<dc:creator>JavaMentor</dc:creator>
				<category><![CDATA[API]]></category>

		<guid isPermaLink="false">http://javaoverloaded.wordpress.com/2007/06/23/servlet-filters-in-a-nutshell-parte-i/</guid>
		<description><![CDATA[La Servlet API a partire dalla versione 2.3 ci mette a disposizione, uno strumento utilissimo: i Servlet Filters. Uno strumento che può essere utilizzato per moltissimi scopi, alcuni esempi: tracciatura e Logging delle attività utente, localizzazione, compressione dati, autenticazione. Cosa Sono? Come si intuisce dal nome, sono delle particolari classi Java che consentono di filtrare [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=8&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>La Servlet API a partire dalla versione 2.3 ci mette a disposizione, uno strumento utilissimo: i Servlet Filters.</p>
<p>Uno strumento che può essere utilizzato per moltissimi scopi, alcuni esempi: tracciatura e Logging delle attività utente, localizzazione, compressione dati, autenticazione.</p>
<p><strong>Cosa Sono?<br />
</strong><br />
Come si intuisce dal nome, sono delle particolari classi Java che consentono di filtrare le richieste del browser verso le Servlets di una web applications e la risposta della Servlet al browser.</p>
<p>La “filtratura” avviene intercettando la richiesta HTTP in modo da poterla manipolare, prima che questa arrivi alla Servlet destinataria o modificando la risposta prima di essere ritornata al browser.</p>
<p>Come abbiamo detto i Servlet Filters sono classi Java, una classe per poter essere utilizzata come filtro deve implementare l’interfaccia <code>javax.servlet.Filter</code>, che definisce tre metodi di base:</p>
<p><code>    init(FilterConfig fc)<br />
doFilter(ServletRequest req, ServletResponse res, FilterChain chain)<br />
destroy()</code></p>
<p>Nei Servlet Filters esiste il concetto di &#8220;catena&#8221;, per ogni web application possono essere configurati più filtri a formare una catena, invocata in sequenza in base alla mappatura dei singoli filtri che la compongono, sulle risorse (Servlet/JSP) della web applications.</p>
<p>Ogni Servlet Filter deve essere configurato e mappato nel deployment descriptor della web application (web.xml), mediante l’uso dei tag xml <code>&lt;filter&gt;</code> e <code>&lt;filter-mapping&gt;</code><br />
<span id="more-8"></span><br />
Il tag <code>&lt;filter&gt;</code> consente di specificare un nome logico assegnato al filtro, la classe che lo implementa i sui eventuali parametri di inizializzazione, questo il formato:</p>
<p><code>&lt;filter&gt;<br />
&lt;filter-name&gt;LogicalFilterName1&lt;/filter-name&gt;<br />
&lt;filter-class&gt;[package.]FilterClass1&lt;/filter-class&gt;<br />
&lt;init-param&gt;<br />
&lt;param-name&gt;param1&lt;/param-name&gt;<br />
&lt;param-value&gt;value&lt;/param-value&gt;<br />
&lt;/init-param&gt;<br />
...<br />
&lt;init-param&gt;<br />
&lt;param-name&gt;paramN&lt;/param-name&gt;<br />
&lt;param-value&gt;value&lt;/param-value&gt;<br />
&lt;/init-param&gt;<br />
&lt;/filter&gt;<br />
</code><br />
Il tag: <code>&lt;filter-mapping&gt;</code> consente di mappare il filtro, attraverso il suo nome logico, su le risorse per cui deve filtrare le richieste, questo il formato:</p>
<p><code>&lt;filter-mapping&gt;<br />
&lt;filter-name&gt;LogicalFilterName1&lt;/filter-name&gt;<br />
&lt;url-pattern&gt;WebResourceURL(es./*)&lt;/url-pattern&gt;<br />
&lt;/filter-mapping&gt;</code></p>
<p><strong>Il Ciclo di Vita</strong></p>
<p>Il ciclo di vita di un Servlet Filters è gestito direttamente dal Java Application Server, che invoca i suoi metodi nella sequenza:</p>
<p>Al boot dell’applicazione il Java Application Server:</p>
<ul>
<li>istanzia le classi dei vari filtri configurati nel deployment descriptor, se un filtro prevede dei parametri di configurazione, istanzia una classe che implementa l’interfaccia FilterConfig che consente l’accesso a tali parametri.</li>
<li>istanzia una classe che implementa l’interfaccia FilterChain e rappresenta la catena dei filtri da invocare</li>
<li>invoca il metodo <code>init(FilterConfig fc)</code> passandogli l’eventuale configurazione del filtro mediante la classe <code>FilterConfig</code> istanziata</li>
</ul>
<p>Quando un utente attraverso il suo browser effettua una richiesta HTTP verso una Servlet o un a JSP, o l’applicazione in seguito ad una richiesta dell’utente produce una nuova richiesta HTTP verso un’altra Servlet o JSP, il Java Application Server, controlla dal deployment descriptor se ci sono filtri mappati per quella risorsa attraverso i tag <code>&lt;filter-mapping&gt;</code>, trovato il primo, ne invoca il metodo <code>doFilter(ServletRequest req, ServletResponse res, FilterChain chain)</code>, questo metodo è il cuore di un Servlet Filter e deve essere implementato con la logica di manipolazione dell&#8217;oggetto request.</p>
<p>Dall&#8217;interno del metodo <code>doFilter(ServletRequest req, ServletResponse res, FilterChain chain)</code> del Servlet Filter, si può decidere di chiamare il metodo <code>doFilter(ServletRequest req, ServletResponse res)</code> dell&#8217;oggetto <code>FilterChain chain</code> passato al filtro dal Java Application Server, che passa il controllo e gli oggetti request e response, al prossimo filtro della catena, mappato per la risorsa richiesta dal browser.</p>
<p>Ma si può anche decidere di non invocare tale metodo e &#8220;spezzare&#8221; così la catena, facendo così in modo che la richiesta arrivi a destinazione evitando che l&#8217;oggetto request venga ulteriormente manipolato da eventuali altri Servlet Filter successivi della catena.</p>
<p>E&#8217; anche possibile come detto inizialmente manipolare l&#8217;oggetto request che viene restituito al browser facendo in modo che prima di arrivare a destinazione passi nuovamente, attraverso i filtri.</p>
<p>Ciò si ottiene inserendo il codice di manipolazione dell&#8217;oggetto response subito dopo la chiamata del metodo <code>doFilter(ServletRequest res, ServletResponse res)</code> sull&#8217;oggetto <code>FilterChain chain</code> effettuata nel metodo <code>doFilter(ServletRequest res, ServletResponse res, FilterChain chain)</code> di ogni Servlet Filter.</p>
<p>Tale pratica ci consente di effettuare ad esempio operazioni di compressione di eventuali files (come PDF, txt, etc.) prodotti, in ritorno al browser, o tracciatura in logs, di ciò che è stato ritornato al browser.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaoverloaded.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaoverloaded.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaoverloaded.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaoverloaded.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaoverloaded.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaoverloaded.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaoverloaded.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaoverloaded.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaoverloaded.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaoverloaded.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaoverloaded.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaoverloaded.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaoverloaded.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaoverloaded.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaoverloaded.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaoverloaded.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=8&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaoverloaded.wordpress.com/2007/06/23/servlet-filters-in-a-nutshell-parte-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/53540469563a7d21dadcde05eebfc2d5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JavaMentor</media:title>
		</media:content>
	</item>
		<item>
		<title>Java Open Source!!</title>
		<link>http://javaoverloaded.wordpress.com/2007/01/04/java-open-source/</link>
		<comments>http://javaoverloaded.wordpress.com/2007/01/04/java-open-source/#comments</comments>
		<pubDate>Thu, 04 Jan 2007 09:33:21 +0000</pubDate>
		<dc:creator>JavaMentor</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://javaoverloaded.wordpress.com/2007/01/04/java-open-source/</guid>
		<description><![CDATA[Da qualche giorno SUN ha deciso di rilasciare JAVA (nelle versioni J2ME e J2SE) sotto licenza GPL2 affidandosi anche alle menti della più grande comuntà internazionale di sviluppatori che solo il mondo Open Source può vantare, date un&#8217;occhiata a questo sito WEB&#8230; https://openjdk.dev.java.net/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=4&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Da qualche giorno SUN ha deciso di rilasciare JAVA (nelle versioni J2ME e J2SE) sotto licenza GPL2 affidandosi anche alle menti della più grande comuntà internazionale di sviluppatori che solo il mondo Open Source può vantare, date un&#8217;occhiata a questo sito WEB&#8230; <a href="https://openjdk.dev.java.net/">https://openjdk.dev.java.net/</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaoverloaded.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaoverloaded.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaoverloaded.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaoverloaded.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaoverloaded.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaoverloaded.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaoverloaded.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaoverloaded.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaoverloaded.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaoverloaded.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaoverloaded.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaoverloaded.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaoverloaded.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaoverloaded.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaoverloaded.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaoverloaded.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=4&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaoverloaded.wordpress.com/2007/01/04/java-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/53540469563a7d21dadcde05eebfc2d5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JavaMentor</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://javaoverloaded.wordpress.com/2007/01/02/hello-world/</link>
		<comments>http://javaoverloaded.wordpress.com/2007/01/02/hello-world/#comments</comments>
		<pubDate>Tue, 02 Jan 2007 23:26:10 +0000</pubDate>
		<dc:creator>JavaMentor</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Hello World!, quante volte avete visto questo messaggio eseguendo il vostro primo programma scritto in un qualsiasi linguaggio di programmazione, beh questa volta lo voglio utilizzare per salutare gli eventuali lettori di questo mio blog dedicato al linguaggio ad oggetti per eccellenza&#8230;. il mitico JAVA. Buona lettura, e speriamo che sia proficua!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=1&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello World!, quante volte avete visto questo messaggio eseguendo il vostro primo programma scritto in un qualsiasi linguaggio di programmazione, beh questa volta lo voglio utilizzare per salutare gli eventuali lettori di questo mio blog dedicato al linguaggio ad oggetti per eccellenza&#8230;. il mitico JAVA.</p>
<p>Buona lettura, e speriamo che sia proficua!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/javaoverloaded.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/javaoverloaded.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javaoverloaded.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javaoverloaded.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javaoverloaded.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javaoverloaded.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javaoverloaded.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javaoverloaded.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javaoverloaded.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javaoverloaded.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javaoverloaded.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javaoverloaded.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javaoverloaded.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javaoverloaded.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javaoverloaded.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javaoverloaded.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javaoverloaded.wordpress.com&amp;blog=652215&amp;post=1&amp;subd=javaoverloaded&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javaoverloaded.wordpress.com/2007/01/02/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/53540469563a7d21dadcde05eebfc2d5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">JavaMentor</media:title>
		</media:content>
	</item>
	</channel>
</rss>
