<?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; Tools</title>
	<atom:link href="http://javathreads.de/category/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://javathreads.de</link>
	<description>Blog rund um Java und Web Entwicklung</description>
	<lastBuildDate>Wed, 02 Nov 2011 10:37:22 +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>JBoss AS 7 &#8211; MySQL Datasource konfigurieren</title>
		<link>http://javathreads.de/2011/09/jboss-as-7-mysql-datasource-konfigurieren/</link>
		<comments>http://javathreads.de/2011/09/jboss-as-7-mysql-datasource-konfigurieren/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 20:23:01 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[JBoss AS]]></category>
		<category><![CDATA[JBoss AS 7]]></category>
		<category><![CDATA[Konfiguration]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=2881</guid>
		<description><![CDATA[Mit dem JBoss Application Server 7 hat sich grundlegendes zu seinen Vorg&#228;ngern ge&#228;ndert und das gilt auch f&#252;r das Einrichten einer Datenbankverbindung (Datasource). Im folgenden die Schritte die zu tun sind um eine Datasource zu einer MySQL Datenbank f&#252;r einen JBoss 7 Server im Standalone Modus einzurichten. Den aktuellsten JDBC Treiber f&#252;r die MySQL Datenbank [...]]]></description>
			<content:encoded><![CDATA[<p>Mit dem <a href="http://www.jboss.org/as7">JBoss Application Server 7</a> hat sich grundlegendes zu seinen Vorg&#228;ngern ge&#228;ndert und das gilt auch f&#252;r das Einrichten einer Datenbankverbindung (Datasource). Im folgenden die Schritte die zu tun sind um eine Datasource zu einer MySQL Datenbank f&#252;r einen JBoss 7 Server im Standalone Modus einzurichten. Den aktuellsten JDBC Treiber f&#252;r die MySQL Datenbank kannst du <a href="http://dev.mysql.com/downloads/connector/j/">mysql.com</a> herunterladen.</p>
<p>Im JBoss-Home Verzeichnis <code>/standalone/configuration</code> die <code><strong>standalone.xml</strong></code> Datei zum Bearbeiten &#246;ffnen. Darin befindet sich der Abschnitt zum Datasources Subsystem:</p>
<div class="codebox">
<pre style='color:#000000;background:#ffffff;'><span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>subsystem</span> xmlns=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>urn</span><span style='color:#2a00ff; '>:</span><span style='color:#3f3fbf; '>jboss:domain:datasources:1.0</span><span style='color:#2a00ff; '>"</span><span style='color:#7f0055; '>></span>
  ...
<span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>subsystem</span><span style='color:#7f0055; '>></span>
</pre>
</div>
<p>In diesem Subsystem wird zwischen der Beschreibung der Datenbankverbindung (<code>datasource</code>) und dem Treiber (<code>driver</code>) unterschieden. F&#252;r die MySQL Datenbank wird neben der bereits per Default konfigurierten Datasource <code>ExampleDS</code> die <code>MySqlDS</code> hinzugef&#252;gt. Dazu wird der JNDI-Name, der Pool-Name sowie die Verbindungsdaten konfiguriert.<br />
Der Text im Element <code>&lt;driver&gt;com.mysql&lt;/driver&gt;</code> ist dabei ein Verweis auf den konfigurierten MySQL Treiber. Der Treiber wird direkt neben den <code>datasource</code> Elementen im eigenen Element <code>driver</code> beschrieben. Die einfachste und schnellste Art den Treiber zu installieren ist den Dateinamen des Treibers direkt anzugeben. In meinem Fall ist es der aktuellste Treiber <code>mysql-connector-java-5.1.17.jar</code>.</p>
<p>Der folgende Ausschnitt aus dem <code>datasources</code> Element zeigt die Konfiguration f&#252;r die MySQL Datenbank:</p>
<div class="codebox">
<pre style='color:#000000;background:#ffffff;'><span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>datasources</span><span style='color:#7f0055; '>></span>

  ...

  <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>datasource</span> jndi-name=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>java:jboss/datasources/11TipperSqlDS</span><span style='color:#2a00ff; '>"</span> pool-name=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>11TipperSqlDS</span><span style='color:#2a00ff; '>"</span>
    enabled=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>true</span><span style='color:#2a00ff; '>"</span> jta=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>true</span><span style='color:#2a00ff; '>"</span> use-java-context=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>true</span><span style='color:#2a00ff; '>"</span> use-ccm=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>true</span><span style='color:#2a00ff; '>"</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>connection-url</span><span style='color:#7f0055; '>></span>
      jdbc:mysql://localhost:3306/11tipper
    <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>connection-url</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>driver</span><span style='color:#7f0055; '>></span>
      mysql-connector-java-5.1.17.jar
    <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>driver</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>pool</span><span style='color:#7f0055; '>></span>
      <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>min-pool-size</span><span style='color:#7f0055; '>></span>
        10
      <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>min-pool-size</span><span style='color:#7f0055; '>></span>
      <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>max-pool-size</span><span style='color:#7f0055; '>></span>
        100
      <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>max-pool-size</span><span style='color:#7f0055; '>></span>
      <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>prefill</span><span style='color:#7f0055; '>></span>
        true
      <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>prefill</span><span style='color:#7f0055; '>></span>
      <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>use-strict-min</span><span style='color:#7f0055; '>></span>
        false
      <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>use-strict-min</span><span style='color:#7f0055; '>></span>
      <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>flush-strategy</span><span style='color:#7f0055; '>></span>
        FailingConnectionOnly
      <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>flush-strategy</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>pool</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>security</span><span style='color:#7f0055; '>></span>
      <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>user-name</span><span style='color:#7f0055; '>></span>
        db-username
      <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>user-name</span><span style='color:#7f0055; '>></span>
      <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>password</span><span style='color:#7f0055; '>></span>
        db-password
      <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>password</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>security</span><span style='color:#7f0055; '>></span>
  <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>datasource</span><span style='color:#7f0055; '>></span>

  <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>driver</span> name=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>mysql-connector-java-5.1.17.jar</span><span style='color:#2a00ff; '>"</span> module=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>com.mysql</span><span style='color:#2a00ff; '>"</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>xa-datasource-class</span><span style='color:#7f0055; '>></span>
      com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
    <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>xa-datasource-class</span><span style='color:#7f0055; '>></span>
  <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>driver</span><span style='color:#7f0055; '>></span>
<span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>datasources</span><span style='color:#7f0055; '>></span>
</pre>
</div>
<p>Der XML-Code kann &#252;brigens einfach unformatiert in die <code>standalone.xml</code> eingef&#252;gt werden. Der JBoss formatiert diese Datei nach einem Start selbst noch einmal neu.</p>
<p>W&#252;rde der JBoss AS nun im Standalone Modus gestartet werden erscheint folgende Fehlermeldung in der Console:</p>
<div class="codebox">
21:45:30,363 INFO  [org.jboss.as.controller] (Controller Boot Thread) Service status report<br />
   New missing/unsatisfied dependencies:<br />
      service jboss.jdbc-driver.mysql-connector-java-5_1_17_jar (missing)
</div>
<p>Die einfachste Art den fehldenden Treiber zu installieren ist diesen direkt in dem <code>deployments</code> Ordner zu kopieren und ihn zu &#8220;deployen&#8221;. Der JBoss AS versteht jeden normalen JDBC Treiber und kann ihn als Deployment laden:</p>
<div style="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/09/110918_JBoss7DeploymentsMySQLDriver.jpg" alt="" title="JBoss 7 - MySQL Treiber als Deployment" width="630" height="331" class="alignnone size-full wp-image-2895" />
</div>
<p>Startet man jetzt den JBoss erneut erscheint folgende Meldung in der Console:</p>
<div class="codebox">
21:53:48,711 INFO  [org.jboss.as.controller] (Controller Boot Thread) Service status report<br />
   New missing/unsatisfied dependencies:<br />
      service jboss.jdbc-driver.mysql-connector-java-5_1_17_jar (missing)</p>
<p>21:53:48,718 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) Starting deployment of &#8220;mysql-connector-java-5.1.17.jar&#8221;<br />
21:53:48,803 INFO  [org.jboss.as.jpa] (MSC service thread 1-2) added javax.persistence.api dependency to mysql-connector-java-5.1.17.jar<br />
21:53:48,823 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-1) Deploying non-JDBC-compliant driver class com.mysql.jdbc.Driver (version 5.1)<br />
<strong>21:53:48,831 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) Bound data source [java:jboss/datasources/11TipperSqlDS]</strong><br />
21:53:48,832 INFO  [org.jboss.as] (MSC service thread 1-4) JBoss AS 7.0.1.Final &#8220;Zap&#8221; started in 14103ms &#8211; Started 181 of 240 services (59 services are passive or on-demand)<br />
21:53:48,909 INFO  [org.jboss.as.server.controller] (DeploymentScanner-threads &#8211; 2) Deployed &#8220;mysql-connector-java-5.1.17.jar&#8221;<br />
<strong>21:53:48,910 INFO  [org.jboss.as.controller] (DeploymentScanner-threads &#8211; 2) Service status report<br />
   Newly corrected services:<br />
      service jboss.jdbc-driver.mysql-connector-java-5_1_17_jar (now available)</strong>
</div>
<p>Die Datasource wurde erfolgreich konfiguriert und ist nun unter dem JNDI Namen <code>java:jboss/datasources/11TipperSqlDS</code> verf&#252;gbar.</p>
<h4>Datenbanktreiber als Modul</h4>
<p>Es gibt noch eine zweite Variante wie man den Treiber installieren kann: und zwar als Modul. In dem <code>driver</code> Element, aus dem obigen <code>datasources</code> Listing wurde als Modulname <code>com.mysql</code> angegeben. Das bedeutet, dass im Verzeichnis <code>modules</code> die Unterordner <code>com/mysql</code> erwartet wird. In diesem Modulverzeichnis wird das Unterverzeichnis <code>main</code> erwartet in dem die Modulbeschreibung sowie die Resource, in unserem Fall der Treiber, liegt. Bei mir sieht das dann wie folgt aus:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/09/110918_JBoss7ModuleMySQLDriver.jpg" alt="" title="JBoss 7 - MySQL Treiber als Modul" width="630" height="355" class="alignnone size-full wp-image-2900" />
</div>
<p>Die Datei <code>mysql-connector-java-5.1.17.jar.index</code> wird dabei automatisch vom JBoss generiert.</p>
<p>Die Datei <code>module.xml</code> beschreibt das Modul und die dazugeh&#246;rige Resource/Jar/Treiber und sieht so aus:</p>
<div class="codebox">
<pre style='color:#000000;background:#ffffff;'><span style='color:#7f0055; '>&lt;?</span><span style='color:#7f0055; '>xml</span> <span style='color:#7f0055; '>version</span>="1.0" <span style='color:#7f0055; '>encoding</span>=<span style='color:#2a00ff; '>"UTF-8"</span><span style='color:#7f0055; '>?></span>

<span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>module</span> xmlns=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>urn</span><span style='color:#2a00ff; '>:</span><span style='color:#3f3fbf; '>jboss:module:1.0</span><span style='color:#2a00ff; '>"</span> name=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>com.mysql</span><span style='color:#2a00ff; '>"</span><span style='color:#7f0055; '>></span>
  <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>resources</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>resource-root</span> path=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>mysql-connector-java-5.1.17.jar</span><span style='color:#2a00ff; '>"</span><span style='color:#7f0055; '>/></span>
  <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>resources</span><span style='color:#7f0055; '>></span>
  <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>dependencies</span><span style='color:#7f0055; '>></span>
    <span style='color:#7f0055; '>&lt;</span><span style='color:#7f0055; '>module</span> name=<span style='color:#2a00ff; '>"</span><span style='color:#2a00ff; '>javax.api</span><span style='color:#2a00ff; '>"</span><span style='color:#7f0055; '>/></span>
  <span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>dependencies</span><span style='color:#7f0055; '>></span>
<span style='color:#7f0055; '>&lt;/</span><span style='color:#7f0055; '>module</span><span style='color:#7f0055; '>></span>
</pre>
</div>
<p>Startet man mit dieser Konfiguration (den Treiber als Modul) den JBoss erneut so findet man im Log keine Info mehr, dass eine Abh&#228;ngigkeit fehlt, sondern findet das installierte Modul wesentlich fr&#252;her in der Console wieder. Und zwar wenn das Subsystem <code>datasources</code> gestartet wird:</p>
<div class="codebox">
21:59:42,347 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) Bound data source [java:jboss/datasources/ExampleDS]<br />
<strong>21:59:42,412 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-1) Bound data source [java:jboss/datasources/11TipperSqlDS]</strong>
</div>
<p>Verwendet man ein Modul als Treiberkonfiguration kann man in der <code>standalone.xml</code> in der <code>datasource</code> und <code>driver</code> Beschreibung auch irgendein Name wie z.B. &#8220;MeinMySqldDB&#8221; verwenden. Es muss dann nicht zwingend der Name des Treibe-Jars sein. Somit w&#228;re man im Namen unabh&#228;ngig von der eigentlich verwendeten Version.</p>
<h4>Administration Console</h4>
<p>Egal ob man den Datenbanktreiber als Deployment oder als Modul installiert in beiden F&#228;llen muss mann die konfigurierte Datasource in der Administrationskonsole wiederfinden. Auf die gelangt man in der Default Installation mit <code>http://localhost:8080/console</code>. Es m&#252;sste dann in etwa so aussehen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2011/09/110918_JBossAdminConsole.jpg" alt="" title="JBoss 7 Administrationskonsole - MySQL Datasource" width="630" height="448" class="alignnone size-full wp-image-2903" />
</div>
<p>In der <code>persistence.xml</code> kann nun mit dem JNDI Name auf die Datasource zugegriffen werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2011/09/jboss-as-7-mysql-datasource-konfigurieren/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JAXenter Umfrage – Welche Java IDE benutzt du?</title>
		<link>http://javathreads.de/2010/01/jaxenter-umfrage-welche-java-ide-benutzt-du/</link>
		<comments>http://javathreads.de/2010/01/jaxenter-umfrage-welche-java-ide-benutzt-du/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 05:00:08 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[Umfrage]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=2269</guid>
		<description><![CDATA[Eine ganz interessante QuickVote Umfrage von JAXenter mit dem Titel 2 &#8220;Welche ist Ihre bevorzugte Java IDE?&#8220;. Bei dem Ergebnis ist vor allem erstaunlich bzw. unerwartet, dass NetBeans doch so nah an Eclipse liegt.



In einem Kommentar bei dem Hinweis von Adam Bien auf dieses Quickvote verweist jemand auf die Entwicklung bei Google. Schaut man sich [...]]]></description>
			<content:encoded><![CDATA[<p>Eine ganz interessante QuickVote Umfrage von JAXenter mit dem Titel 2 &#8220;<a href="http://it-republik.de/jaxenter/quickvote/results/1/poll/72">Welche ist Ihre bevorzugte Java IDE?</a>&#8220;. Bei dem Ergebnis ist vor allem erstaunlich bzw. unerwartet, dass <a href="http://netbeans.org/">NetBeans</a> doch so nah an <a href="http://www.eclipse.org/">Eclipse</a> liegt.</p>
<div class="singleImgDiv">
<a href="http://it-republik.de/jaxenter/quickvote/results/1/poll/72"><img src="http://javathreads.de/data/uploads/2010/01/JavaMagazinQuickvoteIDE2.jpg" alt="JAXenter Quickvote- Welche ist Ihre bevorzugte Java IDE?" title="JAXenter Quickvote- Welche ist Ihre bevorzugte Java IDE?" width="525" height="238" class="alignnone size-full wp-image-2272" /></a>
</div>
<p>In einem Kommentar bei dem Hinweis von <a href="http://www.adam-bien.com/roller/abien/entry/netbeans_is_very_poplular_in">Adam Bien</a> auf dieses Quickvote verweist jemand auf die Entwicklung bei Google. Schaut man sich also diese <a href="http://www.google.com/insights/search/#cat=5&#038;q=eclipse%2Cnetbeans&#038;geo=DE&#038;cmpt=q">Entwicklung bei Google</a> innerhalb Deutschlands an so erh&#228;lt man noch einen deutlicheren Vorsprung von Eclipse, der allerdings &#252;ber die letzten Jahre deutlich weniger geworden ist:</p>
<div class="singleImgDiv">
<a href="http://www.google.com/insights/search/#cat=5&#038;q=eclipse%2Cnetbeans&#038;geo=DE&#038;cmpt=q"><img src="http://javathreads.de/data/uploads/2010/01/GoogleInsightsForSearchEclipseNetbeans.jpg" alt="Google Insights for Search - Eclipse NetBeans" title="Google Insights for Search - Eclipse NetBeans" width="600" height="371" class="alignnone size-full wp-image-2275" /></a>
</div>
<p>Die Charts auf Google Insights for Search kann man auch einbetten, was ich doch direkt mal ausprobieren musste:</p>
<div style="text-align:center">
<script type="text/javascript" src="http://www.gmodules.com/ig/ifr?url=http%3A%2F%2Fwww.google.com%2Fig%2Fmodules%2Fgoogle_insightsforsearch_interestovertime_searchterms.xml&amp;up__property=empty&amp;up__search_terms=eclipse%7Cnetbeans&amp;up__location=DE&amp;up__category=5&amp;up__time_range=empty&amp;up__compare_to_category=false&amp;synd=ig&amp;w=600&amp;h=350&amp;lang=de&amp;title=Google+Insights+for+Search&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script>
</div>
<p>Insgesamt kann man an der Umfrage und dem Chart gut erkennen, dass Eclipse nicht mehr ganz die alleinige Herrschaft hat bzw. sie langsam verliert. Ich hatte vor Jahren mal NetBeans ausprobiert, war damals aber nicht so begeistert und bin deswegen auf Eclipse umgestiegen. Auch in meinen bisherigen Projekten wurde eigentlich ausschlie&#223;lich Eclipse verwendet. Vielleicht sollte man sich aber dennoch mal wieder NetBeans anschauen. Aktuell habe ich davon gelesen, dass die JSF 2 Unterst&#252;tzung darin schon sehr gut sein soll. Ich werde wohl dennoch erst einmal weiterhin ein Unterst&#252;tzer von Eclipse sein =).</p>
<p>(via <a href="http://www.adam-bien.com/roller/abien/entry/netbeans_is_very_poplular_in">Adam Bien</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2010/01/jaxenter-umfrage-welche-java-ide-benutzt-du/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Subversion unter Eclipse Galileo konfigurieren</title>
		<link>http://javathreads.de/2009/07/subversion-unter-eclipse-galileo-konfigurieren/</link>
		<comments>http://javathreads.de/2009/07/subversion-unter-eclipse-galileo-konfigurieren/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 16:38:40 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Galielo]]></category>
		<category><![CDATA[Galileo]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Subversive]]></category>
		<category><![CDATA[SVN]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1857</guid>
		<description><![CDATA[Nachdem es schon mit Eclipse Ganymede den Aufwand gab SVN (Subversion) zum laufen zu bringen h&#228;tte man drauf hoffen k&#246;nnen, dass diesmal bei Eclipse Galileo eine direkte SVN Unterst&#252;tzung schon mit dabei ist. Aber leider muss man auch hier ein wenig nachhelfen.
In dem Eclipse JEE Package muss man wie auch unter Ganymede erst das Subversive [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem es schon mit Eclipse Ganymede den Aufwand gab SVN (Subversion) zum laufen zu bringen h&#228;tte man drauf hoffen k&#246;nnen, dass diesmal bei Eclipse Galileo eine direkte SVN Unterst&#252;tzung schon mit dabei ist. Aber leider muss man auch hier ein wenig nachhelfen.</p>
<p>In dem <a href="http://eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/galileor">Eclipse JEE Package</a> muss man wie auch unter <a href="http://javathreads.de/2008/07/subversion-unter-eclipse-ganymede-konfigurieren/">Ganymede</a> erst das <strong>Subversive Plugin</strong> und anschlie&#223;end einen <strong>Subversive Connector</strong> installieren. Man muss also zwei verschiedene Update Sites f&#252;r die Installation ansprechen.</p>
<h4>Subversive Plugin Installation</h4>
<p>Das Subersive Plugin selbst steht unter der Eclipse Lizenz und ist somit direkt &#252;ber die Eclipse Galielo Update Site <a href="http://download.eclipse.org/releases/galileo">http://download.eclipse.org/releases/galileo</a> zu finden. Diese Update Site muss nicht neu hinzugef&#252;gt werden sondern ist schon im &#8220;Install new Software&#8221; Dialog (Hauptmen&#252;->Help->Install new Software&#8230;) unter &#8220;Work with&#8221; bereits zu finden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/07/eclipse35svnconnectorupdatesiteselection.png" alt="Eclipse Galileo - SVN Subversive Plugin Update Site" title="Eclipse Galileo - SVN Subversive Plugin Update Site" width="610" height="254" class="alignnone size-full wp-image-1858" />
</div>
<p>Wenn die Update Site ausgew&#228;hlt wurde muss unter dem Punkt &#8220;Collaboration&#8221; der &#8220;Subversive SVN Team Provider (Incubation)&#8221; selektiert werden. Das ist das von Eclipse bereitgestelte Subversive Plugin:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/07/eclipse35svnplugins.png" alt="Eclipse Galileo - SVN Subversive Plugin" title="Eclipse Galileo - SVN Subversive Plugin" width="610" height="333" class="alignnone size-full wp-image-1877" />
</div>
<p>Anschlie&#223;end die Installation mit dem Button &#8220;Next&#8221; starten und den Dialog Angaben folgen.</p>
<p>Da noch eine weitere Installation der Subversive Connectors folgt muss Eclipse nicht dringend wie empfohlen neu gestartet werden.</p>
<h4>Subversive Connector Installation</h4>
<p>Nachdem das Subversive Plugin als Basis installiert wurde muss als Subversive Connector eine externe Bibliothek installiert werden. Dazu bietet Polarion wie auch schon zu Eclipse Ganymede verschiedene Connectoren an. Die ben&#246;tigte Update Site URL ist <a href="http://community.polarion.com/projects/subversive/download/eclipse/2.0/galileo-site/">http://community.polarion.com/projects/subversive/download/eclipse/2.0/galileo-site/</a>. Diese muss im &#8220;Install new Software&#8221; Dialog (Hauptmen&#252;->Help->Install new Software&#8230;) noch hinzugef&#252;gt werden.</p>
<p>Dazu die URL einfach in das &#8220;Work with&#8221; Eingabefeld kopieren und Enter dr&#252;cken. Als Connectoren kann man entweder einen reinen Windows Connector (JavaHL) oder reinen Java Connector (SVNKit) verwenden. Welchen man verwenden m&#246;chte kann man selbst entscheiden. Es ist kein Problem alle angebotenen zu installieren da man diesen sp&#228;ter noch konfigurieren kann:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/07/eclipse35svnconnectorauswahl.png" alt="Eclipse Galileo SVN Connector Auswahl" title="Eclipse Galileo SVN Connector Auswahl" width="610" height="403" class="alignnone size-full wp-image-1865" />
</div>
<p>Anschlie&#223;end die Installation mit dem Button &#8220;Next&#8221; starten und den Dialog Angaben folgen. Eclipse nach der Installtion wie aufgefordert neu starten.</p>
<h4>Subversive Konfiguration</h4>
<p>Einmal installiert kann man im &#8220;Eclipse Installation Details&#8221; Dialog (Hauptmen&#252;->Help->About Eclipse->Installation Details) die installierte Subversive Software aufgelistet sehen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/07/eclipse35subversiveinstalltion.png" alt="Eclipse Galileo Subversive Software" title="Eclipse Galileo Subversive Software" width="610" height="211" class="alignnone size-full wp-image-1867" />
</div>
<p>Welcher Subversive Connector verwendet werden soll kann in den Eclipse Preferences (Hauptmen&#252;->Window->Preferences) unter Team->SVN im Reiter SVN Connector konfiguriert werden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/07/eclipse35subversiveconnectorkonfiguration.png" alt="Eclipse Galileo Subversive Connector Preferences Konfiguration" title="Eclipse Galileo Subversive Connector Preferences Konfiguration" width="610" height="225" class="alignnone size-full wp-image-1868" />
</div>
<p>Einmal alles installiert und konfiguriert kann man in der SVN Perspektive nun einen SVN Repository einrichten und seine Projekte wieder mit dem SVN Repository synchronisieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/07/subversion-unter-eclipse-galileo-konfigurieren/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Eclipse Galileo ver&#246;ffentlicht</title>
		<link>http://javathreads.de/2009/06/eclipse-galileo-veroeffentlicht/</link>
		<comments>http://javathreads.de/2009/06/eclipse-galileo-veroeffentlicht/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 07:00:43 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Galileo]]></category>
		<category><![CDATA[JBoss Tools]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1777</guid>
		<description><![CDATA[Es ist knapp ein Jahr her, dass Eclipse Ganymede (3.4) ver&#246;ffentlicht wurde und viele Erneuerungen gegen&#252;ber seinem Vorg&#228;nger mitgebracht hat &#8211; ich berichtete dar&#252;ber. In vielen Firmen wird erst so langsam auf Eclipse Ganymede umgestiegen und nun erscheint auch schon der Nachfolger: Eclipse Galileo.



Eclipse Galileo entspricht der Version 3.5 und bringt seinerseits auch wieder viele [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist knapp ein Jahr her, dass Eclipse Ganymede (3.4) ver&#246;ffentlicht wurde und viele Erneuerungen gegen&#252;ber seinem Vorg&#228;nger mitgebracht hat &#8211; <a href="http://javathreads.de/2008/07/eclipse-ganymede-als-jee-entwicklungsumgebung/">ich berichtete dar&#252;ber</a>. In vielen Firmen wird erst so langsam auf Eclipse Ganymede umgestiegen und nun erscheint auch schon der Nachfolger: <a href="http://eclipse.org/downloads/">Eclipse Galileo</a>.</p>
<div class="singleImgDiv">
<a href="http://eclipse.org/downloads/"><img src="http://javathreads.de/data/uploads/2009/06/eclipsegalileo.png" alt="Eclipse Galileo" title="Eclipse Galileo" width="620" height="91" class="alignnone size-full wp-image-1778" /></a>
</div>
<p>Eclipse Galileo entspricht der Version 3.5 und bringt seinerseits auch wieder viele neue Dinge mit. Neben den bisher schon bekannten Projekte wie z.B. WebTools, Data Tools oder C/C++ Tools bringt Galileo f&#252;nf neue Projekte mit an den Start. Pers&#246;nlich finde ich das <a href="http://eclipse.org/mat/">Memory Analyzer Projekt</a> (MAT) am interessantesten. Wer einen Einblick in MAT bekommen m&#246;chte sollte sich mal das dazugeh&#246;rige <a href="http://dev.eclipse.org/blogs/memoryanalyzer/">Blog</a> und auch das <a href="http://live.eclipse.org/node/520">Webinar</a> aus dem letzten Jahr ansehen.</p>
<p>Nebem dem MAT sind auch noch die <a href="http://eclipse.org/pdt/">PHP Developer Tools</a>, eine <a href="http://eclipse.org/mylyn/">Mylyn</a> WikiText Unterst&#252;tzung, eine Unterst&#252;tzung um <a href="http://eclipse.org/webtools/sse/">XSL Tooling</a> um XSL zu bearbeiten und zu debuggen und Verbesserungen f&#252;r die <a href="http://eclipse.org/birt/phoenix/">Business Intelligence Reporting Tools</a> (BIRT) mit Galileo ver&#246;ffentlicht worden (siehe auch <a href="http://www.eclipse.org/org/press-release/20090624_galileo.php">Release Notes</a>).</p>
<div class="subHeadline">Eclipse 3.5 &#8211; New and Noteworthy</div>
<p>Das sch&#246;ne an Ver&#246;ffentlichungen von Eclipse und deren Plugins sind die &#8220;<a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-news-all.html">New and Noteworthy</a>&#8221; Seiten auf denen die interessantesten Erneuerungen mit einem Screenshot erl&#228;utert werden. F&#252;r Eclipse Galileo ist die Seite entsprechend der vielen Erneuerungen auch wirklich lang. Im folgenden ein paar Erneuerungen die ich auf Anhieb ganz interessant fand:</p>
<ul>
<li><b>Platform &#8211; Compare Editor enhancements</b><br/>Wirklich brauchbare Erneuerungen wie Go to line oder Open Resource und Type sowie die M&#246;glichkeit den Encoding Type auf jeder Seite des Editors neu zu setzen.
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/gotoline.png" alt="Eclipse Ganymede - Compare Editor - Go to line" title="Eclipse Ganymede - Compare Editor - Go to line" width="466" height="345" class="alignnone size-full wp-image-1780" />
</div>
</li>
<li><b>Platform &#8211; Open Resource dialog allows choice of editor</b><br/>Man kann nun den Editor f&#252;r die zu &#246;ffnende Datei direkt im Open Resource Dialog ausw&#228;hlen, falls gew&#252;nscht:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/open-resource-dialog.png" alt="Eclipse Galileo - Open Resource Dialog - Editor ausw&#228;hlen" title="Eclipse Galileo - Open Resource Dialog - Editor ausw&#228;hlen" width="369" height="406" class="alignnone size-full wp-image-1782" />
</div>
</li>
<li><b>Install/Update Changes</b><br/>Wie auch bei der letzten Version wurde einiges an dem Install und Update Management gearbeitet und verbessert. Um nur eine Sache herauszugreifen im folgenden der Screenshot des vereinfachten Hinzuf&#252;gen neuer Update Sites:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/p2install.png" alt="Eclipse Galileo - Install and Update Dialog - Installing software from a new site" title="Eclipse Galileo - Install and Update Dialog - Installing software from a new site" width="452" height="573" class="alignnone size-full wp-image-1783" />
</div>
</li>
<li><b>Java Editor &#8211; Constructor completion</b><br/>Der Content Assistent bietet nun die verf&#252;gbaren Konstruktoren der Klasse zur Auswahl an:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/constructor-completion.png" alt="Eclipse Galileo - Java Editor - Constructor completion" title="Eclipse Galileo - Java Editor - Constructor completion" width="466" height="201" class="alignnone size-full wp-image-1785" />
</div>
</li>
<li><b>Java Editor &#8211; Open Implementation hyperlink</b><br/>Ein Feature auf das wohl s&#228;mtliche Entwickler lange gewartet haben. Von einem Interface direkt in die Implementierung via Hyperlink springen sofern nur eine Implementierung vorhanden ist. Sind mehre da werden diese in der type hierarchy  aufgelistet und man kann dann direkt w&#228;hlen. Den Hyperlink erh&#228;lt man indem man die Taste STRG gedr&#252;ckt h&#228;lt und mit der Maus &#252;ber die Methode f&#228;hrt. Der Dialog sieht dann wie folgt aus:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/open-implementation.png" alt="Eclipse Galileo - Java Editor - Open Implementation" title="Eclipse Galileo - Java Editor - Open Implementation" width="466" height="102" class="alignnone size-full wp-image-1786" />
</div>
</li>
<li><b>Java Editor &#8211; Quick Fix to start Rename refactoring</b><br/>M&#246;chte man eine Methode mit Quick Fix (Strg-1) umbennen besteht nun die M&#246;glichkeit auch ein Refactoring &#252;ber das Projekt zu starten:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/rename-in-workspace.png" alt="Java Editor - Quick Fix to start Rename refactoring" title="Java Editor - Quick Fix to start Rename refactoring" width="466" height="76" class="alignnone size-full wp-image-1792" />
</div>
</li>
<li><b>Java Editor &#8211; Formatter option to preserve user line breaks</b><br/>Eine der bisher sehr nervigen Details am Formatter war, dass ich meine selbstdefinierten Zeilenumbr&#252;che nicht behalten durfte. Das soll jetzt vorbei sein:
<div class="singleImgDiv" style="text-align:left;">
<img src="http://javathreads.de/data/uploads/2009/06/formatter-join-lines-before.png" alt="Java Editor - Formatter option to preserve user line breaks - Vorher" title="Java Editor - Formatter option to preserve user line breaks - Vorher" width="115" height="97" class="alignnone size-full wp-image-1787" style="border:none;" />
</div>
<p>Und nach dem formatieren:</p>
<div class="singleImgDiv" style="text-align:left;">
<img src="http://javathreads.de/data/uploads/2009/06/formatter-join-lines-after.png" alt="Java Editor - Formatter option to preserve user line breaks - nacher" title="Java Editor - Formatter option to preserve user line breaks - nacher" width="154" height="98" class="alignnone size-full wp-image-1788" style="border:none;"/>
</div>
</li>
<li><b>Java Refactoring and Source Actions &#8211; Generate toString()</b><br/>Ein ziemlich cooles Feature ist die Unterst&#252;tzung f&#252;r die toString() Methode. Man erh&#228;lt diesen Dialog aus dem Context Men&#252; unter &#8220;Source->Generate toString()&#8230;&#8221; und dieser sieht wie folgt aus:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/generate-tostring-dialog.png" alt="Eclipse Galileo - Java Refactoring and Source Actions - Generate toString()" title="Eclipse Galileo - Java Refactoring and Source Actions - Generate toString()" width="428" height="574" class="alignnone size-full wp-image-1793" />
</div>
</li>
<li><b>Java Refactoring and Source Actions &#8211; Comparing identical values</b><br/>Wenn zwei gleiche Variablen verglichen werden wird das nun als Warning angegeben:
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/comparing-identical-values-example.png" alt="Eclipse Galileo - Java Refactoring and Source Actions - Comparing identical values" title="Eclipse Galileo - Java Refactoring and Source Actions - Comparing identical values" width="466" height="113" class="alignnone size-full wp-image-1790" />
</div>
</li>
<li><b>Java Refactoring and Source Actions &#8211; Missing hashCode() method</b><br/>Der Compiler kann nun fehlende hashCode() Methoden finden auch wenn equals() schon vorhanden ist. Dieses Feature ist per Default ausgeschalten &#8211; einschalten kann man es unter  &#8220;Preferences > Java > Compiler > Errors/Warnings in the Potential programming problems&#8221;.
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/compiler-hashcode-diagnosis.png" alt="Java Refactoring and Source Actions - Missing hashCode() method" title="Java Refactoring and Source Actions - Missing hashCode() method" width="440" height="196" class="alignnone size-full wp-image-1796" />
</div>
</li>
</ul>
<p>Es gibt noch einige mehr Erweiterungen die man sich auf der &#8220;<a href="http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-news-all.html">New and Noteworthy</a>&#8221; Seite ansehen kann.</p>
<div class="subHeadline">Eclipse Galileo Packages</div>
<p>Neben den neuen Projekten werden nat&#252;rlich auch wieder fertige <a href="http://www.eclipse.org/downloads/">Projekt Packages </a>angeboten &#8211; darunter auch wieder das JEE Package mit den Web Tools und Data Tools:</p>
<div class="singleImgDiv">
<a href="http://www.eclipse.org/downloads/"><img src="http://javathreads.de/data/uploads/2009/06/eclipsegalileoprojektpackages.jpg" alt="Eclipse Galileo Packages" title="Eclipse Galileo Packages" width="620" height="321" class="alignnone size-full wp-image-1802" /></a>
</div>
<p>Startet man das Eclipse Galileo JEE Package sieht man auch an der Welcome Page eine deutlichen &#196;nderung:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/eclipsegalileowelcomepage.jpg" alt="Eclipse Galileo JEE Package Welcome Page" title="Eclipse Galileo JEE Package Welcome Page" width="620" height="419" class="alignnone size-full wp-image-1820" />
</div>
<p>Auf dieser Welcome Page sind unter anderem die sieben wichtigsten im JEE Package durch die Web Tools Platform mitgebrachten Unterst&#252;tzungen aufgelistet: Web Services, Web, XML Tools, Server Tools, Java EE, JSF, JPA. Die Web Tools Platform 3.1, welche auch erst im Juni ver&#246;ffentlicht wurde, hat auch einige Erneuerungen mitgebracht die unter &#8220;<a href="http://www.eclipse.org/webtools/releases/3.1.0/newandnoteworthy/">Eclipse Web Tools Platform 3.1 &#8211; New and Noteworthy</a>&#8221; im Detail angesehen werden k&#246;nnen.</p>
<div class="subHeadline">JBoss Tools unter Eclipse Galileo</div>
<p>Nat&#252;rlich steht auch wieder das leidige Thema Plugin Update auf der Liste und diesmal haben die JBoss Tools schon ein wenig vorgearbeitet. Schon am Anfang des Monats wurde auf dem offiziellen Blog <a href="http://in.relation.to/Bloggers/JBossTools31MilestoneReleased">verk&#252;ndet</a>, dass man den JBoss Tools 3.1 Milestone 1 f&#252;r Eclipse Galileo installieren und testen kann. Der Update Site Link f&#252;r die Developer Version ist: <a href="http://download.jboss.org/jbosstools/updates/development">http://download.jboss.org/jbosstools/updates/development</a>.</p>
<div class="singleImgDiv">
<a href="http://in.relation.to/Bloggers/JBossTools31MilestoneReleased"><img src="http://javathreads.de/data/uploads/2009/06/jbosstoolsgalileo2.jpg" alt="JBoss Tools 3.1 M1 f&#252;r Eclipse Galileo" title="JBoss Tools 3.1 M1 f&#252;r Eclipse Galileo" width="450" height="101" class="alignnone size-full wp-image-1827" /></a>
</div>
<p>Ich habe die JBoss Tools 3.1 M1 unter Eclipse Galileo installieren und auch ohne erkennbare Probleme verwenden k&#246;nnen. In einem ersten Versuch hat das Umbennenen ohne Probleme funktioniert. Den Rename Dialog erh&#228;lt man am einfachsten aus der Seam Component View heraus. Insgesamt ein wirklich sehr n&#252;tzliches Feature!<br />
In ersten Tests mit einem bestehenden Projekt lies sich insgesamt problemlos arbeiten. Im About Dialog von Eclipse werden die entsprechenden Plugins auch korrekt angezeigt:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/06/jbosstoolseclipsegalileo.png" alt="Eclipse Galileo - JBoss Tools 3.1 M1 installiert" title="Eclipse Galileo - JBoss Tools 3.1 M1 installiert" width="548" height="331" class="alignnone size-full wp-image-1798" />
</div>
<p>Auch zu den JBoss Tools 3.1 M1 gibt es eine &#8220;<a href="http://docs.jboss.org/tools/whatsnew/index.html">News and Noteworthy</a>&#8221; Seite auf der die einzelnen nennenswerten Erneuerungen zu finden sind. Ich m&#246;chte nur kurz eins hervorherben welche ich ziemlich praktisch finde und zwar ist das der &#8220;Rename Seam Component&#8221; Dialog, der verf&#252;gbar ist wenn man in einer Klasse die mit @Name annotiert ist, sich in der components.xml oder in der Seam components view befindet. Verwendet man diesen Dialog wird der Name auch in den xhtml Dateien gefunden und dort refactored:</p>
<div class="singleImgDiv">
<a href="http://in.relation.to/Bloggers/JBossTools31MilestoneReleased"><img src="http://javathreads.de/data/uploads/2009/06/renameseamcomponent.png" alt="JBoss Tools 3.1 M1 - Seam Tools - Rename Seam Component Dialog" title="JBoss Tools 3.1 M1 - Seam Tools - Rename Seam Component Dialog" width="485" height="494" class="alignnone size-full wp-image-1797" /></a>
</div>
<p>Der &#220;bergang von Eclipse 3.4 auf Eclipse 3.5 mit den JBoss Tools scheint also vorerst problemlos zu funktioniern (im Gegensatz zu dem Umstieg von 3.3 auf 3.4).</p>
<p>Somit w&#252;nsche ich viel Spass beim ausprobieren!</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/06/eclipse-galileo-veroeffentlicht/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UML Klassendiagramme online erstellen und einfach teilen</title>
		<link>http://javathreads.de/2009/06/klassendiagramme-online-erstellen-und-einfach-teilen/</link>
		<comments>http://javathreads.de/2009/06/klassendiagramme-online-erstellen-und-einfach-teilen/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 07:00:03 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Klassendiagramm]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[Use Case Diagramm]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1658</guid>
		<description><![CDATA[Diesmal wird ein kleines aber doch recht n&#252;tzliches online Utility vorgestellt: yUML (yuml.de). 



Mit yUML ist es m&#246;glich sehr einfach und schnell UML Diagramme erstellen online zu erstellen. Dabei werden aktuall Use Case und Klassendiagramme unterst&#252;tzt. Ein solches Use Case Diagramm wird auch direkt auf deren Startseite dargestellt:



Interessanter finde ich das ganze schon f&#252;r Klassendiagramme. [...]]]></description>
			<content:encoded><![CDATA[<p>Diesmal wird ein kleines aber doch recht n&#252;tzliches online Utility vorgestellt: yUML (<a href="http://yuml.me">yuml.de</a>). </p>
<div class="singleImgDiv">
<a href="http://yuml.me"><img src="http://javathreads.de/data/uploads/2009/06/yumllogo1.jpg" alt="yUML" title="http://yuml.me" width="617" height="110" class="alignnone size-full wp-image-1692" /></a>
</div>
<p>Mit yUML ist es m&#246;glich sehr einfach und schnell UML Diagramme erstellen online zu erstellen. Dabei werden aktuall Use Case und Klassendiagramme unterst&#252;tzt. Ein solches Use Case Diagramm wird auch direkt auf deren Startseite dargestellt:</p>
<div class="singleImgDiv">
<a href="http://yuml.me"><img src="http://javathreads.de/data/uploads/2009/06/yuml.png" alt="yuml.de" title="yUML" width="617" height="312" class="alignnone size-full wp-image-1659" /></a>
</div>
<p>Interessanter finde ich das ganze schon f&#252;r Klassendiagramme. Oft braucht man mal eine schnelle Repr&#228;sentation des Modells seiner Idee und hat kein passendes Tool zur Wahl. Bevor man dann zu Paint oder sonst einem Grafiktool greift sollte man sich mal mit dem <a href="http://yuml.me/diagram/scruffy/class/%5BUser%5D+1-%3E*%5BJavathreadsArtikel%5D%2C%20%5BJavathreadsArtikel%5D1-%3E*%5BKommentar%5D">Klassendiagramm Editor von yUML</a> versuchen. Ein erster kleiner Versuch hat dabei folgendes ergeben:</p>
<div class="singleImgDiv">
<a href="http://yuml.me/diagram/scruffy/class/%5BUser%5D+1-%3E*%5BJavathreadsArtikel%5D%2C%20%5BJavathreadsArtikel%5D1-%3E*%5BKommentar%5D"><img src="http://javathreads.de/data/uploads/2009/06/yumlklassendiagrammjavathreads.png" alt="yuml.de Klassendiagramm" title="yuml.de Klassendiagramm" width="629" height="69" class="alignnone size-full wp-image-1660" /></a>
</div>
<p>Die Klassen und deren Beziehungen zueinander werden mit einer Syntax textuell beschrieben. F&#252;r das eben gezeigte Diagramm sieht die Syntax wie folgt aus:</p>
<div class="codebox">
[User]+1-&gt;*[JavathreadsArtikel]<br />
[JavathreadsArtikel]1-&gt;*[Kommentar]
</div>
<p>Obwohl ich das Diagramm hier als Bild lokal gespeichert habe kann man es auch direkt verlinken und weitergeben. Die URL f&#252;r das mein Diagramm sieht dann so aus: <a href="http://yuml.me/diagram/scruffy/class/%5BUser%5D+1-%3E*%5BJavathreadsArtikel%5D%2C%20%5BJavathreadsArtikel%5D1-%3E*%5BKommentar%5D">http://yuml.me/diagram/scruffy/class/[User]+1-&gt;*[JavathreadsArtikel], [JavathreadsArtikel]1-&gt;*[Kommentar]</a><br />
Man kann in dem Link erkennen, dass die Syntax f&#252;r das Klassendiagramm direkt mitgegeben und somit immer neu auf yuml.de gerendert wird.</p>
<p>Nat&#252;rlich reichen so einfache Anwendungsf&#228;lle bzw. Diagramme nicht aus aber auch hier kann man noch einen Schritt weiter gehen. Auf der <a href="http://yuml.me/diagram/scruffy/class/samples">Beispielseite f&#252;r Klassendiagramme</a> sieht man die ganze Menge an M&#246;glichkeiten &#8211; bis ihn zu einer detaillierten Klassenbeschreibung und einem komplexeren Digramm. Im folgenden habe ich das komplexe Beispieldiagramm direkt von dort als live gerendertes Bild eingebunden:</p>
<div class="singleImgDiv">
<a href="http://yuml.me/diagram/scruffy/class/samples"><img src="http://yuml.me/diagram/scruffy/class/[note:%20You%20can%20stick%20notes%20on%20diagrams%20too!%7Bbg:cornsilk%7D],[Customer]%3C%3E1-orders%200..*%3E[Order],%20[Order]++*-*%3E[LineItem],%20[Order]-1%3E[DeliveryMethod],%20[Order]*-*%3E[Product],%20[Category]%3C-%3E[Product],%20[DeliveryMethod]%5E[National],%20[DeliveryMethod]%5E[International]" /> </a>
</div>
<p>Reicht einem ein Bild nicht aus ist es m&#246;glich sich auch noch ein PDF generieren zu lassen. Mein Diagramm als PDF ist hier zu haben: <a href="http://yuml.me/diagram/scruffy/class/%5BUser%5D+1-%3E*%5BJavathreadsArtikel%5D%2C%20%5BJavathreadsArtikel%5D1-%3E*%5BKommentar%5D.pdf">http://yuml.me/diagram/scruffy/class/[User]+1-&gt;*[JavathreadsArtikel], [JavathreadsArtikel]1-&gt;*[Kommentar].pdf</a></p>
<p>Insgesamt ist der <a href="http://yuml.me/diagram/scruffy/class/draw">Klassendiagramm Editor von yUML</a> einen Bookmark wert. Gerade f&#252;r schnelle Darstellungen oder festhalten von Ideen die man mit anderen noch teilen m&#246;chte ist dieses online Tool wirklich wertvoll.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/06/klassendiagramme-online-erstellen-und-einfach-teilen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse QuickFix Tipp: instanceof Class Cast erstellen</title>
		<link>http://javathreads.de/2009/04/exlipse-quickfix-tipp-instanceof-class-cast-erstellen/</link>
		<comments>http://javathreads.de/2009/04/exlipse-quickfix-tipp-instanceof-class-cast-erstellen/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 07:00:53 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[QuickFix]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1372</guid>
		<description><![CDATA[Hat man ein Objekt und m&#246;chte &#252;berpr&#252;fen von welcher Klasse dieses Objekt eine Instanz ist wird der Operator instanceof verwendet. Ergibt diese Pr&#252;fung true erfolgt in der Regel ein Cast auf diese Klasse. So sieht der Code oft wie folgt aus:

if(unknownObj instanceof&#160;Integer) {
  Integer myCastedIntObj = (Integer)unknownObj;
  // do sth with casted object
}

Um [...]]]></description>
			<content:encoded><![CDATA[<p>Hat man ein Objekt und m&#246;chte &#252;berpr&#252;fen von welcher Klasse dieses Objekt eine Instanz ist wird der Operator <code>instanceof</code> verwendet. Ergibt diese Pr&#252;fung <code>true</code> erfolgt in der Regel ein Cast auf diese Klasse. So sieht der Code oft wie folgt aus:</p>
<div class="codebox">
<pre style="margin:0;padding:0">if(unknownObj <span style="color:#7F0074;"><b>instanceof</b></span>&#160;Integer) {
  Integer myCastedIntObj = (Integer)unknownObj;
  <span style="color:#3F7F5F">// do sth with casted object</span>
}</pre>
</div>
<p>Um diesen &#8220;instance of&#8221; Code mit anschlie&#223;endem Class Cast zu erstellen besteht in Eclipse die M&#246;glichkeit einen Quickfix zu verwenden und so die Tipparbeit deutlich zu vereinfachen. Dazu einfach das Schl&#252;sselwort <code>instanceof</code> anfangen zu schreiben und <code>Strg-Space</code> dr&#252;cken. Es &#246;ffnet sich der QuickFix Panel mit Vorschl&#228;gen wobei instanceof direkt an erster Stelle steht:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/eclipsequickfix_instanceof1.png" alt="Eclipse QuickFix Panel" title="Eclipse QuickFix Panel" width="600" height="163" class="borderGray alignnone size-full wp-image-1439" />
</div>
<p>Selektiert man diesen QuickFix und dr&#252;ckt Enter wird das Code Template im Editor erstellt um die restlichen notwendigen Angaben wie z.B. die Variable die gepr&#252;ft oder die Klasse auf die gecastet werden soll. Was viele nicht wissen ist, dass wenn im Eclipse Editor ein blauer Rahmen um ein Wort steht kann man einfach mit Tab durch das Template navigieren:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/eclipsequickfix_eingabe.png" alt="Eclipse QuickFix instanceof Eingabe" title="Eclipse QuickFix instanceof Eingabe" width="600" height="84" class="borderGray alignnone size-full wp-image-1441" />
</div>
<p>Gibt man die Klasse an auf die gepr&#252;ft werden soll wird sie auch direkt in der Zeile mit dem Cast eingesetzt:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/eclipsequickfix_instanceof3.png" alt="Eclipse QuickFix instanceof - Klassenangabe" title="Eclipse QuickFix instanceof - Klassenangabe" width="600" height="77" class="borderGray alignnone size-full wp-image-1443" />
</div>
<p>Anschlie&#223;end nur noch den Namen der neuen internen Variable anpassen und mit Enter den QuickFix und somit das Bearbeiten des Templates beenden. Der Cursor postiert sich nun direkt in die Zeile unter der Class cast Zeile und es kann somit direkt weitergearbeitet werden.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/eclipsequickfix_instanceof4.png" alt="Eclipse QuickFix instanceof Cursor nach beenden" title="Eclipse QuickFix instanceof Cursor nach beenden" width="600" height="70" class="borderGray alignnone size-full wp-image-1444" />
</div>
<p>Man wird diesen QuickFix wahrscheinlich seltener brauchen aber wenn man ihn kennt und wei&#223; wie sich Eclipse verh&#228;lt kann man einen solchen <code>instanceof</code> Ausdruck binnen Sekunden und ohne gro&#223;e M&#252;he erstellen. Man sollte es also mal ausprobiert haben und wissen, dass es diese Unterst&#252;tzung gibt.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/04/exlipse-quickfix-tipp-instanceof-class-cast-erstellen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DB Schema aus JPA Entit&#228;ten mit Hilfe von Eclipse WTP und den Hibernate Tools generieren lassen</title>
		<link>http://javathreads.de/2009/04/db-schema-aus-jpa-entitaeten-mit-hilfe-von-eclipse-wtp-und-den-hibernate-tools-generieren-lassen/</link>
		<comments>http://javathreads.de/2009/04/db-schema-aus-jpa-entitaeten-mit-hilfe-von-eclipse-wtp-und-den-hibernate-tools-generieren-lassen/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 06:00:20 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[DDL]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclpse Ganymede]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Hibernate Tools]]></category>
		<category><![CDATA[JBoss Tools]]></category>
		<category><![CDATA[JPA]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1384</guid>
		<description><![CDATA[Arbeitet man mit JPA (Java Persistence API) und konfiguriert die Entity Beans mit Hilfe von javax.persistence Annotationen stellt sich immer die Frage wie man von den modellierten Entity Beans an das Datenbankschema f&#252;r die entsprechende Zieldatenbeank gelangt.



Entity Bean mit JPA Annotationen


Dazugeh&#246;riges SQL Schema f&#252;r diese Entity Bean











Meistens bringen die verschiedenen JPA Implementierungen eigene Tools mit. [...]]]></description>
			<content:encoded><![CDATA[<p>Arbeitet man mit JPA (Java Persistence API) und konfiguriert die Entity Beans mit Hilfe von <code>javax.persistence</code> Annotationen stellt sich immer die Frage wie man von den modellierten Entity Beans an das Datenbankschema f&#252;r die entsprechende Zieldatenbeank gelangt.</p>
<table style="width:100%">
<tr>
<td style="width:50%">
Entity Bean mit JPA Annotationen
</td>
<td style="width:50%">
Dazugeh&#246;riges SQL Schema f&#252;r diese Entity Bean
</td>
</tr>
<tr>
<td style="width:50%">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlsnippetentity2.png" alt="Entity Bean mit JPA Annotationen" title="Entity Bean mit JPA Annotationen" width="300" height="332" class="borderGray alignnone size-full wp-image-1414" />
</td>
<td style="width:50%">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlsnippetsql.png" alt="Entity Schema" title="Entity Schema" width="300" height="332" class="borderGray alignnone size-full wp-image-1412" />
</td>
</tr>
</table>
<p>Meistens bringen die verschiedenen JPA Implementierungen eigene Tools mit. Verwendet man z.B. Hibernate kann man zum Beispiel die von <a href="http://www.hibernate.org/hib_docs/reference/en/html/toolsetguide.html">Konsole Tools</a> in Form eines ANT Tasks verwenden. Arbeitet man mit der Eclipse Ganymede IDE hat man mit dem Web Tools Subprojekt &#8220;Dali&#8221; (<a href="http://www.eclipse.org/webtools/dali/main.php">Dali JPA Tools</a>) die M&#246;glichkeit sich das DB Schema mit Hilfe eines Eclipse Dialogs generieren zu lassen.  Ich habe schon mal bei der Vorstellung der JBoss Tools 3 Alpha Version <a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">darauf hingewiesen</a>, dass das WTP Dali Projekt ab Version 3 unterst&#252;tzt wird.</p>
<div class="subHeadline">Kurze Anleitung</div>
<p>Nachdem ich diesen Artikel in der ausf&#252;hrlichen Version erstellt hatte kam mir dieser mehr doch sehr lang vor obwohl das Konfigurieren an sich relativ schnell geht. Dahier hier die wenigen Schritte in absoluter Kurzform:</p>
<ul>
<li>Projekt Facet &#8220;JPA Persistence&#8221; dem EJB Projekt hinzuf&#252;gen (Projekt Properties)</li>
<li>JPA Plattform und DB Verbindung konfigurieren (Projekt Properties)</li>
<li>Im Cotextmen&#252; auf dem EJB-Projekt &#8220;JPA-Tools->Generate DDL&#8230;&#8221; w&#228;hlen</li>
<li>Im DDL Generation Dialog das Zielverzeichnis, die Ausgabedatei und Hibernate Console- (konfigurierbar &#252;ber die Hibernate Perspektive) oder DB-Konfiguration angeben. Dialog mit &#8220;Finish&#8221; beenden -> DDL Datei wird erstellt.</li>
</ul>
<div class="subHeadline">Ausf&#252;hrliche Anleitung</div>
<p>Im Folgenden wird anhand meines kleinen <a href="http://java-schnipsel.de">Java Schnipsel</a> Projektes gezeigt wie das Datenbankschema, genauer gesagt die DDL (Data Definition Language) Datei, mit Eclipse generiert werden kann. Dieses Projekt verwendet Hibernate und somit werden aus den JBoss Tools Plugins das Hibernate Tools Eclipse Plugin ben&#246;tigt. Nun sind die JBoss Tools 3.0.0 endlich <a href="http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/">offiziell Stable erschienen</a> und da ist es an der Zeit dieses Feature mal auszuprobieren.</p>
<p>Im ersten Schritt sollte &#252;berpr&#252;ft werden ob die Hibernate Tools installiert sind. Aus den JBoss Tools Eclipse Plugins wird f&#252;r das Generieren der DDL Datei die Hibernate Tools ben&#246;tigt. F&#252;r eine Installationsanleitung der JBoss Tools siehe <a href="http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/">hier</a>.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlhibernatetoolsaddon.png" alt="JBoss Tools Eclipse Plugins - Hibernate Tools" title="JBoss Tools Eclipse Plugins - Hibernate Tools" width="600" height="88" class="borderGray alignnone size-full wp-image-1389" />
</div>
<p>Mein Beispielprojekt ist in der f&#252;r Eclipse normalen JEE Projektstruktur erstellt worden (mit dem <a href="http://javathreads.de/2008/09/tutorial-mit-jboss-seam-und-jee5-unter-eclipse-starten/">Seam Web Project Wizzard</a>):</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlhibernatetoolsprojektstruktur.png" alt="Eclipse JEE Projektstruktur" title="Eclipse JEE Projektstruktur" width="600" height="131" class="borderGray alignnone size-full wp-image-1388" />
</div>
<p>Hat man eine solche Projektstruktur muss man nun das JPA Project Facet hinzuf&#252;gen. Dazu auf dem EJB Projekt aus dem Context Men&#252; (recht Maustaste) &#8220;Properties&#8221; aufrufen. Im Properties Dialog &#8220;Project Facets&#8221; selektieren und dort das Facet &#8220;Java Persistence&#8221; ausw&#228;hlen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlprojectfacets3.png" alt="Project Facet &quot;Java Persistence&quot;" title="Project Facet &quot;Java Persistence&quot;" width="600" height="402" class="borderGray alignnone size-full wp-image-1402" />
</div>
<p>Wenn das Facet &#8220;Java Persistence&#8221; selektiert wurde erscheint unten im gelben Hintergrund der Hinweis, dass weitere Konfigurationsm&#246;glichkeiten bestehen (&#8220;Further configuration available&#8221;). Am einfachsten ist es diese Konfiguration direkt auszuw&#228;hlen. Hat man die Einstellung mit &#8220;Apply&#8221; best&#228;tigt einfach das Facet noch einmal deslektieren, Apply dr&#252;cken und das Facet wieder selektieren.<br />
In dem Dialog &#8220;Modify Facet Project -> JPA Facet&#8221; muss nun die verwendete JPA Platform und die DB Verbindung konfiguriert werden. Ich verwende Hibernate und habe meine MySQL Verbindung konfiguriert. Man kann direkt von diesem Dialog aus eine neue DB Verbindung konfigurieren, sofern man das noch nicht getan hat.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlprojectfacetjpa.png" alt="JPA Facet Konfiguration" title="JPA Facet Konfiguration" width="525" height="229" class="borderGray alignnone size-full wp-image-1396" />
</div>
<p>Die zwei weiteren dort m&#246;glichen Einstellungen habe ich bei mir auf &#8220;Use implementation provided by server Runtime&#8221; (Die Server Runtime kann in den Properties unter dem Punkt &#8220;Targeted Runtimes&#8221; konfiguriert werden &#8211; verwendet man keinen Server wie den JBoss kann man die JPA Jars auch direkt angeben) und &#8220;Discover annotated classes automatically&#8221; gesetzt. Anschlie&#223;end den JPA Facet Dialog und anschlie&#223;end den Properties Dialog mit &#8220;Ok&#8221; beenden.</p>
<p>Hat man allerdings den Properties Dialog schon vor den zus&#228;tzlichen JPA Einstellungen mit &#8220;Ok&#8221; beendet muss man noch einmal die Properties f&#252;r das EJB Projekt aufrufen und kann dann aber den Men&#252;punkt &#8220;JPA&#8221; direkt selektieren und somit konfigurieren:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlprojectfacetjpadirekt2.png" alt="JPA Facet Konfiguration im Properties Men&#252;" title="JPA Facet Konfiguration im Properties Men&#252;" width="600" height="254" class="borderGray alignnone size-full wp-image-1404" />
</div>
<p>Nachdem die Java Persistence Project Facets dem JEE Projekt hinzugef&#252;gt wurden ist im Context Men&#252;, sofern man dieses auf dem EJB Projekt aufruft, der Eintrag &#8220;JPA Tools&#8221; zu finden. Darin findet sich der Men&#252;punkt &#8220;Generate DDL&#8221;.</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddljpatoolscontextmenu2.png" alt="Context Men&#252; JPA Tools -&gt; Generate DDL" title="Context Men&#252; JPA Tools -&gt; Generate DDL" width="600" height="325" class="borderGray alignnone size-full wp-image-1416" />
</div>
<p>Erh&#228;lt man nach dem Ausw&#228;hlen dieses Men&#252;punktes den Fehler &#8220;DDL Generation is not supported by the Generic Platform&#8221; hat man vergessen seinen JPA Platform (Hibernate, Toplink, ..) zu konfigurieren. Dazu einfach wieder in die EJB Projekt Properties und den Men&#252;punkt &#8220;JPA&#8221; selektieren und konfigurieren. Mehr Informantionen zu dieser Fehlermeldung auch <a href="http://dev.eclipse.org/newslists/news.eclipse.technology.dali/msg00324.html">hier</a>.<br />
Ist alles soweit korrekt konfiguriert &#246;ffnet sich der DDL Generation Dialog. Darin gibt man zuerst das Zielverzeichnis sowie den Namen der DDL Datei an. Die zweite wichtige Konfiguration ist der Hibernate Dialekt der verwendet werden soll. Dazu kann man entweder eine bereits durch die Hibernate Perspektive erstellte <a href="http://javathreads.de/2008/03/unterstuetzung-fuer-jpa-hibernate-tools-in-eclipse/">Hibernate Console Konfiguration</a> verwenden und diese mit der Checkbox &#8220;Use Console Konfiguration&#8221; verwenden oder wie in meinem Fall die bereits konfigurierte Datenbankverbindung. Der Dialekt kann dabei automatisch erkannt werden (<a href="http://javathreads.de/2009/02/zwingend-den-hibernate-dialekt-konfigurieren/">ich berichtete dar&#252;ber</a>) oder direkt angeben:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddlgenerationdialog.png" alt="DDL Generation Dialog" title="DDL Generation Dialog" width="600" height="466" class="alignnone size-full wp-image-1407" />
</div>
<p>Ist alles korrekt konfiguriert wird durch den Button &#8220;Finish&#8221; das Generieren der DDL in der gew&#252;nschten Zieldatei gestartet. Das kann einen kleinen Moment dauern und anschlie&#223;end ist diese Schemadatei auch unter der gew&#252;nschten Position (bei mir im EJB-Projekt im Ordner ejbModule) zu finden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/jpaddldatei.png" alt="DDL Datei: schema.ddl" title="DDL Datei: schema.ddl" width="600" height="276" class="borderGray alignnone size-full wp-image-1408" />
</div>
<p>Gerade f&#252;r die erste Entwicklungszeit und dem Erstellen der Entit&#228;ten ist diese einfach DDL Generierung sehr n&#252;tzlich. Sieht man doch direkt was f&#252;r Datenbanktypen aus den Java Attributen erstellt werden.</p>
<p>Alternativ kann man mit den Hibernate Tools &#252;ber die Hibernate Perspektive das Schema auch direkt in der DB erstellen. Vor gut einem Jahr habe ich dazu einen <a href="http://javathreads.de/2008/03/unterstuetzung-fuer-jpa-hibernate-tools-in-eclipse/">kleinen Artikel erstellt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/04/db-schema-aus-jpa-entitaeten-mit-hilfe-von-eclipse-wtp-und-den-hibernate-tools-generieren-lassen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse QuickFix Tipp: Getter &amp; Setter generieren</title>
		<link>http://javathreads.de/2009/04/eclipse-quickfix-tipp-getter-setter-generieren/</link>
		<comments>http://javathreads.de/2009/04/eclipse-quickfix-tipp-getter-setter-generieren/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 19:00:00 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[QuickFix]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1347</guid>
		<description><![CDATA[Eines der m&#228;chtigsten Features von Eclipse ist das sogenannte &#8220;QuickFix&#8220;. Immer wenn ein Error oder Warning im Editor angezeigt wird besteht die M&#246;glichkeit sich von Eclipse helfen zu lassen. Um an die QuickFix Vorschl&#228;ge von Eclipse zu gelangen kann man entweder einfach nur mit der Maus &#252;ber die entsprechende unterringelte Stelle fahren oder links auf [...]]]></description>
			<content:encoded><![CDATA[<p>Eines der m&#228;chtigsten Features von Eclipse ist das sogenannte &#8220;<strong>QuickFix</strong>&#8220;. Immer wenn ein Error oder Warning im Editor angezeigt wird besteht die M&#246;glichkeit sich von Eclipse helfen zu lassen. Um an die QuickFix Vorschl&#228;ge von Eclipse zu gelangen kann man entweder einfach nur mit der Maus &#252;ber die entsprechende unterringelte Stelle fahren oder links auf das Error oder Warning Icon klicken.</p>
<div class="subHeadline">QuickFix Dialog</div>
<p>Um das QuickFix Verhalten zu verdeutlichen habe ich den Namen der Klasse ge&#228;ndert, so dass dieser nicht mehr mit dem Namen der Datei (QuickFixTests.java) &#252;bereinstimmt. In Java ist das nicht erlaubt und somit bietet mir Eclipse mit dem QuickFix Dialog L&#246;sungen an. Hier der Screenshot des Maus Hovers:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/quickfixclassnamehover.png" alt="Quickfix Vorschl&#228;ge mit Maus-Hover" title="QuickFix Vorschl&#228;ge mit Maus-Hover" width="600" height="129" class="borderGray alignnone size-full wp-image-1348" />
</div>
<p>Hier der Screenshot des Klicks auf das Warning oder Error Icons links. Ist der Cursor in dieser Zeile kann man auch einfach <b>Strg-1</b> dr&#252;cken um diesen Dialog zu erhalten:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/quickfixclassnameclick.png" alt="QuickFix Vorschl&#228;ge mit Maus-Klick" title="QuickFix Vorschl&#228;ge mit Maus-Klick" width="600" height="95" class="borderGray alignnone size-full wp-image-1349" />
</div>
<div class="subHeadline">QuickFix Tipp: Getter und Setter generieren lassen</div>
<p>Einer der Features &#252;berhaupt ist das Generieren von Getter und Setter zu einem Attribut. So spart man sich deutlich Tipparbeit in dem man direkt nach dem Schreiben des Attributes Strg-1 dr&#252;ckt, &#8220;Generate getter and setter for &#8216;attributeName&#8217;&#8221; selektiert und Enter dr&#252;ckt:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/quickfixgettersettergeneration.png" alt="Eclipse QuickFix - Generate getter and setter" title="Eclipse QuickFix - Generate getter and setter" width="600" height="166" class="borderGray alignnone size-full wp-image-1353" />
</div>
<p>Anschlie&#223;end erscheint der Dialog f&#252;r die Getter und Setter Konfiguration, welcher auch &#252;ber das Context Men&#252; &#8220;Source->Generate Getters and Setters..&#8221; ge&#246;ffnet werden kann:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/eclipsegenerategetterandsetterdialog2.png" alt="Eclipse Generate Getter and Setter Dialog" title="Eclipse Generate Getter and Setter Dialog" width="422" height="285" class="alignnone size-full wp-image-1358" />
</div>
<p>Vor allem die Einstellung an welche Position der Setter und Getter erstellt werden soll ist interessant: sollen die neuen Methoden an die erste oder letzte Stelle in der Klasse oder direkt hinter einer schon bestehenden Methode erstellt werden? Sind die Einstellungen erst einmal gesetzt worden werden sie f&#252;r die n&#228;chste Generieren &#252;bernommen. So kann man anschlie&#223;end die weiteren Getter und Setter ohne gro&#223;es Konfigurieren schnell generieren.</p>
<p>Ist das Generieren durchgelaufen sind die Getter und Setter nat&#252;rlich vorhanden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/quickfixgettersettergenerated.png" alt="Eclipse QuickFix - Generierte Getter und Setter" title="Eclipse QuickFix - Generierte Getter und Setter" width="600" height="197" class="borderGray alignnone size-full wp-image-1359" />
</div>
<div class="subHeadline">Toggle Mark Occurrences</div>
<p>Interessant an dieser Stelle zu erw&#228;hnen ist noch die farbliche Hervorhebung des Attributes. Hat man ein in der Eclipse Men&#252;leiste den Button &#8220;Toggle Mark Occurrences&#8221; (Alt-Strg-O) eingeschaltet wie im folgenden Screenshot rot hervorgehoben zu sehen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/04/eclipsetogglemarkoccurrences.png" alt="&quot;Toggle Mark Occurrences&quot; (Alt-Strg-O) " title="&quot;Toggle Mark Occurrences&quot; (Alt-Strg-O) " width="600" height="137" class="borderGray alignnone size-full wp-image-1360" />
</div>
<p>Dann die Verwendung des gerade mit dem Cursor selektierten Attributes farblich hervorgehoben. Dabei wird farblich zwischen lesenden und schreibenden Aktionen unterschieden. Dieses Verhalten ist im Screenshot davor mit den generierten Getter und Setter sch&#246;n zu sehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/04/eclipse-quickfix-tipp-getter-setter-generieren/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JBoss Tools 3.0.0 GA f&#252;r Eclipse Ganymede verf&#252;gbar</title>
		<link>http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/</link>
		<comments>http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 22:00:33 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Eclipse Ganymede]]></category>
		<category><![CDATA[JBoss Tools]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=1242</guid>
		<description><![CDATA[Nach l&#228;ngerem warten und den verschiedensten Versuchen die JBoss Tools unter Ganymede, als Nightly Build oder 3.0.0 Alpha Version f&#252;r Eclipse Ganymede zu installieren ist nun endlich die offizielle JBoss Tools 3.0.0 GA Version ver&#246;ffentlicht worden. Schon seit letzter Woche konnte man die JBoss Tools 3.0.0 GA &#252;ber den Eclipse Update Manager installieren &#8211; nur [...]]]></description>
			<content:encoded><![CDATA[<p>Nach l&#228;ngerem warten und den verschiedensten Versuchen die JBoss Tools unter <a href="http://javathreads.de/2008/07/jboss-tools-unter-eclipse-ganymede-verwenden/">Ganymede</a>, als <a href="http://javathreads.de/2008/10/jboss-tools-nightly-build-update-seite/">Nightly Build</a> oder <a href="http://javathreads.de/2008/08/jboss-tools-300-alpha1-langsam-geht-es-vorwaerts/">3.0.0 Alpha Version</a> f&#252;r Eclipse Ganymede zu installieren ist nun endlich die offizielle <a href="http://in.relation.to/Bloggers/JBossTools3IsHere">JBoss Tools 3.0.0 GA</a> Version ver&#246;ffentlicht worden. Schon seit letzter Woche konnte man die JBoss Tools 3.0.0 GA &#252;ber den Eclipse Update Manager installieren &#8211; nur die offizielle Nachricht fehlte. Die JBoss Tools kommen auch gleich mit einem neuen Logo daher, welches aus <a href="https://jira.jboss.org/jira/browse/JBIDE-2739">vielen verschiedenen Vorschl&#228;gen</a> ausgew&#228;hlt wurde.</p>
<div class="singleImgDiv">
<a href="http://in.relation.to/Bloggers/JBossTools3IsHere"><img src="http://javathreads.de/data/uploads/2009/03/jbosstools3logo.png" alt="JBoss Tools 3 Logo" title="JBoss Tools 3 Logo" width="600" height="145" class="borderGray alignnone size-full wp-image-1244" /></a>
</div>
<div class="subHeadline">JBoss Tools unter Eclipse Ganymede (3.4) installieren</div>
<p>M&#246;chte man mit den JBoss Tools 3 arbeiten ben&#246;tigt man Eclipse Ganymede. Es wird nicht empfohlen von Eclipse 3.3 auf Eclipse 3.4 via Update Manager zu wechseln. Viel praktischer ist es eine frische Eclipse Installation vorzunehmen und somit auch potentielle Fehlerquellen aus dem Weg zu gehen. Am einfachsten ist es wenn man die <a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip">Eclipse 3.4 IDE for Java EE Developers</a> herunterl&#228;dt. Auch hier gibt es mittlerweile das Release 2 Bundle, welches ca 170 MB gro&#223; ist.</p>
<div class="singleImgDiv">
<a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/SR2/eclipse-jee-ganymede-SR2-win32.zip"><img src="http://javathreads.de/data/uploads/2009/03/eclipseideforjavaeedevelopersjpg.png" alt="Eclipse 3.4 IDE for Java EE Developers SR2" title="Eclipse 3.4 IDE for Java EE Developers SR2" width="600" height="74" class="borderGray alignnone size-full wp-image-1245" /></a>
</div>
<p>Nachdem Eclipse heruntergeladen, entpackt und gestartet wurde einfach die JBoss Tools Update URL (<a href="http://download.jboss.org/jbosstools/updates/stable">http://download.jboss.org/jbosstools/updates/stable</a>) im Eclipse Update Manager hinzuf&#252;gen. Den Update Manager findet man im Hauptmen&#252; unter Help->Software Updates. Dort den Reiter &#8220;Available Software&#8221; selektieren und rechts den Button &#8220;Add Site&#8230;&#8221; dr&#252;cken:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/eclipse34jbosstoolsupdatesite.png" alt="JBoss Tools Update Site" title="JBoss Tools Update Site" width="600" height="346" class="borderGray alignnone size-full wp-image-1248" />
</div>
<p>Ist die Update Site hinzugef&#252;gt kann man nach dem Aufklappen alle angebotenen JBoss Tools sehen. F&#252;r meine Seam Entwicklung mit Hibernate, RichFaces auf dem JBoss AS installiere ich immer die folgende Tools (hervorgehobene Selektion):</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/eclipse34jbosstoolsselektion.png" alt="JBoss Tools Selektion" title="JBoss Tools Selektion" width="600" height="487" class="borderGray alignnone size-full wp-image-1249" />
</div>
<p>Um die Installation fertigzustellen den Button &#8220;Install&#8221; dr&#252;cken und den Anweisungen folgen.</p>
<p>Erstellt man &#252;ber die JBoss Tools ein Seam Web Projekt sieht man schon die erste Erneuerung denn es wird jetzt auch Seam 2.1 direkt unterst&#252;tzt, wie man auch bei der Konfiguration der Seam Runtime sehen kann:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3seam21support.png" alt="Seam 2.1 Support" title="Seam 2.1 Support" width="525" height="191" class="borderGray alignnone size-full wp-image-1250" />
</div>
<div class="subHeadline">N&#252;tzliche neue Features f&#252;r die Entwicklung von XHTML Seiten mit Seam</div>
<p>Wer mit der Nightly Build oder 3.0.0 Alpha Version gearbeitet hat wird die neuen wirklich n&#252;tzlichen Features wahrscheinlich schon gesehen und ausprobiert haben. Vor allem bei der Entwicklung von Facelets XHTML Seiten in Verbindung mit Seam Komponenten sind sehr sch&#246;ne Features in die neue Version reingekommen. Ein paar davon, die ich pers&#246;nlich absolut praktisch finde, sind im folgenden kurz aufgelistet.</p>
<p><strong>Autocompletion:</strong><br />
Es werden alle mit <code>@Name</code> annotierten Seam Komponenten direkt im XHTML Editor gefunden und durch Autocomplete angeboten:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3codecompletion.png" alt="JBoss Toosl - XHTML Code Completion" title="JBoss Toosl - XHTML Code Completion" width="374" height="204" class="borderGray alignnone size-full wp-image-1252" />
</div>
<p><strong>EL Warning:</strong><br />
Hat man eine Fehler in der Expression Language gemacht wie der typische &#8220;rechte-Klammer-fehlt&#8221; Fehler findet man diesen nun nicht mehr erst nach dem Deployment sondern direkt im Editor durch ein Warning:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3elwarning.png" alt="JBoss Tools - EL Warning" title="JBoss Tools - EL Warning" width="397" height="338" class="borderGray alignnone size-full wp-image-1253" />
</div>
<p><strong>Seam Komponenten und Links direkt aus dem Editor heraus &#246;ffnen:</strong><br />
Man kann nun direkt aus dem XHMTL Editor heraus durch halten von STRG und der Maus direkt in die Java Klassen der Seam Komponenten oder direkt in andere .xhtml Seiten springen:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3openon.png" alt="JBoss Tools - OpenOn" title="JBoss Tools - OpenOn" width="389" height="61" class="borderGray alignnone size-full wp-image-1255" />
</div>
<p><strong>Visueller Editor f&#252;r die pages.xml:</strong><br />
Es gibt nun eine wirklich gute Unterst&#252;tzung f&#252;r die pages.xml. Darunter auch eine visuelle Ansicht f&#252;r die Navigationsregeln, die in der pages.xml definiert werden:</p>
<div class="singleImgDiv">
<img src="http://javathreads.de/data/uploads/2009/03/jbosstools3pages1.png" alt="JBoss Tools - pages.xml visueller Editor" title="JBoss Tools - pages.xml visueller Editor" width="600" height="191" class="borderGray alignnone size-full wp-image-1254" />
</div>
<p>Mehr Bilder zu den neuen Features findet man auch wie gewohnt im Kapitel &#8220;<a href="http://docs.jboss.org/tools/whatsnew/">News and Noteworthy</a>&#8220;.<br />
Alles in allem ist es wirklich sch&#246;n endlich eine funktionierende und offizielle Version der JBoss Tools f&#252;r Eclipse Ganymede zu haben. Nun steht der Entwicklung von vielen sch&#246;nen neuen Seam Projekten nichts mehr im Wege =).</p>
<p>Die offizielle Meldung f&#252;r die JBoss Tools 3.0 findet man auch noch mal <a href="http://in.relation.to/Bloggers/JBossTools3IsHere">hier</a> zum nachlesen.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/03/jboss-tools-300-ga-fuer-eclipse-ganymede-verfuegbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JBoss AS unter Linux automatisch beim Booten starten</title>
		<link>http://javathreads.de/2009/02/jboss-as-unter-linux-automatisch-beim-booten-starten/</link>
		<comments>http://javathreads.de/2009/02/jboss-as-unter-linux-automatisch-beim-booten-starten/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 19:00:25 +0000</pubDate>
		<dc:creator>Markus Kühle</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[JBoss AS]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://javathreads.de/?p=837</guid>
		<description><![CDATA[Ich habe eine kleine Weile gebraucht um eine kleine Anleitung f&#252;r ein Startscript zu finden, dass den JBoss AS unter Linux beim Booten automatisch startet. Der Platz an dem ich den richtigen Hinweis schlie&#223;lich gefunden habe war auch sehr einleuchtend und ich h&#228;tte auch direkt drauf kommen k&#246;nnen: das JBoss Wiki.
Damit andere nicht auch so [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe eine kleine Weile gebraucht um eine kleine Anleitung f&#252;r ein Startscript zu finden, dass den JBoss AS unter Linux beim Booten automatisch startet. Der Platz an dem ich den richtigen Hinweis schlie&#223;lich gefunden habe war auch sehr einleuchtend und ich h&#228;tte auch direkt drauf kommen k&#246;nnen: das <a href="http://www.jboss.org/community/docs/DOC-12305">JBoss Wiki</a>.<br />
Damit andere nicht auch so lange suchen wie ich und ich diese Info selbst garantiert auch noch einmal ben&#246;tige soll dieser Artikel hier dienen.<br />
Noch als Information vorab: Bei mir liegt der JBoss AS im Verzeichnis <span class="code">/opt</span> und ich habe den Namen des ausgepackten JBoss AS (<span class="code">jboss-4.2.2.GA.zip</span>) in <span class="code">jboss422</span> umbenannt. Somit bezieht sich dieses Startscript auf den JBoss mit dem Verzeichnis <span class="code">/opt/jboss422</span>.</p>
<p>Damit der JBoss nicht unter dem User &#8216;root&#8217; l&#228;uft empfiehlt es sich einen eigenen User &#8216;jboss&#8217; anzulegen und mit diesem den JBoss zu starten. Dazu muss diesem User der JBoss auch geh&#246;ren:</p>
<div class="codebox">
<pre><span style="color: #008000; ">#</span><span style="color: #008000; "> User 'jboss' hinzuf&#252;gen</span><span style="color: #008000; ">
</span><span style="color: #000000; ">useradd jboss

</span><span style="color: #008000; ">#</span><span style="color: #008000; "> Diesem User das JBoss AS Verzeichnis geben</span><span style="color: #008000; ">
</span><span style="color: #000000; ">chown </span><span style="color: #000000; ">-</span><span style="color: #000000; ">R jboss:users </span><span style="color: #000000; ">/</span><span style="color: #000000; ">opt</span><span style="color: #000000; ">/</span><span style="color: #000000; ">jboss422</span><span style="color: #000000; ">/</span></pre>
</div>
<p>Hier das eigentliche Startscript welches bei mir den Namen <span class="code">jboss422</span> vergeben bekommen hat und unter den meisten Linux Distributionen im Verzeichnis <span class="code">/etc/init.d/</span> abgelegt wird. Wie schon erw&#228;hnt liegt mein JBoss 4.2.2 im Verzeichnis <span class="code">/opt/jboss422</span>, so dass dieser Pfad auch im Startscript verwendet wird:</p>
<div class="codebox">
<pre><span style="color: #008000; ">#</span><span style="color: #008000; ">! /bin/sh</span><span style="color: #008000; ">
</span><span style="color: #000000; ">
start(){
  echo </span><span style="color: #800000; ">&quot;</span><span style="color: #800000; ">Starting jboss..</span><span style="color: #800000; ">&quot;</span><span style="color: #000000; ">
  sudo </span><span style="color: #000000; ">-</span><span style="color: #000000; ">u jboss bash </span><span style="color: #000000; ">-</span><span style="color: #000000; ">c </span><span style="color: #800000; ">&quot;</span><span style="color: #800000; ">/opt/jboss422/bin/run.sh --host 0.0.0.0 &gt; /dev/null 2&gt; /dev/null &amp;</span><span style="color: #800000; ">&quot;</span><span style="color: #000000; ">
  </span><span style="color: #008000; ">#</span><span style="color: #008000; ">/opt/jboss422/bin/run.sh --host 0.0.0.0 &gt; /dev/null 2&gt; /dev/null &amp;</span><span style="color: #008000; ">
</span><span style="color: #000000; ">}

stop(){
  echo </span><span style="color: #800000; ">&quot;</span><span style="color: #800000; ">Stopping jboss..</span><span style="color: #800000; ">&quot;</span><span style="color: #000000; ">
  sudo </span><span style="color: #000000; ">-</span><span style="color: #000000; ">u jboss bash </span><span style="color: #000000; ">-</span><span style="color: #000000; ">c </span><span style="color: #800000; ">'</span><span style="color: #800000; ">/opt/jboss422/bin/shutdown.sh -S &amp;</span><span style="color: #800000; ">'</span><span style="color: #000000; ">
  </span><span style="color: #008000; ">#</span><span style="color: #008000; ">/opt/jboss422/bin/shutdown.sh -S &amp;</span><span style="color: #008000; ">
</span><span style="color: #000000; ">}

restart(){
  stop
  </span><span style="color: #008000; ">#</span><span style="color: #008000; "> give stuff some time to stop before we restart</span><span style="color: #008000; ">
</span><span style="color: #000000; ">  sleep </span><span style="color: #000000; ">60</span><span style="color: #000000; ">
  </span><span style="color: #008000; ">#</span><span style="color: #008000; "> protect against any services that can't stop before we restart (warning this kills all Java instances running as 'jboss' user)</span><span style="color: #008000; ">
</span><span style="color: #000000; ">  sudo </span><span style="color: #000000; ">-</span><span style="color: #000000; ">u jboss killall java
  start
}

case </span><span style="color: #800000; ">&quot;</span><span style="color: #800000; ">$1</span><span style="color: #800000; ">&quot;</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">in</span><span style="color: #000000; ">
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
  </span><span style="color: #000000; ">*</span><span style="color: #000000; ">)
  echo </span><span style="color: #800000; ">&quot;</span><span style="color: #800000; ">Usage: jboss {start|stop|restart}</span><span style="color: #800000; ">&quot;</span><span style="color: #000000; ">
  exit </span><span style="color: #000000; ">1</span><span style="color: #000000; ">
esac

exit 0
</span></pre>
</div>
<p>Hat man f&#252;r den ersten Test keinen User &#8216;jboss&#8217; oder m&#246;chte den JBoss unter dem User &#8216;root&#8217; laufen lassen einfach die Zeile <span class="code">sudo -u jboss ..</span> mit # auskommentieren und die darunter gelistete Zeile einkommentieren.</p>
<p>Jetzt fehlt noch das Hinzuf&#252;gen des Startscriptes zu dem Bootprozess, so dass der JBoss mit jedem Serverstart auch automatisch gestartet wird. Der Teil ist optional, denn vielleicht m&#246;chte der ein oder andere den JBoss immer per Hand starten.</p>
<p>Unter Suse wird das Startscript mit dem Kommando <span class="code">chkconfic &lt;scriptname&gt; on</span> hinzuf&#252;gen:<br />
<code>chkconfig jboss422 on</code><br />
Erstellt automatisch die Symlinks und aktiviert das Startscript</p>
<p>Unter Debian wie folgt:<br />
<code>update-rc.d jboss422 defaults</code><br />
Erstellt automatisch die notwendigen Symlinks.</p>
]]></content:encoded>
			<wfw:commentRss>http://javathreads.de/2009/02/jboss-as-unter-linux-automatisch-beim-booten-starten/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

