Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

General OCEP Questions

892660Oct 11 2011 — edited Nov 2 2011
Hi,

I have worked on other CEP engines, and am trying to familarise myself with the OCEP.
I have a few question which are causing me some confusion as the engines I have used before
worked differently and one was even stateful by default.

Now a Channel is basically an intermediary like a message queue (I suppose)
The processor is sent events from the channel
- is the channel therefore stateless? And stateful when a Max-Size is defined?
When using the Max size - are the events being queued - e.g. perhaps because the
processor has yet to process them, and introducing the multiple threading aspect do the
events get sent asynchronously? If the events get sent asynchronously - is the processor
it's attached to also multithreaded by the fact that the channel is? Or are multiple processors
created. Following on from that will order be guaranteed when there are multiple threads - I'm assuming not e.g. simpler to JMS Queues if there are multiple
consumers?

- is the processor inherently stateful?
Does the processors statefulness depend on the window that is defined?
When the window passes e.g. Range 10 seconds - and 10 seconds are up - are the
events deleted from the processor or as soon as they are pushed to the next stage via
another channel?

If the next stage after a channel is a Bean what queuing is applied to the channel if MaxSize
is set, if it's set up to be mult threaded does the Bean that is the recipient of the
events have to be thread safe or are myltiple instances created?


Questions on relations:
What is the purpose of the is-relation in the channel I read that it instead of being a stream it becomes a relation
and you define a PK, however, I would expect it to update something if the Keys match instead I get a unique constraint violation?
Why can you not use the is-relation channel with Windows?
I don't quite understand the purpose IStream and DStream?
I tried the DStream and expected to see events deleted once the
time window had expired - but I saw nothing. Is the ISteam and Dstream exclusive.

When you have a NOW window and it expires the events are deleted - where are
they deleted from, we get delete messages when we use a RelationSink - however this is not what is happening in the real world only in the Window - what is the reasoning behind this.
I tried the DStream and expected to see events deleted once the
time window had expired - but I saw nothing. Is the ISteam and Dstream exclusive.

If I wanted to capture Inserts, deletes and updates from the procuder (e.g. from the outside world CRUD activities) how can i do that as no state is available like an operation code of sort?
For example: if a trade is created and updated and later cancelled and these operations impact some aggregation calculation - how is that captured in OCEP?

Apologies for the bombardment of questions:-)

Thanks
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 30 2011
Added on Oct 11 2011
2 comments
312 views