You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Denis Weerasiri <dd...@gmail.com> on 2009/07/30 18:45:59 UTC

Using MEX Interceptors for new instance invocations

Hi all,
In the following class the code related to adding an interception point to
an new instance invocation is commented. Is there any reason for that?.

In org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl  line-222

// if (!_process.processInterceptors(mex,
InterceptorInvoker.__onNewInstanceInvoked)) {
        // __log.debug("Not creating a new instance for mex " + mex + ";
interceptor prevented!");
        // return;
        // }

Without this code snippet, I felt it is not possible to invoke a MEX
interceptor when a new instance invocation. Is it true?

Regards,
Denis Weerasiri.

Re: Using MEX Interceptors for new instance invocations

Posted by Denis Weerasiri <dd...@gmail.com>.
Hi Karthick,
Sorry to bother you again. I'm trying to suspend a instance at the MEX
interceptor. So to use the DebuggerSupport class, I need to get the
reference of the current ODEServer or the BPELServerImpl. Is it possible to
get those reference through the InterceptorEvent object. Or do I have to use
the Instance Management service to do that.?

Best Regards,
Denis Weerasiri
CSE-UoM
http://ddweerasiri.blogspot.com


On Fri, Jul 31, 2009 at 2:27 AM, Karthick Sankarachary <
sankarachary@intalio.com> wrote:

> Hi Denis,
>
> To obtain the ID of the BPEL process type, you may use
> ic.getBpelProcess().getPID() (please refer to the ProcessSizeThrottler
> interceptor in the 1.X branch).
>
> To obtain the ID of the BPEL process instance, you should try
> ic.getProcessDAO().getProcessId() (please refer to the
> InstanceCountThrottler in the 1.X branch).
>
> Just to reiterate, I'm not sure if those methods are available in the trunk
> yet.

Yep. In trunk the API is little bit different.

>
>
> Best Regards,
> Karthick Sankarachary
>
>
> On Thu, Jul 30, 2009 at 1:44 PM, Denis Weerasiri <ddweerasiri@gmail.com
> >wrote:
>
> > Hi Karthick,
> > How can I get the id of a new instance using InterceptorEvent object?.
> > I tried ic.getMessageExchangeDAO().getInstance().getInstanceId(). But it
> > didn't work.
> >
> > Regards,
> > Denis
> >
> > On Thu, Jul 30, 2009 at 10:37 PM, Karthick Sankarachary <
> > sankarachary@intalio.com> wrote:
> >
> > > Hi Denis,
> > >
> > > That's correct. FWIW, that piece of code is not commented out in the
> > > APACHE_ODE_1.X branch. In fact, we rely on that interceptor to monitor
> > and
> > > manage the memory footprint of BPEL processes (see
> > > ODE-561<https://issues.apache.org/jira/browse/ODE-561>).
> > > I'm guessing that fix has not yet been ported to the trunk in its
> > entirety
> > > for some reason.
> > >
> > > Regards,
> > > Karthick Sankarachary
> > >
> > > On 7/30/09, Denis Weerasiri <dd...@gmail.com> wrote:
> > > > Hi all,
> > > >  In the following class the code related to adding an interception
> > point
> > > to
> > > >  an new instance invocation is commented. Is there any reason for
> > that?.
> > > >
> > > >  In org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl  line-222
> > > >
> > > >  // if (!_process.processInterceptors(mex,
> > > >  InterceptorInvoker.__onNewInstanceInvoked)) {
> > > >         // __log.debug("Not creating a new instance for mex " + mex +
> > ";
> > > >  interceptor prevented!");
> > > >         // return;
> > > >         // }
> > > >
> > > >  Without this code snippet, I felt it is not possible to invoke a MEX
> > > >  interceptor when a new instance invocation. Is it true?
> > > >
> > > >  Regards,
> > > >
> > > > Denis Weerasiri.
> > > >
> > >
> >
>

Re: Using MEX Interceptors for new instance invocations

Posted by Karthick Sankarachary <sa...@intalio.com>.
Hi Denis,

To obtain the ID of the BPEL process type, you may use
ic.getBpelProcess().getPID() (please refer to the ProcessSizeThrottler
interceptor in the 1.X branch).

To obtain the ID of the BPEL process instance, you should try
ic.getProcessDAO().getProcessId() (please refer to the
InstanceCountThrottler in the 1.X branch).

Just to reiterate, I'm not sure if those methods are available in the trunk
yet.

Best Regards,
Karthick Sankarachary


On Thu, Jul 30, 2009 at 1:44 PM, Denis Weerasiri <dd...@gmail.com>wrote:

> Hi Karthick,
> How can I get the id of a new instance using InterceptorEvent object?.
> I tried ic.getMessageExchangeDAO().getInstance().getInstanceId(). But it
> didn't work.
>
> Regards,
> Denis
>
> On Thu, Jul 30, 2009 at 10:37 PM, Karthick Sankarachary <
> sankarachary@intalio.com> wrote:
>
> > Hi Denis,
> >
> > That's correct. FWIW, that piece of code is not commented out in the
> > APACHE_ODE_1.X branch. In fact, we rely on that interceptor to monitor
> and
> > manage the memory footprint of BPEL processes (see
> > ODE-561<https://issues.apache.org/jira/browse/ODE-561>).
> > I'm guessing that fix has not yet been ported to the trunk in its
> entirety
> > for some reason.
> >
> > Regards,
> > Karthick Sankarachary
> >
> > On 7/30/09, Denis Weerasiri <dd...@gmail.com> wrote:
> > > Hi all,
> > >  In the following class the code related to adding an interception
> point
> > to
> > >  an new instance invocation is commented. Is there any reason for
> that?.
> > >
> > >  In org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl  line-222
> > >
> > >  // if (!_process.processInterceptors(mex,
> > >  InterceptorInvoker.__onNewInstanceInvoked)) {
> > >         // __log.debug("Not creating a new instance for mex " + mex +
> ";
> > >  interceptor prevented!");
> > >         // return;
> > >         // }
> > >
> > >  Without this code snippet, I felt it is not possible to invoke a MEX
> > >  interceptor when a new instance invocation. Is it true?
> > >
> > >  Regards,
> > >
> > > Denis Weerasiri.
> > >
> >
>

Re: Using MEX Interceptors for new instance invocations

Posted by Denis Weerasiri <dd...@gmail.com>.
Hi Karthick,
How can I get the id of a new instance using InterceptorEvent object?.
I tried ic.getMessageExchangeDAO().getInstance().getInstanceId(). But it
didn't work.

Regards,
Denis

On Thu, Jul 30, 2009 at 10:37 PM, Karthick Sankarachary <
sankarachary@intalio.com> wrote:

> Hi Denis,
>
> That's correct. FWIW, that piece of code is not commented out in the
> APACHE_ODE_1.X branch. In fact, we rely on that interceptor to monitor and
> manage the memory footprint of BPEL processes (see
> ODE-561<https://issues.apache.org/jira/browse/ODE-561>).
> I'm guessing that fix has not yet been ported to the trunk in its entirety
> for some reason.
>
> Regards,
> Karthick Sankarachary
>
> On 7/30/09, Denis Weerasiri <dd...@gmail.com> wrote:
> > Hi all,
> >  In the following class the code related to adding an interception point
> to
> >  an new instance invocation is commented. Is there any reason for that?.
> >
> >  In org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl  line-222
> >
> >  // if (!_process.processInterceptors(mex,
> >  InterceptorInvoker.__onNewInstanceInvoked)) {
> >         // __log.debug("Not creating a new instance for mex " + mex + ";
> >  interceptor prevented!");
> >         // return;
> >         // }
> >
> >  Without this code snippet, I felt it is not possible to invoke a MEX
> >  interceptor when a new instance invocation. Is it true?
> >
> >  Regards,
> >
> > Denis Weerasiri.
> >
>

Re: Using MEX Interceptors for new instance invocations

Posted by Karthick Sankarachary <sa...@intalio.com>.
Hi Denis,

That's correct. FWIW, that piece of code is not commented out in the
APACHE_ODE_1.X branch. In fact, we rely on that interceptor to monitor and
manage the memory footprint of BPEL processes (see
ODE-561<https://issues.apache.org/jira/browse/ODE-561>).
I'm guessing that fix has not yet been ported to the trunk in its entirety
for some reason.

Regards,
Karthick Sankarachary

On 7/30/09, Denis Weerasiri <dd...@gmail.com> wrote:
> Hi all,
>  In the following class the code related to adding an interception point
to
>  an new instance invocation is commented. Is there any reason for that?.
>
>  In org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl  line-222
>
>  // if (!_process.processInterceptors(mex,
>  InterceptorInvoker.__onNewInstanceInvoked)) {
>         // __log.debug("Not creating a new instance for mex " + mex + ";
>  interceptor prevented!");
>         // return;
>         // }
>
>  Without this code snippet, I felt it is not possible to invoke a MEX
>  interceptor when a new instance invocation. Is it true?
>
>  Regards,
>
> Denis Weerasiri.
>