<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Kommentare zu: Eine EJB als JMX MBean f&#252;r JBoss AS erstellen</title>
	<atom:link href="http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/feed/" rel="self" type="application/rss+xml" />
	<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/</link>
	<description>Blog rund um Java und Web Entwicklung</description>
	<lastBuildDate>Mon, 14 May 2012 08:58:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Von: Markus Kühle</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-415</link>
		<dc:creator>Markus Kühle</dc:creator>
		<pubDate>Tue, 16 Feb 2010 12:10:07 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-415</guid>
		<description>Freut mich sehr zu h&#246;ren! =)</description>
		<content:encoded><![CDATA[<p>Freut mich sehr zu h&#246;ren! =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jens P.</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-412</link>
		<dc:creator>Jens P.</dc:creator>
		<pubDate>Fri, 12 Feb 2010 18:39:20 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-412</guid>
		<description>Hallo Markus,

besten Dank wiedermal f&#252;r deine informativen Artikel.

Ich wollte heute eine ServiceBean mit Kommentaren versehen, habe dazu eine XML-Datei mit den passenden Kommentaren unter META-INF/mbean angelegt und diese Datei als xmbean in der Service-Annotation angegeben ... und mich dann gewundert, warum die Kommentare in der JMX-Konsole nicht sichtbar wurden.

Per Google habe ich mal wieder einen Artikel von Markus gefunden, man kennt den Autor ja ;-)

Und hier habe ich sofort die Antwort gefunden: Die @Management-Annotation muss daf&#252;r wieder weg, aha.

... und siehe da, es funktionierte auf Anhieb.

Danke und viele Gr&#252;&#223;e aus Frankfurt.</description>
		<content:encoded><![CDATA[<p>Hallo Markus,</p>
<p>besten Dank wiedermal f&#252;r deine informativen Artikel.</p>
<p>Ich wollte heute eine ServiceBean mit Kommentaren versehen, habe dazu eine XML-Datei mit den passenden Kommentaren unter META-INF/mbean angelegt und diese Datei als xmbean in der Service-Annotation angegeben &#8230; und mich dann gewundert, warum die Kommentare in der JMX-Konsole nicht sichtbar wurden.</p>
<p>Per Google habe ich mal wieder einen Artikel von Markus gefunden, man kennt den Autor ja ;-)</p>
<p>Und hier habe ich sofort die Antwort gefunden: Die @Management-Annotation muss daf&#252;r wieder weg, aha.</p>
<p>&#8230; und siehe da, es funktionierte auf Anhieb.</p>
<p>Danke und viele Gr&#252;&#223;e aus Frankfurt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Stefan</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-305</link>
		<dc:creator>Stefan</dc:creator>
		<pubDate>Fri, 05 Jun 2009 13:55:34 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-305</guid>
		<description>Hallo Markus,

danke f&#252;r Deinen tollen Artikel. Alles klappt so wie Du es beschrieben hast. Zwei Sachen sind mir bei der Umsetzung noch aufgefallen:

Gibt es auch die M&#246;glichkeit Attribute mit einem default Wert zu versehen (nicht im java-File)?
Es gibt die M&#246;glichkeit in der ...-xmBean.xml
in der Attribute Beschreibung ein  Tag anzugeben.
(s.u.) leider hat es keine Wirkung.

 
    Test Text.
    Text
    java.lang.String
     
         
   
  
 
Auch vermisse ich die Kontrolle des &#039;Lifecycles&#039; (create, start, etc). Diese Funktionen werden nur aufgerufen, wenn ich mit @Management arbeite, aber dann fehlen mir wieder die ausf&#252;hrlichen Beschreibungen in der JMX-Console.

Gibt es hierzu eine L&#246;sung?

Danke!

Gr&#252;&#223;e 
Stefan</description>
		<content:encoded><![CDATA[<p>Hallo Markus,</p>
<p>danke f&#252;r Deinen tollen Artikel. Alles klappt so wie Du es beschrieben hast. Zwei Sachen sind mir bei der Umsetzung noch aufgefallen:</p>
<p>Gibt es auch die M&#246;glichkeit Attribute mit einem default Wert zu versehen (nicht im java-File)?<br />
Es gibt die M&#246;glichkeit in der &#8230;-xmBean.xml<br />
in der Attribute Beschreibung ein  Tag anzugeben.<br />
(s.u.) leider hat es keine Wirkung.</p>
<p>    Test Text.<br />
    Text<br />
    java.lang.String</p>
<p>Auch vermisse ich die Kontrolle des &#8216;Lifecycles&#8217; (create, start, etc). Diese Funktionen werden nur aufgerufen, wenn ich mit @Management arbeite, aber dann fehlen mir wieder die ausf&#252;hrlichen Beschreibungen in der JMX-Console.</p>
<p>Gibt es hierzu eine L&#246;sung?</p>
<p>Danke!</p>
<p>Gr&#252;&#223;e<br />
Stefan</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jonas</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-197</link>
		<dc:creator>Jonas</dc:creator>
		<pubDate>Fri, 30 Jan 2009 16:27:38 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-197</guid>
		<description>Sorry, copy+paste Fehler.. Hier die richtige Variante:

&lt;code&gt;@Service&lt;/code&gt; funktioniert…
im JBoss 4 (auch) mit folgendem Import
&lt;code&gt;org.jboss.annotation.ejb.Service&lt;/code&gt;
im JBoss 5 aber NUR mit
&lt;code&gt;org.jboss.ejb3.annotation.Service&lt;/code&gt;

Mann, der JBoss kostet oft Nerven ;-)

HTH,
Jonas</description>
		<content:encoded><![CDATA[<p>Sorry, copy+paste Fehler.. Hier die richtige Variante:</p>
<p><code>@Service</code> funktioniert…<br />
im JBoss 4 (auch) mit folgendem Import<br />
<code>org.jboss.annotation.ejb.Service</code><br />
im JBoss 5 aber NUR mit<br />
<code>org.jboss.ejb3.annotation.Service</code></p>
<p>Mann, der JBoss kostet oft Nerven ;-)</p>
<p>HTH,<br />
Jonas</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Markus Kühle</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-195</link>
		<dc:creator>Markus Kühle</dc:creator>
		<pubDate>Fri, 30 Jan 2009 16:23:42 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-195</guid>
		<description>Hi Jonas,

vielen Dank, dass du die L&#246;sung auch noch hier pr&#228;sentierst! H&#228;tte erst n&#228;chste Woche geschafft mal mit dem JBoss 5 und der &lt;code&gt;@Service&lt;/code&gt; Annotation rumzuspielen..

[Edit] Jonas, habe mir erlaubt deine korrigierte Version in deinen uspr&#252;nglichen Kommentar einzubauen. Nochmal vielen Dank f&#252;r die L&#246;sung!

Gru&#223;
Markus</description>
		<content:encoded><![CDATA[<p>Hi Jonas,</p>
<p>vielen Dank, dass du die L&#246;sung auch noch hier pr&#228;sentierst! H&#228;tte erst n&#228;chste Woche geschafft mal mit dem JBoss 5 und der <code>@Service</code> Annotation rumzuspielen..</p>
<p>[Edit] Jonas, habe mir erlaubt deine korrigierte Version in deinen uspr&#252;nglichen Kommentar einzubauen. Nochmal vielen Dank f&#252;r die L&#246;sung!</p>
<p>Gru&#223;<br />
Markus</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jonas</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-194</link>
		<dc:creator>Jonas</dc:creator>
		<pubDate>Fri, 30 Jan 2009 16:19:39 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-194</guid>
		<description>Nach 2 Tagen Frust m&#246;chte ich euch die Aufl&#246;sung meines Problems, ein @Service Singleton in JBoss 5 zu verwenden, nicht vorenthalten:

@Service funktioniert...
im JBoss 4 (auch) mit folgendem Import
&lt;code&gt;org.jboss.annotation.ejb.Service&lt;/code&gt;
im JBoss 5 aber NUR mit
&lt;code&gt;org.jboss.ejb3.annotation.Service&lt;/code&gt;

Warum sind in den JBoss Libraries 2 Versionen enthalten frage ich mich?!
Ich hoffe, jemand anders liest das hier, bevor er sich &#228;rgert :-)

Jonas</description>
		<content:encoded><![CDATA[<p>Nach 2 Tagen Frust m&#246;chte ich euch die Aufl&#246;sung meines Problems, ein @Service Singleton in JBoss 5 zu verwenden, nicht vorenthalten:</p>
<p>@Service funktioniert&#8230;<br />
im JBoss 4 (auch) mit folgendem Import<br />
<code>org.jboss.annotation.ejb.Service</code><br />
im JBoss 5 aber NUR mit<br />
<code>org.jboss.ejb3.annotation.Service</code></p>
<p>Warum sind in den JBoss Libraries 2 Versionen enthalten frage ich mich?!<br />
Ich hoffe, jemand anders liest das hier, bevor er sich &#228;rgert :-)</p>
<p>Jonas</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jonas</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-193</link>
		<dc:creator>Jonas</dc:creator>
		<pubDate>Thu, 29 Jan 2009 17:34:40 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-193</guid>
		<description>Hallo Simon, danke f&#252;r deine Antwort. Ich kenne die JMX-Console nun zu Gen&#252;ge ;) 
Kannst du mal versuchen, ob du ein @Service Singleton incl @Local Interface per Dependency Injection (@EJB) in einer anderen EJB in JBoss 5 _deployen_ bekommst?! Bei mir funktioniert das Deployment nicht mal, wegen oben beschriebenen Fehler. 

Markus, wei&#223;t du, wo da das Problem sein kann?

Danke,
Jonas</description>
		<content:encoded><![CDATA[<p>Hallo Simon, danke f&#252;r deine Antwort. Ich kenne die JMX-Console nun zu Gen&#252;ge ;)<br />
Kannst du mal versuchen, ob du ein @Service Singleton incl @Local Interface per Dependency Injection (@EJB) in einer anderen EJB in JBoss 5 _deployen_ bekommst?! Bei mir funktioniert das Deployment nicht mal, wegen oben beschriebenen Fehler. </p>
<p>Markus, wei&#223;t du, wo da das Problem sein kann?</p>
<p>Danke,<br />
Jonas</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Simon</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-191</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Wed, 28 Jan 2009 20:52:54 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-191</guid>
		<description>Erstmal danke Markus, dein Code funktionierte so wie gegeben. Es stellte sich heraus, dass ich ein anderen Fehler gemacht hatte: ich hatte von einer MBean auf ein eine andere EJB zugreifen wollen. Das scheiterte mit einer nichtssagenden Null-Pointer-Exception, doch ich hab dann nach langem Suchen gefunden, woran es lag: es werden beim Deployment erst die @Service-MBeans geladen und dann die EJBs (@Stateless, @Stateful aber, wie es scheint auch die @Local-Interfaces von den MBeans). Mit einem @Depends ging es dann problemlos.

@Jonas: Hier ist auch JBoss 4.2.3 im Einsatz, kann da keine Aussagen zu 5.0.0 machen. 

N&#252;tzlich bei solchen Problemen finde ich aber immer die MBean jboss:service=JNDIView, die hat eine Methode list(), die kann man &#252;ber die JMX-Console aufrufen und sehen was er beim Deployment wirklich geladen hat und ob er dazu auch Local/Remote-Interfaces erstellt hat.</description>
		<content:encoded><![CDATA[<p>Erstmal danke Markus, dein Code funktionierte so wie gegeben. Es stellte sich heraus, dass ich ein anderen Fehler gemacht hatte: ich hatte von einer MBean auf ein eine andere EJB zugreifen wollen. Das scheiterte mit einer nichtssagenden Null-Pointer-Exception, doch ich hab dann nach langem Suchen gefunden, woran es lag: es werden beim Deployment erst die @Service-MBeans geladen und dann die EJBs (@Stateless, @Stateful aber, wie es scheint auch die @Local-Interfaces von den MBeans). Mit einem @Depends ging es dann problemlos.</p>
<p>@Jonas: Hier ist auch JBoss 4.2.3 im Einsatz, kann da keine Aussagen zu 5.0.0 machen. </p>
<p>N&#252;tzlich bei solchen Problemen finde ich aber immer die MBean jboss:service=JNDIView, die hat eine Methode list(), die kann man &#252;ber die JMX-Console aufrufen und sehen was er beim Deployment wirklich geladen hat und ob er dazu auch Local/Remote-Interfaces erstellt hat.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jonas</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-190</link>
		<dc:creator>Jonas</dc:creator>
		<pubDate>Wed, 28 Jan 2009 11:40:20 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-190</guid>
		<description>Hallo Simon, hallo Markus,

zum Issue @EJB Dependency Injection:
Ich habe genau das selbe Problem wie du Simon, mir gelingt allerdings das von Markus im letzten Posting beschriebene nur in JBoss 4.2.3, nicht jedoch in JBoss 5.0.0.GA. 

Der JBoss 5.0.0 zeigt mir die mit @Service annotierte Klasse in der JMX Console weder an, noch kann ich dieses @Service, welches auch ein @Local Interface implementiert, per Dependency Injection in einer anderen SessionBean per @EJB Annotation nutzen. JBoss 5 schreit hier schon beim Deployment:

jboss.j2ee:ear=myear-1.0-SNAPSHOT.ear,jar=myjar-1.0-SNAPSHOT.jar,name=UserServiceBean,service=EJB3
 -&gt; {Describ
ed:** UNRESOLVED Demands &#039;Class:MyServiceMBeanLocal&#039; **}

Im 4.2.3er funktionert der gleiche Code aber! 
--&gt; Kann es sein, dass ich hier beim JBoss 5 noch irgendwas konfigurieren muss, oder ist das @Service Singleton in JBoss 5 nicht mehr verf&#252;gbar, oder handelt es sich um einen Bug im 5er? Ich wei&#223; nicht weiter..

Danke, 
Jonas</description>
		<content:encoded><![CDATA[<p>Hallo Simon, hallo Markus,</p>
<p>zum Issue @EJB Dependency Injection:<br />
Ich habe genau das selbe Problem wie du Simon, mir gelingt allerdings das von Markus im letzten Posting beschriebene nur in JBoss 4.2.3, nicht jedoch in JBoss 5.0.0.GA. </p>
<p>Der JBoss 5.0.0 zeigt mir die mit @Service annotierte Klasse in der JMX Console weder an, noch kann ich dieses @Service, welches auch ein @Local Interface implementiert, per Dependency Injection in einer anderen SessionBean per @EJB Annotation nutzen. JBoss 5 schreit hier schon beim Deployment:</p>
<p>jboss.j2ee:ear=myear-1.0-SNAPSHOT.ear,jar=myjar-1.0-SNAPSHOT.jar,name=UserServiceBean,service=EJB3<br />
 -&gt; {Describ<br />
ed:** UNRESOLVED Demands &#8216;Class:MyServiceMBeanLocal&#8217; **}</p>
<p>Im 4.2.3er funktionert der gleiche Code aber!<br />
&#8211;&gt; Kann es sein, dass ich hier beim JBoss 5 noch irgendwas konfigurieren muss, oder ist das @Service Singleton in JBoss 5 nicht mehr verf&#252;gbar, oder handelt es sich um einen Bug im 5er? Ich wei&#223; nicht weiter..</p>
<p>Danke,<br />
Jonas</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Markus Kühle</title>
		<link>http://javathreads.de/2008/06/eine-ejb-als-jmx-mbean-fuer-jboss-as-erstellen/comment-page-1/#comment-188</link>
		<dc:creator>Markus Kühle</dc:creator>
		<pubDate>Mon, 26 Jan 2009 09:31:02 +0000</pubDate>
		<guid isPermaLink="false">http://javathreads.de/?p=69#comment-188</guid>
		<description>Hi Simon,
Deine mit @Service annotierte Klasse kann ohne weiters auch ein @Remote oder @Locale Interface implementieren und ist somit im Context als normale EJB registriert.

Du m&#252;sstest dann deine Service EJB mit der @EJB Annotation injecten k&#246;nnen.

&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;
@Local
public interface MyServiceMBeanLocal {
  void doSomething();
}

@Service
public class MyServiceMBean implements MyServiceMBeanLocal {
  public void soSomething(){
    // implement me
  }
}
&lt;/pre&gt;

Und in deiner Sateless Session Bean sollte man diese Service EJB einfach injecten k&#246;nnen:
&lt;pre name=&quot;code&quot; class=&quot;java&quot;&gt;
@Stateless
public class OtherSessionBean implements OtherSessionBeanLocal {
  @EJB
  private MyServiceMBeanLocal myServiceMBean;
}
&lt;/pre&gt;

Hab den Code jetzt nicht getestet, sollte (hoffentlich) so funktionieren =).
Hier gibt es auch noch eine ganz kurze daf&#252;r aber sehr offizielle Erl&#228;uterung zu den JBoss eigenen EJB 3.0 Erweiterungen: &lt;a href=&quot;http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_extensions.html&quot;&gt;http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_extensions.html&lt;/a&gt;

Gr&#252;&#223;e
Markus</description>
		<content:encoded><![CDATA[<p>Hi Simon,<br />
Deine mit @Service annotierte Klasse kann ohne weiters auch ein @Remote oder @Locale Interface implementieren und ist somit im Context als normale EJB registriert.</p>
<p>Du m&#252;sstest dann deine Service EJB mit der @EJB Annotation injecten k&#246;nnen.</p>
<pre name="code" class="java">
@Local
public interface MyServiceMBeanLocal {
  void doSomething();
}

@Service
public class MyServiceMBean implements MyServiceMBeanLocal {
  public void soSomething(){
    // implement me
  }
}
</pre>
<p>Und in deiner Sateless Session Bean sollte man diese Service EJB einfach injecten k&#246;nnen:</p>
<pre name="code" class="java">
@Stateless
public class OtherSessionBean implements OtherSessionBeanLocal {
  @EJB
  private MyServiceMBeanLocal myServiceMBean;
}
</pre>
<p>Hab den Code jetzt nicht getestet, sollte (hoffentlich) so funktionieren =).<br />
Hier gibt es auch noch eine ganz kurze daf&#252;r aber sehr offizielle Erl&#228;uterung zu den JBoss eigenen EJB 3.0 Erweiterungen: <a href="http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_extensions.html"></a><a href='http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_extensions.html'>http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html/jboss_extensions.html</a></p>
<p>Gr&#252;&#223;e<br />
Markus</p>
]]></content:encoded>
	</item>
</channel>
</rss>

