<?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/"
	>

<channel>
	<title>javathreads.de &#187; Blog</title>
	<atom:link href="http://javathreads.de/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://javathreads.de</link>
	<description>Blog rund um Java und Web Entwicklung</description>
	<lastBuildDate>Thu, 09 Sep 2010 13:19:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Leichtgewichtigkeit von JEE oder Spring</title>
		<link>http://javathreads.de/2009/02/leichtgewichtigkeit-von-jee-oder-spring/</link>
		<comments>http://javathreads.de/2009/02/leichtgewichtigkeit-von-jee-oder-spring/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 14:00:53 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1156</guid>
		<description><![CDATA[Es wird immer behauptet, dass JEE schwergewichtig (heavyweight) ist und Spring leichtgewichtig (lightweight) ist. Daher entscheidet man sich immer pauschal gegen EJBs und f&#252;r Spring. Auch Spring selbst verwendet diesen Term f&#252;r ihr Marketing und ich denke. Aber was stekt dahinter? Oft wird das pauschal mit Tomcat vs Application Server und Pojo vs EJB gesetzt.
Es [...]]]></description>
			<content:encoded><![CDATA[<p>Es wird immer behauptet, dass JEE schwergewichtig (heavyweight) ist und Spring leichtgewichtig (lightweight) ist. Daher entscheidet man sich immer pauschal gegen EJBs und f&#252;r Spring. Auch Spring selbst verwendet diesen Term f&#252;r ihr Marketing und ich denke. Aber was stekt dahinter? Oft wird das pauschal mit Tomcat vs Application Server und Pojo vs EJB gesetzt.<br />
Es gibt viele Artikel in der Blogsph&#228;re die sich mit diesem Thema auseinandersetzen. So sagt man, dass <a href="http://www.ibm.com/developerworks/library/os-lightweight1/">leichtgewichtige Frameworks mit Pojos arbeiten</a>, vergleicht man die <a href="http://www.adam-bien.com/roller/abien/entry/is_it_worth_using_pojos">Performance zwischen EJB und Pojos</a> und allgemein wird <a href="http://www.theserverside.com/discussions/thread.tss?thread_id=50362">gerne</a> <a href="http://www.theserverside.com/news/thread.tss?thread_id=31914">dr&#252;ber</a> diskutiert.</p>
<p>Wie auch immer &#8211; Spring hat es geschafft generell als leichtgewichtig zu vermarkten und dadurch diesen Ruf zu haben. Und heute morgen stolpere ich &#252;ber diesen <a href="http://www.vierundsechzig.de/blog/?p=170">Blogeintrag auf vierundsechzig.de</a> mit dem Titel &#8220;Not exactly lightweight&#8221;. Dazu folgende Grafik (hier nur ein Ausschnitt):</p>
<div class="singleImgDiv">
<a href="http://www.vierundsechzig.de/blog/?p=170"><img src="http://javathreads.de/data/uploads/2009/02/springlightweight.jpg" alt="Spring lightweight?" title="Spring lightweight?" width="600" height="283" class="borderGray alignnone size-full wp-image-1157" /></a>
</div>
<p>Und anschlie&#223;end direkt folgendes:</p>
<blockquote><p>
Now, please, dear Spring-Guys, shut up all your “lightweight”- jibber-jabber. Spring is not lightweight at all, just as much as JEE is not heavyweight anymore.
</p></blockquote>
<p>Sehr am&#252;sant und trifft das auch meinen Gedanken dazu: ich glaube nicht, dass Spring als wirklich leichtgewichtig genannt werden kann und JEE nicht mehr wirklich als schwergewichtig. Hat man einen Application Server zur Verf&#252;gung w&#252;rde ich zu JEE 5 tendieren. Hat man diesen nicht ist Spring die beste Alternative.</p>
<p>Zum Schluss noch der Hinweis, dass <a href="http://java.dzone.com/articles/ejb-30-and-spring-25">Spring auch mit EJBs arbeiten kann</a> und mit <a href="http://java.dzone.com/articles/ejb-31-%E2%80%93-ejb-new-and-improved-">EJB 3.1 alles noch besser wird</a> (Singletons und keine Interfaces f&#252;r Local Interfaces). Hat man einen Application Server und m&#246;chte dennoch mit &#8220;leichtgewichtigen Pojos ohne Interfaces&#8221; arbeiten kann man dies auch mit Seam erreichen, erh&#228;lt dazu noch eine fabelhafte Infrastruktur dazu und muss dennoch nicht auf Container Leistungen wie Transaktione oder Messaging usw. nicht verzichten.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/02/leichtgewichtigkeit-von-jee-oder-spring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Den JBoss AS mit JMX Services im Auge behalten</title>
		<link>http://javathreads.de/2009/02/den-jboss-as-mit-jmx-services-im-auge-behalten/</link>
		<comments>http://javathreads.de/2009/02/den-jboss-as-mit-jmx-services-im-auge-behalten/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 18:00:38 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[JBoss AS]]></category>
		<category><![CDATA[JMX]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1022</guid>
		<description><![CDATA[kann man am besten mit der JMX Konsole. Man kann mit dieser recht viel machen und erreichen aber ich will nur kurz einen Blick auf zwei System-MBeans werfen die unter der &#220;berschrift &#8220;jboss.system&#8221; zu finden sind: type=Server und type=ServerInfo. In der JMX Konsole sieht dieser Abschnitt wie folgt aus, wobei sich die beiden genannten MBeans [...]]]></description>
			<content:encoded><![CDATA[<p>kann man am besten mit der JMX Konsole. Man kann mit dieser recht viel machen und erreichen aber ich will nur kurz einen Blick auf zwei System-MBeans werfen die unter der &#220;berschrift &#8220;<strong>jboss.system</strong>&#8221; zu finden sind: <b>type=Server</b> und <b>type=ServerInfo</b>. In der JMX Konsole sieht dieser Abschnitt wie folgt aus, wobei sich die beiden genannten MBeans an drittletzter und letzter Stelle befinden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/02/jbossjmxkonsole.png" alt="JBoss JMX Konsole - jboss.system" title="JBoss JMX Konsole - jboss.system" width="620" height="205" class="borderGray alignnone size-full wp-image-1023" />
</div>
<p><br/><br />
<strong>Uptime mit Hilfe des Startdatums herausfinden</strong><br />
Mit der MBean <b>Server</b> l&#228;sst sich erfahren wie lange der JBoss am laufen ist bzw. wann er gestartet wurde. Diese Information wird in der Liste der MBean Attributen unter dem Namen &#8220;StartDate&#8221; angezeigt:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/02/jbossjmxserverstartdate.png" alt="JBoss JMX Konsole - type:Server - StartDate" title="JBoss JMX Konsole - type:Server - StartDate" width="620" height="172" class="borderGray alignnone size-full wp-image-1025" />
</div>
<p><br/><br />
<strong>Speicherverbrauch analysieren</strong><br />
Mit der MBean <b>ServerInfo</b> kann man in der Liste der MBean Attribute viele Informationen wie z.B. Total Memory, Host Address oder Java VM Version herausfinden. Interessanter f&#252;r den Betrieb des JBoss AS ist aber vielmehr wie viel Arbeitsspeicher dem JBoss zur Verf&#252;gung gestellt wurde und wie viel davon bereits verbraucht ist.<br />
Gerade w&#228;hrend der Entwicklung arbeitet man viel mit Hot Deployment und ab und an erh&#228;lt man die <span class="code">java.lang.OutOfMemoryError: PermGen space</span> Exception. Um herauszufinden wieviel Perm Gen Space reserviert und bereits ben&#246;tigt wird kann man in der ServerInfo MBean auf die Methode <span class="code">listMemoryPools()</span> klicken und erh&#228;lt unter anderem folgende Ausgabe:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/02/jbossjmxserverinfopermgenspace.png" alt="JBoss JMX Konsole - type:Server - listMemoryPools()" title="JBoss JMX Konsole - type:Server - listMemoryPools()" width="620" height="169" class="borderGray alignnone size-full wp-image-1030" />
</div>
<p>Die zwei hier vorgestellten Funktionen sind w&#228;hrend der Entwicklung aber auch w&#228;hrend des Betriebes wirklich n&#252;tzlich. Vor allem die Kombination Serverlaufzeit und Speicherverbrauch ist ein interessanter Faktor. Wird je der ben&#246;tigte Speicher mit l&#228;ngerer Laufzeit immer gr&#246;&#223;er sollte man nochmal &#252;ber seine Anwendung nachdenken ;)</p>
<p>Vielleicht noch als letzte Anmerkung: mit dem auch unter jboss.system liegenden <strong>Log4JService</strong> kann man die unter dem JBoss Verzeichnis <span class="code">server/default/conf/</span> liegende Log4J Konfigurationsdatei <span class="code">jboss-log4j.xml</span> neu konfigurieren und laden. Somit l&#228;sst sich auch w&#228;hrend des Betriebs z.B. das Loglevel anpassen. Aber dazu ein ander mal mehr.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/02/den-jboss-as-mit-jmx-services-im-auge-behalten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Code. Bad Code.</title>
		<link>http://javathreads.de/2008/02/good-code-bad-code/</link>
		<comments>http://javathreads.de/2008/02/good-code-bad-code/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 22:36:44 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Bild]]></category>
		<category><![CDATA[Code Quality]]></category>

		<guid isPermaLink="false">http://java.webthreads.de/2008/02/good-code-bad-code/</guid>
		<description><![CDATA[Es wird einen neuen deutschsprachigen Blog rund um Java Themen im Allgemeinen und Java im Bezug auf Web Entwicklung mit dem Namen &#8220;javathreads.de&#8221; geben. Der Ursprung dieses Blogs liegt in meinem Blog webthreads.de, indem Java lediglich eine Kategorie unter vielen war.
Auf javathreads.de werden neben Java Code Beispielen und Tutorials, Tools f&#252;r die Entwicklung oder Frameworks [...]]]></description>
			<content:encoded><![CDATA[<p>Es wird einen neuen deutschsprachigen Blog rund um Java Themen im Allgemeinen und Java im Bezug auf Web Entwicklung mit dem Namen &#8220;<a href="http://javathreads.de">javathreads.de</a>&#8221; geben. Der Ursprung dieses Blogs liegt in meinem Blog <a href="http://webthreads.de">webthreads.de</a>, indem Java lediglich eine <a href="http://www.webthreads.de/category/java/">Kategorie</a> unter vielen war.</p>
<p>Auf javathreads.de werden neben Java Code Beispielen und Tutorials, Tools f&#252;r die Entwicklung oder Frameworks eine Rolle spielen. Aktuell interessieren mich zum Beispiel die Themen JEE, EJB 3.0, JSF, JPA, Spring und Hibernate aber auch JBoss, Tomcat und Eclipse sehr.</p>
<p>Die Frage nach gutem oder schlechten Code soll hier nicht direkt vermittelt werden aber einen Hinweis wie man guten oder schlechten Code erkennen und messen kann m&#246;chte ich dennoch geben:</p>
<div style="text-align:center"><img src='http://javathreads.de/data/uploads/2008/02/goodcodebadcode.jpg' alt='Good Code. Bad Code.' class="borderGray"/></div>
<p><span class="imgSubtitle">(Bild via <a href="http://www.laugen.org/2008/02/12/good-code-bad-code/">laugen.org</a>)</span></p>
<p>Einige Artikel die auf webthreads.de schon zu dem Thema Java erschienen sind werde ich hierher portieren, sofern sie einen Mehrwert f&#252;r diesen Blog versprechen.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2008/02/good-code-bad-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
