// 下階層用テンプレート #topicpath ---- //ここにコンテンツを記述します。 #contents [[WTP>J2EE/Eclipseで開発する]]を使って開発をすると、JBossへデプロイすることができるだけでなく、jboss.xmlやjboss-web.xml,web.xmlやejb-jar.xmlを自動生成することができます。さらにはEJBの実装クラスを作成するだけで、めんどくさいその他のインタフェースファイルなども自動生成することができます。自動生成にはXDocletという、JavaDocコメントから各種設定ファイルを生成するツールが使われています。 **準備 [#j48c717b] 今回はJBossの環境を主においているので、JBossの設定ファイルを自動生成する用に設定しました。設定といっても簡単で、Eclipse上で、 ウィンドウ > 設定 >> J2EE注釈 >> XDoclet でXDocletのホームディレクトリなどを入れておくだけです((XDocletはあらかじめダウンロードしてどっかに解凍しておきましょう。))。 JBossなどコンテナ依存の設定ファイルは、更に下の XDoclet >> ejbdoclet XDoclet >> webdoclet などのチェックを入れておけばよいようです。 #ref(xdoclet.png) **web.xmlの自動生成 [#ma3ff33e] Servletのクラスコメントにには以下のように書きました。 /** * Servlet implementation class for Servlet: HogeServlet * * @web.servlet name="HelloServlet" display-name="HelloServlet" * * @web.servlet-mapping url-pattern="/hello" * @web.ejb-ref name = "ejb/HelloEJB" home = "hello.HelloEJBHome" remote = * "hello.HelloEJB" type = "Session" * @jboss.ejb-ref-jndi jndi-name = "HelloEJBHoge" ref-name = "ejb/HelloEJB" */ ***Servletの設定の出力 [#h1ba1bd8] このうち @web.servlet name="HelloServlet" display-name="HelloServlet" @web.servlet-mapping url-pattern="/hello" の部分で、 <servlet> <servlet-name>HelloServlet</servlet-name> <display-name>HelloServlet</display-name> <servlet-class>hello.web.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> というweb.xmlが出力されます。 ***ejb-refの出力 [#ie8d8902] @web.ejb-ref name = "ejb/HelloEJB" home = "hello.HelloEJBHome" remote = "hello.HelloEJB" type = "Session" の部分で <ejb-ref > <ejb-ref-name>ejb/HelloEJB</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>hello.HelloEJBHome</home> <remote>hello.HelloEJB</remote> </ejb-ref> というweb.xmlが出力されます。 **jboss-web.xmlの自動生成 [#f49a574f] ***ejb-refの出力 [#b857b90b] また先の @jboss.ejb-ref-jndi jndi-name = "HelloEJBHoge" ref-name = "ejb/HelloEJB" の部分で、 <ejb-ref> <ejb-ref-name>ejb/HelloEJB</ejb-ref-name> <jndi-name>HelloEJBHoge</jndi-name> </ejb-ref> というjboss-web.xmlが出力されます。 **ejb-jar.xmlの自動生成 [#e4eec02f] EJB実装クラスのクラスコメントには以下のように書きました。 /** * @ejb.bean name="HelloEJB" display-name = "HelloEJB" jndi-name="HelloEJBHoge" * type = "Stateless" view-type = "remote" */ このうち @ejb.bean name="HelloEJB" display-name = "HelloEJB" jndi-name="HelloEJBHoge" type = "Stateless" view-type = "remote" の部分で、 <session > <description><![CDATA[]]></description> <display-name>HelloEJB</display-name> <ejb-name>HelloEJB</ejb-name> <home>hello.ejb.HelloEJBHome</home> <remote>hello.ejb.HelloEJB</remote> <ejb-class>hello.ejb.HelloEJBSession</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> というejb-jar.xmlが出力されます。 **jboss.xmlの自動生成 [#u20de1cd] また <session> <ejb-name>HelloEJB</ejb-name> <jndi-name>HelloEJBHoge</jndi-name> <method-attributes> </method-attributes> </session> もあわせて出力されます。 /** * @return * @throws RemoteException * @ejb.interface-method view-type= "remote" */ public String sayHello() throws RemoteException { System.out.println("hoge"); return "Hello EJB !"; } ---- この記事は #vote(おもしろかった,そうでもない) #comment #topicpath SIZE(10){現在のアクセス:&counter;}