Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » J2EE Pattern »

Re: Business Delegate

Ricardo Moura

2004-04-19

Replies:

Ok, but your DB implementation is a Singleton, so the variables

private static MasterDelegateHandler instance = null;
private static MasterSessionHome home;

have already been initialized, haven't it ? So when you call the getEjb
method

private MasterSession getEJB() {
    MasterSession remote = null;
    try {
      remote = (MasterSession)home.create();
    } catch (RemoteException ex) {
      ex.printStackTrace();
    } catch (CreateException ex) {
      ex.printStackTrace();
    }
    return remote;
  }

you will get a exception, won't you ?
>From: George Maggessy <gmaggess@(protected)>
>Reply-To: gjr@(protected)
>To: J2EEPATTERNS-INTEREST@(protected)
>Subject: Re: Business Delegate
>Date: Fri, 16 Apr 2004 14:34:08 -0700
>
>The BDs are in the client part, that is, it won�t work
>until u call it.
>
>--- Ricardo de Souza Moura <ricsouzamoura@(protected)>
>wrote:
> > Ok, I got it.
> >
> > But I still have some doubts about to do cache:
> >
> > > > My ServletContainer an my EJBContainer are in two
> > > > differents machines. If
> > > > only the EJBContainer restart what happen with my
> > cache at
> > > > the ServletConainer's machine
> > > > ? it won't work anymore, will it ?
> > In your sample, your method getEJB won't work untill the
> > ServletContainer
> > restart.
> > am I right ?
> >
> >
> > >From: George Maggessy <gmaggess@(protected)>
> > >Reply-To: gjr@(protected)
> > >To: J2EEPATTERNS-INTEREST@(protected)
> > >Subject: Re: Business Delegate
> > >Date: Fri, 16 Apr 2004 13:02:00 -0700
> > >
> > >I think this sample could clear things out...
> > >
> > >public class MasterDelegateHandler
> > >   extends DelegateHandler {
> > >
> > >   private static MasterDelegateHandler instance =
> > null;
> > >   private static MasterSessionHome home;
> > >
> > >   /**
> > >   * Constructor
> > >   */
> > >   private MasterDelegateHandler() throws
> > LookupException {
> > >
> > >     Reloj cron = new Reloj();
> > >     cron.start();
> > >
> > >     home =
> > >(MasterSessionHome)ServiceLocator.getHomeSession(
> > >       GeneralConstants.JNDI_MAESTRAS_SESSION);
> > >
> > >     LogUtility.log(MasterDelegateHandler.class,
> > >               "Tiempo lookup MasterSession " +
> > >
> > >Reloj.formatTime(cron.getElapsedTime()),
> > >               Log4JConstants.DEBUG);
> > >   }
> > >
> > >   public static synchronized MasterDelegateHandler
> > >getInstance() {
> > >
> > >     if (home == null) {
> > >       try {
> > >         instance = new MasterDelegateHandler();
> > >       } catch (LookupException ex) {
> > >         ex.printStackTrace();
> > >       }
> > >     }
> > >     return instance;
> > >   }
> > >
> > >   private MasterSession getEJB() {
> > >
> > >     MasterSession remote = null;
> > >     try {
> > >       remote = (MasterSession)home.create();
> > >     } catch (RemoteException ex) {
> > >       ex.printStackTrace();
> > >     } catch (CreateException ex) {
> > >       ex.printStackTrace();
> > >     }
> > >     return remote;
> > >   }
> > >
> > >   public ResponseVO getAllIra() {
> > >     ResponseVO response = new ResponseVO(null);
> > >     try {
> > >       response = getEJB().getAllIra();
> > >     } catch (Exception ex) {
> > >       LogUtility.log(MasterDelegateHandler.class,
> > >                 ex.getMessage(),
> > >                 Log4JConstants.FATAL);
> > >       return new ResponseVO(null,
> > >                     new
> > >MessageVO(MessageVO.ERROR,
> > >
> > >PropertyManager.getInstance().
> > >
> > getProperty(
> > >         GeneralConstants.FILE_MESSAGES,
> > >ErrorCode.COMUN_ERROR_GENERAL)));
> > >     }
> > >     return response;
> > >   }
> > >
> > >...
> > >
> > >Did I help u?
> > >
> > >
> > >--- Ricardo de Souza Moura <ricsouzamoura@(protected)>
> > >wrote:
> > > > I would like very much. thank you.
> > > >
> > > > But I was thinking about construct my Business
> > > > Delegate(BD) not like a EJB.
> > > > The BD would be a normal class. therefore my web tier
> > > > don't need to worry
> > > > about look up or RemoteException for example. Only my
> > Bd
> > > > would need to worry
> > > > about this. is it OK ? Do you agree ?
> > > >
> > > > About to do cache I have some doubts.
> > > > My ServletContainer an my EJBContainer are in two
> > > > differents machines. If
> > > > only the EJBContainer stop what happen with my cache
> > at
> > > > the ServletConainer
> > > > ? it won't work anymore, will it ?
> > > >
> > > >
> > > > >From: George Maggessy <gmaggess@(protected)>
> > > > >Reply-To: gjr@(protected)
> > > > >To: J2EEPATTERNS-INTEREST@(protected)
> > > > >Subject: Re: Business Delegate
> > > > >Date: Fri, 16 Apr 2004 12:20:35 -0700
> > > > >
> > > > >Hi Ricardo,
> > > > >
> > > > >Yes. This is a good structure. In fact, I use this
> > > > patterns
> > > > >and my app works fine. The only thing you have to
> > worry
> > > > >about is the business delegate or delegate handler.
> > > > There
> > > > >are diferent types for diferent session beans.
> > Like...
> > > > >Cache the EJB Handle for stateful beans or cache the
> > > > >EJBHome for stateless beans... I could send u a
> > sample
> > > > if u
> > > > >want.
> > > > >
> > > > >Cheers,
> > > > >George Maggessy
> > > > >
> > > > >
> > > > >--- Ricardo de Souza Moura
> > <ricsouzamoura@(protected)>
> > > > >wrote:
> > > > > > Hi folks,
> > > > > > I have a doubt.
> > > > > >
> > > > > > I am projecting my application with the structure
> > > > below:
> > > > > >
> > > > > > web tier => business Delegate(BD) =>
> > > > ServiceLocator(SL)
> > > > > > => Session
> > > > > > Facade(SF) => EJBs
> > > > > >
> > > > > > The web tier use the BD to call business methos.
> > > > > > The BD use the SL to get a SF
> > > > > > The BD use the SF to call business methods
> > > > > > SF is a Session Bean and use Entity Beans and
> > others
> > > > > > Session Beans to do its
> > > > > > work.
> > > > > >
> > > > > > Is this strutcture a good practice ?
> > > > > >
> > > > > > Does Somebody have another suggestion ?
> > > > > >
> > > > > > Thanks
> > > > > >
> > > > > >
> > > >
> > >
> >
> >_________________________________________________________________
> > > > > > MSN Hotmail, o maior webmail do Brasil.
> > > > > > http://www.hotmail.com
> > > > > >
> > > > > >
> > > >
> > >
> >
> >====================================================================
> > > > > > Companion Site: http://www.corej2eepatterns.com
> > > > > > J2EE BluePrints:
> > > > > > http://java.sun.com/blueprints/corej2eepatterns
> > > > > > List Archive:
> > > > > >
> > > >
> > >
> >
> >http://archives.java.sun.com/archives/j2eepatterns-interest.html
> > > > > > Unsubscribing: email "signoff
> > J2EEPATTERNS-INTEREST"
> > > > to
> > > > >listserv@(protected)
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >__________________________________
> > > > >Do you Yahoo!?
> > > > >Yahoo! Tax Center - File online by April 15th
> > > > >http://taxes.yahoo.com/filing.html
> > > > >
> > > >
> > >
> >
> >====================================================================
> > > > >Companion Site: http://www.corej2eepatterns.com
> > > > >J2EE BluePrints:
> > > > http://java.sun.com/blueprints/corej2eepatterns
> > > > >List Archive:
> > > >
> > >
> >
> >http://archives.java.sun.com/archives/j2eepatterns-interest.html
> > > > >Unsubscribing: email "signoff J2EEPATTERNS-INTEREST"
> > to
> > > > >listserv@(protected)
> > > >
> > > >
> >
> >_________________________________________________________________
> > > > MSN Messenger: converse com os seus amigos online.
> > > > http://messenger.msn.com.br
> > > >
> > > >
> >
> >====================================================================
> > > > Companion Site: http://www.corej2eepatterns.com
> > > > J2EE BluePrints:
> > > > http://java.sun.com/blueprints/corej2eepatterns
> > > > List Archive:
> > > >
> >
> >http://archives.java.sun.com/archives/j2eepatterns-interest.html
> > > > Unsubscribing: email "signoff J2EEPATTERNS-INTEREST"
> > to
> > >listserv@(protected)
> > >
> > >
> > >
> > >
> > >
> > >__________________________________
> > >Do you Yahoo!?
> > >Yahoo! Tax Center - File online by April 15th
> > >http://taxes.yahoo.com/filing.html
> > >
> >
> >====================================================================
> > >Companion Site: http://www.corej2eepatterns.com
> > >J2EE BluePrints:
> > http://java.sun.com/blueprints/corej2eepatterns
> > >List Archive:
> >
> >http://archives.java.sun.com/archives/j2eepatterns-interest.html
> > >Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to
> > >listserv@(protected)
> >
> >
>_________________________________________________________________
> > MSN Messenger: converse com os seus amigos online.
> > http://messenger.msn.com.br
> >
> >
>====================================================================
> > Companion Site: http://www.corej2eepatterns.com
> > J2EE BluePrints:
> > http://java.sun.com/blueprints/corej2eepatterns
> > List Archive:
> >
>http://archives.java.sun.com/archives/j2eepatterns-interest.html
> > Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to
>listserv@(protected)
>
>
>
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Tax Center - File online by April 15th
>http://taxes.yahoo.com/filing.html
>
>====================================================================
>Companion Site: http://www.corej2eepatterns.com
>J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns
>List Archive:
>http://archives.java.sun.com/archives/j2eepatterns-interest.html
>Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to
>listserv@(protected)

_________________________________________________________________
MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com

====================================================================
Companion Site: http://www.corej2eepatterns.com
J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns
List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html
Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
©2008 junlu.com - Jax Systems, LLC, U.S.A.