Thursday 14 February 2008

Search BPEL Instances

In de blog of Clemens Utschig - Utschig he explains how to search for bpel process instances based on the index-columns.

It is possible to fill in one of 6 user-keys in a bpel process. This can be done in a piece of embedded java in BPEL. For this the api call setIndex(1, index1); exists.
The same way you can set the title, with the API setTitle(newTitle); .

I created a sample BPEL project for it with an embedded java step. Follow this link to view it.

The bpel-processes are stored in the table CUBE_INSTANCE in the ora_bpel schema in the database. The indices are stored in the table CI_INDEXES. If your number of processes grows you should put indexes on the columns of this table, since by default there aren't any.

To search for the bpel processes I created a JSP. I did it a little more straight forward then described in Clemens' blog, since I wanted to be able to search on all processes and indexes over all the domains. (And I had some trouble with the api's...). So I did just a query on the tables in the database.

Also I found in some logs of some faults that contained the Correlation-id. So I made my JSP be able to search on that column too.

Follow this link for the jsp-source.


Unknown said...

The jsp worked great. All we had to do was to make its parent app the orabpel (during deployment) and we were a bunch of happy index searching fools.

Anonymous said...

i cant locate the process code in this post, the link doesnt work. can you please provide it. Thanks

Martien van den Akker said...

I'm at a customer now. Have to do it from home. Tonight or tomorrow I will. I'll leave a comment when I did.

Martien van den Akker said...


I changed the URL's so they link now to our sample code page (