You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@beehive.apache.org by Scott L'Hommedieu <sl...@bea.com> on 2007/12/11 00:45:46 UTC

BEEHIVE-1094

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.

Re: BEEHIVE-1094

Posted by Carlin Rogers <ca...@gmail.com>.
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 <ca...@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 <sl...@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.
> >
>

Re: BEEHIVE-1094

Posted by Carlin Rogers <ca...@gmail.com>.
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 <sl...@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.
>