discuss_ja@glassfish.java.net

Re: Re: GlassFish$B$NK]Lu%W%m%8%'%/%H%,%$%I%i%$%s$K$D$$$F(J

From: <admin_at_system-forec.com>
Date: 25 Apr 2008 12:48:39 +0900

$B$*Hh$lMM$G$9!">.C]$G$9!#(B
$B1vED$5$s!"L>A0$NDI2C$"$j$,$H$&$4$6$$$^$7$?!*(B


$BAaB.Lu$7$F$_$^$7$?$,!"(BGlassFish$B$O$3$l$,0lK\L\$J$N$G(B
$B$5$7$D$+$($J$1$l$P0lEY%l%S%e!<$r$*4j$$$7$^$9!#(B
$B!J86J8$N$^$^2~9T$rF~$l$F$*$i$:!"8+$E$i$/$F?=$7Lu$"$j$^$;$s!K(B


$B!Z5$$K$+$+$C$F$$$k2U=j![(B
$B!&%(%s%H%j!'!V5-;v!W$H$7$h$&$+$H$b;W$$$^$7$?$,!"MQ8l=8$K$J$i$C$F%(%s%H%j$N$^$^$K$7$^$7$?(B
$B!&J8Kv$N;2>H%j%s%/@h5-;vL>!'OBLu$O$J$$$h$&$J$N$G1QJ8%?%$%H%k$N$^$^$G$9(B
$B!&%^%$%0%l!<%7%g%s$O%^%$%0%l!<%7%g%s$N$^$^$K$7$^$7$?(B


$B$40U8+!&$4;XDjEyD:$1$l$P9,$$$G$9!#(B


/*
$BM>CL$J$,$i!"(BDI$B$N0MB8@-!VCmF~!W$K$O$$$D$b$=$3$O$+$H$J$$0cOB46$r46$8$^$9!#(B
$B%$%a!<%8$OJ,$+$k$N$G$9$,!"CmF~!D(B
*/


---$B0J2
$B$3$N%(%s%H%j$O!"(B [1] $B$G2r@b$5$l$F$$$k(B JBoss $B$+$i(B GlassFish $B$X$N%^%$%0%l!<%7%g%sNc$K4p$E$$$F=q$+$l$F$$$^$9!#(B

JBoss$B$G$O!"%m!<%+%k(B EJB $B$r;2>H$9$k$N$K(B "jsfejb3/TodoDao/local" $B$N$h$&$J(B JNDI $BL>$r;HMQ$7$^$9!#$3$l$OI8=`E*$JL>A0$G$O$"$j$^$;$s$N$G!"
$B!&(Bjava:comp/env $BL>A06u4VFb$N(B JNDI $BL>$r;H$C$F%m!<%+%k(B EJB $B$r;2>H$7!"G[Hw5-=R;R$K(B ejb-local-ref $BMWAG$rDI2C$9$k!#(B
$B!&0MB8@-CmF~$rMQ$$$F%3!<%IFb$K%m!<%+%k(B EJB $B$X$N;2>H$rCmF~$9$k(B

-------------------------
$BNc!'(B java:comp/env namespace $B$r;HMQ(B
-------------------------
    // JBoss
    public class TodoBean {

        private Todo todo;
        ...

        private TodoDaoInt getDao () {
        try {
            InitialContext ctx = new InitialContext();
            return (TodoDaoInt) ctx.lookup("jsfejb3/TodoDao/local");
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("couldn't lookup Dao", e);
        }
    }
   
    @Stateless
    public class TodoDao implements TodoDaoInt { ... }
  
    public interface TodoDaoInt { ... }

    // GlassFish
    // $B%3!<%I$r(B TodoBean $B%/%i%9$KJQ49(B
    public class TodoBean {
.
        private Todo todo;
        ...

        private TodoDaoInt getDao () {
        try {
            InitialContext ctx = new InitialContext();
            return (TodoDaoInt) ctx.lookup("jsfejb3/TodoDao/local");
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("couldn't lookup Dao", e);
        }
    }

     InitialContext ctx = new InitialContext();
     return (TodoDaoInt)ctx.lookup("java:comp/env/ejb/TodoDao");


    // web.xml $B$K(B ejb-local-ref $B$J$I$NMWAG$rDI2C(B
    <ejb-local-ref>
        <ejb-ref-name>ejb/TodoDao</ejb-ref-name>
        <ejb-ref-type>Session</ejb-ref-type>
        <local-home/>
        <local>TodoDaoInt</local>
    </ejb-local-ref>


-------------------------

EJB $B;2>H$rCmF~$9$k$?$a$N0MB8@-CmF~$K$D$$$F$O4{$KJL$N%I%-%e%a%s%H$G2r@b$5$l$F$$$k$?$a!"$3$3$G$O
$B;2>H%j%s%/(B

[1] Migrating JBoss's Sample JSF-EJB3 Application To GlassFish