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

<channel>
	<title>Eclipse Stuff</title>
	<atom:link href="http://splitshade.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://splitshade.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 10 Nov 2009 20:26:56 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='splitshade.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/eac75ed6675e5c921ec2e7b0f0043b10?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Eclipse Stuff</title>
		<link>http://splitshade.wordpress.com</link>
	</image>
			<item>
		<title>W-JAX am Dienstag 10.11.</title>
		<link>http://splitshade.wordpress.com/2009/11/10/w-jax-am-dienstag-10-11/</link>
		<comments>http://splitshade.wordpress.com/2009/11/10/w-jax-am-dienstag-10-11/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 20:26:20 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[cool eclipse]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=274</guid>
		<description><![CDATA[Resumée W-JAX vom 10.11
Da dies mein erster Besuch auf der W-JAX war, war ich natürlich ordentlich gespannt, wie die einzelnen Sessions wohl ablaufen werden.
Eröffnet wurde der Tag  mit einer Keynote von Ted Newark, der etwas provokative Titel „Why the next five years will be about languages“ liess schon einiges Versprechen.
Ich sage mal, ich habe [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=274&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } -->Resumée W-JAX vom 10.11</p>
<p>Da dies mein erster Besuch auf der W-JAX war, war ich natürlich ordentlich gespannt, wie die einzelnen Sessions wohl ablaufen werden.</p>
<p>Eröffnet wurde der Tag  mit einer Keynote von Ted Newark, der etwas provokative Titel „Why the next five years will be about languages“ liess schon einiges Versprechen.</p>
<p>Ich sage mal, ich habe selten einen so kompetenten Speaker wie Ted erlebt, mit Wortwitz und Eloquenz konnte er mich durchaus überzeugen.</p>
<p>Idee hinter der Keynote war hauptsächlich, herauszuarbeiten wieso das Thema Languages die letzten paar Jahre (Jahrzehnte?) nicht wirklich relevant für das tägliche Business war.</p>
<p>Die Essenz der Aussage von Ted hierauf war, das Sprachen typischerweise im akademischen Bereich entwickelt werden. Der Fokus einer akademischen Arbeit ist üblicherweise aber der, einer „akademisches“ Problem zu lösen. Ist dieses akademische Problem gelöst, verliert sich das Interesse an der Weiterentwicklung dieser Sprache in den meisten Fällen leider sehr schnell.</p>
<p>Versuchte man also früher, als Entwickler eine „neue“ Sprache zu verwenden, stiess man sehr schnell an die Problematik, dass die Funktionalität einer Sprache über diese spezifische Problemstellung hinaus dürftig, wenn überhaupt vorhanden war (humoristisches, leicht übertriebenes Beispiel von Ted war die Frage, wie greife ich in einer hypotetischen Sprache auf eine relationale Datenbank zu? Die Antwort hierauf, „Relational Databases? I never heard of this new Thing??“. Es herrscht wohl die Meinung vor, dass Sprachen üblicherweise von Professoren entwickelt werden, die mindestens ein Jahrzehnt nicht mehr draussen in Projekten waren;-).</p>
<p>Heute scheint es möglich zu sein, seine eigene „einfache“ Sprache innerhalb von einem Tag zu entwickeln, und zwar nicht von Akademikern, sondern vom Standardentwickler wie auch ich einer bin. Eingie Beispiele zu neuen Sprachen, die natürlich zur Sprache kamen waren Groovy, Ruby, Scala etc. Insgesamt stimmte die Keynote auf einen erfolgreichen Tag ein.</p>
<p>Die zweite Session die ich besucht habe war geleitet von … Hierbei ging es darum, die Neuigkeiten in JEE6 gegenüber JEE5 und sogar J2ee herauszuarbeiten. Der Vortragsstil des Referenten ist als durchaus „nüchtern“ zu beschreiben, da wünsche ich mir doch ein wenig mehr Enthusiasmus, nichts desto trotz war es für mich interessant, mal zu hören, was denn alles so zu kommen scheint. (Ich habe in meiner täglichen Arbeit eher weniger mit EJBs etc.. zu tun, deswegen muss ich leider eingestehen dass ich hier nicht mehr so ganz auf dem laufenden bin).</p>
<p>Der Referent berichtete aus seinem täglichen Projektgeschäft und speziell von einem Projekt zur Erstellung eines FTS ( Führerlosen Transportsystems auf Basis von EJB und Java, als Frontend kam ein Swing Client zum Einsatz).</p>
<p>Meiner Ansicht nach interessante Änderungen die mit EJB 3.1 komme sind:</p>
<ol>
<li>@Singleton-Annotation : hierbei 	bietet die Spec die Möglichkeit, eine EJB wirklich nur einmal (pro 	JVM) zur Verfügung zu stellen. Könnte sich durchaus eigenen, um 	Applicationsettings einmalig global zu setzen. Hieraus ergeben sich 	natürlich recht interessante Multithreadingproblematiken, was ist 	zum Beispiel, wenn mehrere Clients gleichzeit auf die Singleton 	Instanz zugreifen? Hier bietet die Spec einigre interessante 	Annotations, mit denen das Locking geregelt werden kann (@Lock(READ 	oder WRITE) oder @AccessTimeout.</li>
<li>Endlich, standardisierte 	JNDI-Namen für EJBs , und zwar Herstellerunabhängig nach dem 	Pattern java:global/&lt;app&gt;/&lt;module&gt;/beanImpl:Interface, 	keine Ahnung wieso das nicht schon früher kam.</li>
<li>Timerservice (@Timeout, @Schedule 	etc., müsste man sich mal im Detail anschauen)</li>
<li>@Asynchronous, wir haben jetzt die 	Möglichkeit, eine Session-Bean-Methode asynchron auszuführen, d.h. 	Die Methode kehrt sofort zurück und liefert bei Bedarf ein Future 	(JDK 1.5), mit dem das Ergebnis abgefragt werden kann.</li>
<li>Die Möglichkeit, einen 	EJBContainer lokal programmatisch durchzustarten (für 	beispielsweise UnitTests : EJBContainer.createEJBContainer(), über 	diesen bekommt man beispielsweise einen Context, mit dem alle EJBs 	abgefragt werden können). Extrem cooles Feature!!</li>
<li>Man braucht keine Interfaces mehr 	(@LocalBean)</li>
</ol>
<p>Container die EJB3.1 aktuell schon unterstützen sind Glassfish V3, Jboss 5.2 und OpenEJB.</p>
<p>Die dritte Session des Tages trug den verheissungsvollen Titel „EJB in the Large“. Die Referentin war direkt aus Brasilien eingeflogen, um aus Ihrer täglichen Arbeit zu berichten. Das Projekt das hier beschrieben wurde ist als durchaus eindrucksvoll zu bewerten. Es wurde beschrieben, wie ein „Health Care System“ für die Stadt „Sao Paolo“ in sage und schreibe 9 Monaten entwickelt wurde, und zwar auf Basis von EJB 2.1, Entity Beans, Xdoclet, Drools, Luntbuild und CrossDB. Das System konnte täglich ca. 1 Mio Anfragen bearbeiten, was zusammen mit der eingesetzten Technologie schon beinahe Sagenhaft ist.</p>
<p>Auch die Ansätze die die Referentin (gleichzeitig Projektleiterin) gewählt hat, waren sehr interessant. Insgesamt waren in dem Projekt ca. 70 Entwickler beschäftigt aufgeteilt in 3 Teams, teilweise EJB Experten, teilweise aber auch nicht. Am Ende bestand das Projekt aus 600!! EJB-Instanzen (für jeden Use-Case wurde eine eigene SessionFacade erstellt). Der Persistenzlayer wurde mit EntityBeans realisiert. (Aber nicht komplett, denn beispielsweise wurde aus Performancegründen komplett auf das Queriying mittels EntityBeans verzichtet. Dies wurde separat mit einem SQL-Framework CrossDB erstellt).</p>
<p>Der Vortrag an sich konnte leider wenig beeindrucken. Abgerundet wurde das Ganze von einem „Film“ gedreht von Sun, der ca. 10 Minuten dauerte. Ich habe derweil versucht, meine Eindrücke ordentlich zusammenzuschreiben;-).</p>
<p>Der Vortrag bestand eigentlich aus zwei Teilen. Im zweiten Teil sollte die Migration auf EJB 3 beschrieben werden, aufgrund des eher dürftigen ersten Teils habe ich mich aber entschlossen, den zweiten Teil auszulassen.</p>
<p>Als nächstes kam die Keynote von Adam Bien („The Future of Enterprise Java“). Gewohnt souverän versuchte hier Adam Bien die rosige Zukunft von Enterprise Java zu bestätigen, und das prognostizierte Aussterben von EJB zu widerlegen;-).</p>
<p>Das Fazit, dem ich mich persönlich durchaus anschliesse, EJB wird in nächster Zeit nicht aussterben! Good news!</p>
<p>Der nächste Workshop hatte den Titel „JPA under the Hood“ und wurde gehalten von Alois Reitbauer.</p>
<p>Kern des Workshops sollte es sein, herauszuarbeiten, wie sich verschiedene Persistenzframeworks  für bestimmte Use-Cases verhalten (untersucht hat der Speaker Hibernate, EclipseLink und OpenJPA). Hierbei wurden u.a. die UseCases ObjectCache und QueryCache betrachtet.</p>
<p>Sehr interessant war für mich hier die vom Speaker eingesetzte Software. Die zentrale Frage hierbei war, kenne ich mein System wirklich, wenn ich nur die Interfaces kenne? (JPA? Hallo?).</p>
<p>Erste Frage: Das Query „select User u where u.id=1“</p>
<p>Essenz: Niemals feste Parameter in Queries kodieren, denn diese Queries können nicht im Querye-Cache landen und werden vom ORM-Framework immer und immer wieder ausgeführt.</p>
<p>Interessanterweise checkt sowohl OpenJPA als auch EclipseLink, dass es den Parameter hierzu ersetzen muss (gespeichert wird also die Query „select User u where u.id=?“.</p>
<p>Hibernate hingegen setzt tatsächlich die nicht parametrisierte Query ab.</p>
<p>Zweite Frage:</p>
<p>Was passiert, wenn der User geladen wird, eine Änderung in der Datenbank gemacht wird und dann diesselbe Query erneut abgesetzt wird?</p>
<p>Antwort: Die Änderungen aus der Datenbank werden nicht geladen, weil die Persistenzframeworks auf Objektidentität prüfen und bemerken, das der User mit der bestimmten ID bereits im Cache vorhanden ist. Durchaus überrsaschend, wenn auch logisch.</p>
<p>Dritte Frage:</p>
<p>Ist „getReference“ tatsächlich sinnvoll? GetReference() bietet die Möglichkeit, eine Referenz aus einer Klasse zu laden, ohne das die eigentliche Klasse wirklich geladen werden muss. (Beispielsweise kann man eine AdressEntity eines Users laden, ohne das der User komplett geladen werden muss).</p>
<p>Ergebnis: Ja, das funktioniert sowohl in Hibernate als auf OpenJPA. EclipseLink lädt leider standardmässig trotzdem alles aus der Datenbank, vorsichtshalber.</p>
<p>Vierte Frage:</p>
<p>Wieviele Connections werden erzeugt, wenn man in einem Loop ständig neue Sessions anfordert?</p>
<p>Antwort: Ohne Transaktionen, eine. Mit Transaktionen erzeugt Hibernate für jede angeforderte Session eine eigene Connection (autsch!).</p>
<p>Eergebnis: Es wäre schön, wenn alle Persistenzframeworks einen gemeinsamen Defaultstandard hätten. Ist aber nicht der Fall&#8230;</p>
<p>Im nächsten Workshop ging es um die Specs JSR-299, 330 und 340. Der Referent war Werner Keil, leider habe ich bisher keinen so schlechten Vortrag gehört, deswegen habe ich die gesamte Session versucht, mein Wlan ans Laufen zu bekommen;-).</p>
<p>Die Letzte Session war definitv das Highlight des Tages : Live on Stage Jave EE 6 Hacking mit Adam Bien.</p>
<p>Unter anderem wurden einige SessionBeans erstellt, Restful-Zugriff, JSF 2.0 Seiten, JPA Entities etc.. immer wieder ein Spass, Adam zuzuschauen.</p>
<p>Bin schon gespannt, was morgen kommt.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/274/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/274/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/274/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=274&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/11/10/w-jax-am-dienstag-10-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
		<item>
		<title>W-JAX in München</title>
		<link>http://splitshade.wordpress.com/2009/11/10/w-jax-in-munchen/</link>
		<comments>http://splitshade.wordpress.com/2009/11/10/w-jax-in-munchen/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 06:32:20 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[cool eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[W-JAX]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/2009/11/10/w-jax-in-munchen/</guid>
		<description><![CDATA[Heute und morgen bin ich glücklicher Inhaber einer Eintrittkarte für die W-JAX 2009 in München.
Es dürften zwei vielversprechende Tage werden, ich werde hier natürlich berichten.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=273&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Heute und morgen bin ich glücklicher Inhaber einer Eintrittkarte für die W-JAX 2009 in München.<br />
Es dürften zwei vielversprechende Tage werden, ich werde hier natürlich berichten.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/273/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=273&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/11/10/w-jax-in-munchen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
		<item>
		<title>Exzellentes P2-Tutorial</title>
		<link>http://splitshade.wordpress.com/2009/10/25/exzellentes-p2-tutorial/</link>
		<comments>http://splitshade.wordpress.com/2009/10/25/exzellentes-p2-tutorial/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 19:43:34 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[cool eclipse]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=268</guid>
		<description><![CDATA[Ein wirklich exzellentes Tutorials über P2 gibt hier.
VIelen Dank an Ralf Ebert für diesen Beitrag.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=268&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ein wirklich exzellentes Tutorials über P2 gibt <a href="http://www.ralfebert.de/blog/eclipsercp/p2_updates_tutorial/#22">hier</a>.</p>
<p>VIelen Dank an Ralf Ebert für diesen Beitrag.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/268/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/268/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/268/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=268&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/10/25/exzellentes-p2-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
		<item>
		<title>Toolbar in einer Form mit Commands bevölkern</title>
		<link>http://splitshade.wordpress.com/2009/10/12/toolbar-in-einer-form-mit-commands-bevolkern/</link>
		<comments>http://splitshade.wordpress.com/2009/10/12/toolbar-in-einer-form-mit-commands-bevolkern/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 19:05:40 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[cool eclipse]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=262</guid>
		<description><![CDATA[Wieder 2 Stunden meines Lebens verschwendet, weil ich eine einzige Zeile vergessen habe,
es ist zum ausrasten, damit mir das nicht nochmal passiert, soll das Ganze hier dokumentiert werden. Was wir machen möchten ist die Bevölkerung einer FormToolbar mit einem deklarativ beschriebenen Menu.
Das Ganze soll also über Commands funktionieren.

Hierfür definieren wir zunächst 2 Commands nebst irgendwelchen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=262&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Wieder 2 Stunden meines Lebens verschwendet, weil ich eine einzige Zeile vergessen habe,</p>
<p>es ist zum ausrasten, damit mir das nicht nochmal passiert, soll das Ganze hier dokumentiert werden. Was wir machen möchten ist die Bevölkerung einer FormToolbar mit einem deklarativ beschriebenen Menu.</p>
<p>Das Ganze soll also über Commands funktionieren.</p>
<p><img class="alignnone size-full wp-image-263" title="toolbar" src="http://splitshade.files.wordpress.com/2009/10/toolbar.jpg?w=642&#038;h=336" alt="toolbar" width="642" height="336" /></p>
<p>Hierfür definieren wir zunächst 2 Commands nebst irgendwelchen Handlern:</p>
<p>&lt;command  commandId=&#8220;playmp3&#8243;  icon=&#8220;icons/Button-Play-32&#215;32.png&#8220;  label=&#8220;Play&#8220;  style=&#8220;push&#8220;&gt;<br />
&lt;command  commandId=&#8220;stopmp3&#8243;  icon=&#8220;icons/Button-Stop-32&#215;32.png&#8220;  label=&#8220;Stop&#8220;  style=&#8220;push&#8220;/&gt;</p>
<p>Dann definieren wir die Toolbar-Menucontribution, die in der FormToolbar angezeigt werden soll:</p>
<p>&lt;menuContribution  locationURI=&#8220;popup:myMp3ToolBar&#8220;&gt;<br />
&lt;command  commandId=&#8220;playmp3&#8243;  icon=&#8220;icons/Button-Play-32&#215;32.png&#8220;  label=&#8220;Play&#8220;  style=&#8220;push&#8220;&gt;<br />
&lt;/command&gt;<br />
&lt;command  commandId=&#8220;stopmp3&#8243;  icon=&#8220;icons/Button-Stop-32&#215;32.png&#8220;  label=&#8220;Stop&#8220;  style=&#8220;push&#8220;&gt;<br />
&lt;/command&gt;</p>
<p>&lt;/menuContribution&gt;</p>
<p>Um dieses deklarativ beschrieben Menu nun in einer FormToolbar anzuzeigen, braucht mal folgendes Codefragment:</p>
<p>&#8230;</p>
<p>ToolBarManager manager = (ToolBarManager) sForm.getToolBarManager();<br />
toolkit.decorateFormHeading(sForm.getForm());<br />
IMenuService menuService = (IMenuService)getSite().getService(IMenuService.class);<br />
menuService.populateContributionManager(manager, &#8222;<strong>toolbar:myMp3Toolbar</strong>&#8222;);<br />
<strong>manager.update(true);</strong><br />
Composite container = sForm.getBody();</p>
<p>Die in fetten Lettern  beschriebene ID ist die genau die ID die wie zuvor definiert haben in der plugin.xml.</p>
<p><strong>Achtung, der Grund für diesen Blogeintrag, vergisst man die zweite fette Zeile, passiert nichts! keine Fehlermeldung kein gar nichts, einfach nichts! Manchmal hasse ich Eclipse.</strong></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/262/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/262/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=262&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/10/12/toolbar-in-einer-form-mit-commands-bevolkern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>

		<media:content url="http://splitshade.files.wordpress.com/2009/10/toolbar.jpg" medium="image">
			<media:title type="html">toolbar</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven local Repository</title>
		<link>http://splitshade.wordpress.com/2009/09/18/maven-local-repository/</link>
		<comments>http://splitshade.wordpress.com/2009/09/18/maven-local-repository/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 23:00:12 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=258</guid>
		<description><![CDATA[Nur so als Tipp am Rande,
ein lokales Repository konfiguriert man entweder in der ~/.m2/conf/settings.xml oder in der $M2_HOME/conf/settings.xml.
Das GAnze schaut so aus:
&#60;localRepository&#62;G:/development/libs/maven_repo/&#60;/localRepository&#62;
und nicht so:
&#60;localRepository&#62;G:/development/libs/maven_repo&#60;/localRepository&#62;
Man beachte den / am Ende, der Spass hat mich einen ganzen Abend gekostet um den Build wieder zum Laufen zu kriegen. Zumindest sind jetzt alle Poms wieder aufgeräumt;-)
    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=258&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Nur so als Tipp am Rande,</p>
<p>ein lokales Repository konfiguriert man entweder in der ~/.m2/conf/settings.xml oder in der $M2_HOME/conf/settings.xml.</p>
<p>Das GAnze schaut so aus:</p>
<p>&lt;localRepository&gt;G:/development/libs/maven_repo/&lt;/localRepository&gt;</p>
<p>und <strong>nicht </strong>so:</p>
<p>&lt;localRepository&gt;G:/development/libs/maven_repo&lt;/localRepository&gt;</p>
<p>Man beachte den / am Ende, der Spass hat mich einen ganzen Abend gekostet um den Build wieder zum Laufen zu kriegen. Zumindest sind jetzt alle Poms wieder aufgeräumt;-)</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/258/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/258/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/258/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=258&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/09/18/maven-local-repository/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
		<item>
		<title>Linux  brauchbare Befehle</title>
		<link>http://splitshade.wordpress.com/2009/09/17/linux-brauchbare-befehle/</link>
		<comments>http://splitshade.wordpress.com/2009/09/17/linux-brauchbare-befehle/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 19:26:18 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=254</guid>
		<description><![CDATA[Man kann Befehle mit Hilfe eines ; aneinanderketten:
./startup.sh ; tail -f ~/log
tail -f ist ideal, um Logfiles zu prüfen, da hier jeder neue Eintrag einfach an das Ende der Ausgabe angehangen wird.

       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=254&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Man kann Befehle mit Hilfe eines ; aneinanderketten:</p>
<p>./startup.sh ; tail -f ~/log</p>
<p>tail -f ist ideal, um Logfiles zu prüfen, da hier jeder neue Eintrag einfach an das Ende der Ausgabe angehangen wird.</p>
<p></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=254&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/09/17/linux-brauchbare-befehle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Guice</title>
		<link>http://splitshade.wordpress.com/2009/08/26/google-guice/</link>
		<comments>http://splitshade.wordpress.com/2009/08/26/google-guice/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 19:55:24 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=248</guid>
		<description><![CDATA[Ich habe mich heute mal mit Google Guice beschäftigt und das will ich hier mal kurz zusammenfassen.
Zunächst mal &#8211; Google Guice ist ein sehr leichtgewichtiges DI-Framework. Leichtgewichtig ist hier Programm.
Das Ganze ist sehr übersichtlich gestaltet und macht einen recht sympathischen Eindruck.
Ein erstes Beispiel hat man nach spätestens 5min am Laufen.
Wichtiges Infos hierzu gibt es hier
Wozu [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=248&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ich habe mich heute mal mit Google Guice beschäftigt und das will ich hier mal kurz zusammenfassen.</p>
<p>Zunächst mal &#8211; Google Guice ist ein sehr leichtgewichtiges DI-Framework. Leichtgewichtig ist hier Programm.</p>
<p>Das Ganze ist sehr übersichtlich gestaltet und macht einen recht sympathischen Eindruck.</p>
<p>Ein erstes Beispiel hat man nach spätestens 5min am Laufen.</p>
<p>Wichtiges Infos hierzu gibt es <a href="http://code.google.com/p/google-guice/">hier</a></p>
<p>Wozu braucht man jetzt aber DI?</p>
<p>Die Antworten, die mir hier am wichtigsten sind sind decoupling und testability. Decoupling deswegen weil meine Anwendungsmodule (Implementierungen etc.. abhängig davon, wie die Anwendung aufgebaut ist) nicht mehr direkt voneinander abhängig sind, sondern die entsprechenden Implementierungen meiner Interfaces (IService&#8230;) von GUICE typischerweise via Constructorinjection injeziert bekommen. Genug der Theorie, direkt ein paar Codezeilen.. die Konfiguration von Guice erfolgt anders als beispielsweise in Spring nicht über externe XML-Dateien oder ähnliches sondern komplett in Java unter starker Verwendung von Annotations und Generics (sehr schön gelöst).</p>
<p>Eine typische Konfiguration könnte so aussehen:</p>
<p>public class GuiceModule implements Module {</p>
<p>@Override<br />
public void configure(Binder bind) {<br />
bind.bind(IService.class).annotatedWith(ServiceImpl2.class).to(ServiceImpl.class);<br />
bind.bind(IService.class).to(de.md.client.impl.ServiceImpl2.class);<br />
bind.bind(String.class).annotatedWith(Names.named(&#8222;test&#8220;)).toInstance(&#8222;MeinString&#8220;);<br />
}</p>
<p>}</p>
<p>Das Ganze arbeitet also mit Fluent-Interfaces &#8211; sehr schön! &#8211; das Beispiel hier bindet die Implementierung ServiceImpl2 an das Interface &#8222;IService&#8220;. Wann immer in meiner Applikation also jetzt ein IService irgendwo verwendet wird, injeziert mir Guice hier ein ServiceImpl2.</p>
<p>Man hat auch die Möglichkeit, mehrere Implementierungen an ein Interface zu binden. Hierfür muss man als Entwickler eigene Annotations schreiben, damit Guice irgendwie mitgekommt, was wo gebraucht wird, eine einfache Annotation die für Guice vollkommen ausreichend ist, könnte so aussehen:</p>
<p><strong>@Retention(RetentionPolicy.RUNTIME)<br />
@BindingAnnotation<br />
public @interface ServceImpl {</p>
<p>}</strong></p>
<p>Die<strong> Annotation @BindingAnnotation </strong>kommt von Guice und zeigt an, das es sich hier tatsächlich um eine Annotation handelt, die für ein Binding definiert worden ist.<strong> </strong></p>
<p>Die Verwendung ist denkbar einfach, denken wir uns einen einfache CLient aus, der folgenden Konstruktor hat.</p>
<p><strong>@Inject<br />
public Client(@ServiceImpl2 IService service, @ServceImpl IService service2) {<br />
this.service = service;<br />
this.service2 = service2;<br />
}</strong></p>
<p>Mit den Annotations @ServiceImpl2 und @ServiceImpl kann Guice mitgeteilt werden, welche Instanz denn jetzt wirklich injeziert werden soll &#8211; wieder sehr schön gelöst.</p>
<p>Weiterhin hat man die Möglichkeit, Namen zu vergeben, und Instanzen direkt an eine benannte Instanz zu injezieren.</p>
<p><strong>@Inject @Named(&#8222;test&#8220;) private String s;</strong></p>
<p>Schaut man sich das Module ganz oben nochmals an, sieht man, das Guice hier automatisch den String &#8222;MeinString&#8220; injeziert. Sauber gemacht.</p>
<p>Auf einen ersten Blick wirkt Guice auf mich sehr sympatisch, ich werde auf jedenfall noch den einen oder anderen Blick da rein werfen, besonders intersesiert mich die Möglichkeit, Guice in Verbindung mit OSGi zu verwenden.</p>
<p><strong><br />
</strong></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/248/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/248/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/248/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=248&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/08/26/google-guice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
		<item>
		<title>Glassfish V3 on OSGi</title>
		<link>http://splitshade.wordpress.com/2009/07/10/glassfish-v3-on-osgi/</link>
		<comments>http://splitshade.wordpress.com/2009/07/10/glassfish-v3-on-osgi/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 19:10:44 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[cool eclipse]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=240</guid>
		<description><![CDATA[Zu Beginn einige Glassfish-Facts, die nicht jeder kennt (zumindest ich nicht;))
Glassfish kommt mit einer Embedded-Datenbank (JavaDB) &#8211; kann gestartet werden mit
glassfish/bin/asadmin start-database
Hochinteressant, mittlerweile dürfte wohl jeder mitbekommen haben, das Glassfish in der V3 auf einem OSGi-Container (Felix) aufbaut.
Mir war bisher zwar klar, das sich hierdurch für Glassfish einige Vorteile ergeben (Management, Dynamik), aber ich hatte [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=240&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Zu Beginn einige Glassfish-Facts, die nicht jeder kennt (zumindest ich nicht;))</p>
<p>Glassfish kommt mit einer Embedded-Datenbank (JavaDB) &#8211; kann gestartet werden mit</p>
<pre>glassfish/bin/asadmin start-database</pre>
<p>Hochinteressant, mittlerweile dürfte wohl jeder mitbekommen haben, das Glassfish in der V3 auf einem OSGi-Container (Felix) aufbaut.</p>
<p>Mir war bisher zwar klar, das sich hierdurch für Glassfish einige Vorteile ergeben (Management, Dynamik), aber ich hatte keine Ahnung, inwiefern das für mich als Entwickler interessant sein kann.</p>
<p>Zunächst mal hier einige Infos die hier weiterhelfen:</p>
<p>Die OSGi-Konsole bietet einen Remote-Schnittstelle an, wenn der Glassfish gestartet wurde, kann mit &#8222;telnet localhost 6666&#8243; eine Verbindung zur Konsole aufgebaut werden</p>
<p><img class="alignnone size-full wp-image-241" title="Unbenannt-2" src="http://splitshade.files.wordpress.com/2009/07/unbenannt-2.jpg?w=678&#038;h=348" alt="Unbenannt-2" width="678" height="348" /></p>
<p>Das allein ist zwar definitiv interessant, reicht aber nicht.</p>
<p>Ein Entwickler von Glassfish betreibt hierzu einen wirklich hochinteressanten Blog, in welchem beispielsweise ein Eintrag vorhanden ist, der sich damit beschäftigt, ein OSGi-Bundle als WAR File zu deployen. Denkt man sichjetzt noch die Möglichkeit, OSGi-Services zu verwenden um Funktionalitäten Horizontal zwischen Applikationen anzubieten, dann tun sich hier schöne neue Welten auf.</p>
<p>Die Blogeinträge hierzu findet man hier:</p>
<p><a href="http://weblogs.java.net/blog/ss141213/archive/2009/06/osgi_enabled_we.html">http://weblogs.java.net/blog/ss141213/archive/2009/06/osgi_enabled_we.html</a></p>
<p><a href="http://weblogs.java.net/blog/ss141213/archive/2009/06/developing_hybr.html">http://weblogs.java.net/blog/ss141213/archive/2009/06/developing_hybr.html</a></p>
<p><a href="http://weblogs.java.net/blog/ss141213/archive/2009/05/using_felix_web.html">http://weblogs.java.net/blog/ss141213/archive/2009/05/using_felix_web.html</a></p>
<p>Ein Blick lohnt sich auf jedenfall, wenn jemand hier bereits interessante Erfahrungen gemacht hat würde ich mich über Kommentare freuen.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/240/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/240/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=240&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/07/10/glassfish-v3-on-osgi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>

		<media:content url="http://splitshade.files.wordpress.com/2009/07/unbenannt-2.jpg" medium="image">
			<media:title type="html">Unbenannt-2</media:title>
		</media:content>
	</item>
		<item>
		<title>Dependency auf lokale EJB</title>
		<link>http://splitshade.wordpress.com/2009/07/09/dependency-auf-lokale-ejb/</link>
		<comments>http://splitshade.wordpress.com/2009/07/09/dependency-auf-lokale-ejb/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 20:02:48 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/?p=237</guid>
		<description><![CDATA[Da scheinbar die Standard-Maven-Repositories keine API für EJB3 unterstützen, kann man die lokalen Jars aus seiner Appserverinstallation so verwenden:
&#60;dependencies&#62;
&#60;dependency&#62;
&#60;groupId&#62;glassfish&#60;/groupId&#62;
&#60;artifactId&#62;javax.ejb&#60;/artifactId&#62;
&#60;version&#62;LATEST&#60;/version&#62;
&#60;scope&#62;system&#60;/scope&#62;
&#60;systemPath&#62;${glassfish.home}/modules/javax.ejb.jar&#60;/systemPath&#62;
&#60;/dependency&#62;
&#60;dependency&#62;
&#60;groupId&#62;org.apache.openejb&#60;/groupId&#62;
&#60;artifactId&#62;api&#60;/artifactId&#62;
&#60;version&#62;3.1.1&#60;/version&#62;
&#60;type&#62;pom&#60;/type&#62;
&#60;scope&#62;compile&#60;/scope&#62;
&#60;/dependency&#62;
&#60;/dependencies&#62;
Natürlich muss hierfür zusätzlich die Property glassfish.home deklariert werden.
Um EJB3 verwenden zu können, muss dies Maven noch so mitgeteilt werden:
&#60;build&#62;
    &#60;plugins&#62;
        &#60;plugin&#62;
      [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=237&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Da scheinbar die Standard-Maven-Repositories keine API für EJB3 unterstützen, kann man die lokalen Jars aus seiner Appserverinstallation so verwenden:</p>
<p>&lt;dependencies&gt;<br />
&lt;dependency&gt;<br />
&lt;groupId&gt;glassfish&lt;/groupId&gt;<br />
&lt;artifactId&gt;javax.ejb&lt;/artifactId&gt;<br />
&lt;version&gt;LATEST&lt;/version&gt;<br />
&lt;scope&gt;system&lt;/scope&gt;<br />
&lt;systemPath&gt;${glassfish.home}/modules/javax.ejb.jar&lt;/systemPath&gt;<br />
&lt;/dependency&gt;<br />
&lt;dependency&gt;<br />
&lt;groupId&gt;org.apache.openejb&lt;/groupId&gt;<br />
&lt;artifactId&gt;api&lt;/artifactId&gt;<br />
&lt;version&gt;3.1.1&lt;/version&gt;<br />
&lt;type&gt;pom&lt;/type&gt;<br />
&lt;scope&gt;compile&lt;/scope&gt;<br />
&lt;/dependency&gt;<br />
&lt;/dependencies&gt;</p>
<p>Natürlich muss hierfür zusätzlich die Property glassfish.home deklariert werden.</p>
<p>Um EJB3 verwenden zu können, muss dies Maven noch so mitgeteilt werden:</p>
<pre>&lt;build&gt;
    &lt;plugins&gt;
        &lt;plugin&gt;
            &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
            &lt;artifactId&gt;maven-ejb-plugin&lt;/artifactId&gt;
            &lt;configuration&gt;
                &lt;ejbVersion&gt;3.0&lt;/ejbVersion&gt;
            &lt;/configuration&gt;
        &lt;/plugin&gt;
    &lt;/plugins&gt;
&lt;/build&gt;
Zusätzlich sollten die Compiler Settings auf 1.5 geeicht werden:
&lt;plugin&gt;
 &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
 &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;
 &lt;version&gt;2.0.2&lt;/version&gt;
 &lt;configuration&gt;
 &lt;source&gt;1.5&lt;/source&gt;
 &lt;target&gt;1.5&lt;/target&gt;
 &lt;/configuration&gt;
 &lt;/plugin&gt;

Um einen Client zu generieren, einfach folgenden Parameter für das Maven EJB Plugin setzen.
<pre> &lt;configuration&gt;
          &lt;!-- this is false by default --&gt;
          &lt;generateClient&gt;true&lt;/generateClient&gt;
        &lt;/configuration&gt;</pre>
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/237/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/237/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/237/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=237&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/07/09/dependency-auf-lokale-ejb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
		<item>
		<title>Debugging für OSGi Declarative Services</title>
		<link>http://splitshade.wordpress.com/2009/07/08/debugging-fur-osgi-declarative-services/</link>
		<comments>http://splitshade.wordpress.com/2009/07/08/debugging-fur-osgi-declarative-services/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 18:12:15 +0000</pubDate>
		<dc:creator>splitshade</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://splitshade.wordpress.com/2009/07/08/debugging-fur-osgi-declarative-services/</guid>
		<description><![CDATA[Nützlicher Tipp:
Um das Logging für die OSGi DS zu aktivieren einfach folgende beiden Properties als System-Properties setzen (vmargs):
-Dequinox.ds.debug=true 
-Dequinox.ds.print=true (Log-Infos auch auf der Konsole, ansonsten werden diese nur auf den OSGi-Logservice ausgegeben)

       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=236&subd=splitshade&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Nützlicher Tipp:</p>
<p>Um das Logging für die OSGi DS zu aktivieren einfach folgende beiden Properties als System-Properties setzen (vmargs):</p>
<h1><span>-Dequinox.ds.debug=true </span></h1>
<h1><span>-Dequinox.ds.print=true (Log-Infos auch auf der Konsole, ansonsten werden diese nur auf den OSGi-Logservice ausgegeben)<br />
</span></h1>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/splitshade.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/splitshade.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/splitshade.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/splitshade.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/splitshade.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/splitshade.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/splitshade.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/splitshade.wordpress.com/236/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/splitshade.wordpress.com/236/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/splitshade.wordpress.com/236/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=splitshade.wordpress.com&blog=5189437&post=236&subd=splitshade&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://splitshade.wordpress.com/2009/07/08/debugging-fur-osgi-declarative-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0f446b406cac4629cd7ddf73607054b5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">splitshade</media:title>
		</media:content>
	</item>
	</channel>
</rss>