> I noticed that EventContext class is not considered deprecated. It means > it would be removed in later version of ODE. > > I read in previous emails that the reason is that eventContext cannot > provide variables which are persistent. > > But we are using only in-memory process and we need access to variables > to make somehow correlate BPEL events/logs with underlying JBI message > exchange. Maybe is good decision to do not deprecate EventContext, but > do not pass it when process is persistent, or change EventContext class > name. > > >Which type of information are you looking for that would be in the context >and not on the variable? Now the new variable value is supposed to be set >on >the event itself if you need it.
My exact situation is that it is not possible to correlate EventListeners logs with logs from ServiceMix where MessageExchange is available. The only solution was to put some data into payload and then put it into variable in ODE. Then use EventContext to get variable data. But BpelEvent.eventContext is sometimes null and now is deprecated... The ideal situation would be when EventContext contains underlying JBI MessageExchange or its properties (especially JbiConstants.CORRELATION_ID property) > The second thing I noticed is that BpelEvent.eventContext is null for > such bpel events: > ProcessInstanceStartedEvent, ProcessInstanceStateChangeEvent, > VariableReadEvent, ProcessMessageExchangeEvent, ProcessCompletionEvent > > I understand that for example ProcessInstanceStartedEvent there is no > variables set, but for ProcessMessageExchangeEvent and > ProcessCompletionEvent should be available. > > >The initial goal of the event context was to give you visibility on >variable >modifications within a given scope. Those events aren't associated to >variables so there's nothing much the context can provide you. What would >you use the event context for with these events? I'm performing transaction flow tracking and I need to correlate ServiceMix logs and BPEL logs. For ServiceMix I logged always JbiConstants. CORRELATION_ID, but when I'm entering ODE I don't have access to this information from BpelEvent. I use ProcessInstanceStartedEvent as entry point and ProcessCompletionEvent as end point of transaction in ODE. I can correlate this two logs using ProcessId and ProcessInstanceId, but it is impossible for me to correlate ODE logs with ServiceMix logs. -- Regards Mateusz Nowakowski