tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Santosh Asbe <santosh.a...@gmail.com>
Subject Re: Can cached EJB HomeHandles be invalidated?
Date Tue, 15 Nov 2005 05:06:13 GMT
I will also post this this issue in other mailing list. Will surely update
you if a get a solution for the same.
 regards,
Santosh

 On 11/14/05, Jeremy Crosbie <jeremy@crosbie.us> wrote:
>
> You are experiencing the same problem I am. Yes, Tomcat caches the home
> handle. The problem is there is no way to indicate that the handle is
> invalid because it is not until the home interface is received and the
> create() method called that you have this problem.
>
> I am in the process of doing some research into the code and will post a
> query to the development list to see if there is interest in a feature
> forcing Tomcat to always use the ObjectFactory to retrieve the home
> interface rather than retrieving it from the cached HomeHandle.
>
>
> On 11/11/05 2:32 AM, "Santosh Asbe" <santosh.asbe@gmail.com> wrote:
>
> > Hi ,
> > I have faces similar problem with tomcat & websphere. Problem i have
> > descirbed in detail. Do inform if any solution is there for this
> problem.
> >
> > I have tomcat 4.1.30 on Linux. It servers as a web server and contains
> only
> > JSP & Servlets. We make a remote call to Websphere Application Server (
> on
> > AIX) using corbaloc like 'corbaloc::ip1:2809:ip2:2809'. Now when i one
> of my
> > App server fails, the other App Server server should take over. This
> work
> > when i use a simple java client on the Linux machine, the failover
> occurs.
> > But when i use my application in tomcat, this does not work.
> > Well we have log4j and debugging in our code.
> > We thought the singleton might be an issue. so we tried the following
> > without the singleton.
> >
> > I am using a Service locator ( singleton) which makes the initial call
> to
> > App Server and stores in the ip cache. initially we that the issue was
> with
> > the Service locator, but then even if i don't use this Service Locator,
> the
> > problem persists.
> >
> > we made a single servlet call without the singleton.We make a remote
> call to
> > Websphere Application Server ( on AIX) using corbaloc like
> > 'corbaloc::ip1:2809:ip2:2809'. Now when i one of my App server fails,
> the
> > other App Server server should take over.
> > But stil the take over was not done.
> >
> > We have talked to IBM and they say that the tomcat does some caching and
> the
> > problem is not with the App Server. Has anyone faced this issue? Can
> anyone
> > help regarding this and how can i know how and where the caching is
> done?
> > Can this issue be resolved.
> >
> >
> >
> > We have alsofound the following information:
> > the tomcat websphere connection is done via the following ports:
> > bootstrap port ( which is 2809 for us) and ORB listner port ( 41999 for
> our
> > application)
> >
> > The tomcat opens socket to connect to the bootstrap port (2809) first
> and
> > then ORB listner port (41999) later when the first call is made. Now
> when
> > the subsequent calls are made connection is made via the ORB listner
> port
> > only.
> > When one of the App Server fails... it still tries to connect to
> bootstrap
> > port (2809) of first app server. ideally it shoulde try to connect to
> the
> > new app server bootstrap port.
> >
> > Can anyone help me reg this problem. If any other information is
> required, i
> > will be glad to provide with the same.
> >
> >
> > On 11/10/05, Jeremy Crosbie <jeremy@crosbie.us> wrote:
> >>
> >> I am using Tomcat 5.5.9 with WebLogic 8.1 as the EJB server/container.
> >>
> >> I am configuring EJB references in the servlet context in my
> server.xmllike
> >> so:
> >>
> >> <Context ...>
> >> <Ejb name="ejb/name" type="Session" home="ejb.home" remote="ejb.remote"
> >> factory="my.custom.weblogic.factory" />
> >> </Context>
> >>
> >> The behavior I observe when the EJBs are first requested is the
> >> getObjectInstance() method of my custom factory is invoked and the
> >> getHomeHandle() method invoked on that return object. In subsequent
> >> requests
> >> for the EJB I see the getEJBHome() method of the handle being invoked
> (I
> >> created proxies to see what exactly was happening) and the create()
> method
> >> then being called.
> >>
> >> Under ideal conditions this is fine. But what I observe when the
> WebLogic
> >> server has been shutdown is that calls to HomeHandle.getEJBHome()
> succeed
> >> but then the call to create() fails. The problem is the HomeHandle
> never
> >> gets invalidated and I am required to restart Tomcat in order for
> things
> >> to
> >> start working again.
> >>
> >> I am hoping that there is a way to instruct Tomcat to not cache the
> >> HomeHandle but instead always delegate Home interface creation to my
> >> object
> >> factory. I could handle the caching and any retry logic in a
> >> ServiceLocator.
> >> Is this possible?
> >>
> >> Thank you!
> >>
> >> --jeremy
> >>
> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> >> For additional commands, e-mail: users-help@tomcat.apache.org
> >>
> >>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message