beehive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carlin Rogers" <carlin.rog...@gmail.com>
Subject Re: BEEHIVE-1094
Date Wed, 12 Dec 2007 04:24:06 GMT
I looked at this some more and don't think this solution will work for
all controls. Definitely, some contextual services will be null. For
example, a call to the ControlBeanContext to get the
PageFlowController service will be null in onAcquire() for the
control. Similarly, the ControlContainerContext (ServletBeanContext)
will return null for any calls to getServletRequest() and
getServletResponse() will return null. You can see this by using the
PageFlowControlBeanContext test by uncommenting the "check()" method
in the JPF's onDestroy()... as described in BEEHIVE-1094.

Thoughts?

On 12/11/07, Carlin Rogers <carlin.rogers@gmail.com> wrote:
> Eddie,
>
> I was wondering if you had some thoughts about this solution. I think
> you filed the original bug  while you were doing work to solve a
> deadlock issue with page flows destroy()  and controls
> (BeanContext.globalHierarchyLock). I looked at this and was concerned
> that there could be issues because the RequestContext pushed onto the
> RequestContext stack will have a null request and response. This seems
> like it could be an issue for controls implemented for Context
> Services that require the request. I don't believe there needs to be a
> call to the page flow control container method,
> getControlContainerContext(), probably just the begin/end context
> around the onDestroy() and then the
> JavaControlUtils.uninitJavaControls().  I'm also unsure if there are
> any implications to the locking issues. When you filed this bug, did
> you have some thoughts about the solution?
>
> Thanks,
> Carlin
>
>
> On 12/10/07, Scott L'Hommedieu <slhommed@bea.com> wrote:
> > I'm forwarding this on behalf of my colleague to expedite the process.
> >
> > From Poorna:
> >
> > For BEEHIVE-1094, I am proposing the following change.
> >
> >
> >  ====
> >
> > /depot/dev/sandbox/beehive/wl92_ga/netui/src/pageflow/org/apache/beehive
> > /netui/pageflow/PageFlowManagedObject.java#1
> >  -
> >
> > E:\P4\dev\sandbox\beehive\wl92_ga\netui\src\pageflow\org\apache\beehive\
> > netui\pageflow\PageFlowManagedObject.java
> >  ====
> >
> >  19a20,21
> >
> > >  import
> > org.apache.beehive.controls.api.context.ControlContainerContext;
> >
> > >
> >
> >  103c105,109
> >
> >  <         onDestroy( session );
> >
> >  ---
> >
> > *>       PageFlowControlContainer cc = new
> > PageFlowControlContainerImpl();*
> >
> > >       ControlContainerContext ccContext =
> >  cc.getControlContainerContext(this);
> >
> > >       cc.beginContextOnPageFlow(this, null, null,
> >  session.getServletContext());
> >
> > >       onDestroy( session );
> >
> > >       cc.endContextOnPageFlow(this);
> >
> >
> >
> >
> >
> >  The highlighted first line - I am not sure on how to create
> >  PageFlowControlContainer using PageFlowControlContainerFactory when
> >  there is no request object. So, I have created the control container
> >  directly here.
> >
> >  regards,
> >
> >  ~Poorna
> >
> > Notice:  This email message, together with any attachments, may contain information
 of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,
 proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use
of the individual or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this by email and then
delete it.
> >
>

Mime
View raw message