Tuesday, July 10, 2012

Getting JCA header property while invoking DB Adapter from Spring Bean

We had a requirement of calling a DB Adapter from the spring bean. Also the DB adapter should connect to different databases that had same table structure and the database to connect will be manipulated at the run time. If we are invoking DB adapter from BPEL we could have achieved this by setting the  header property of invoke activity as below.






When we are calling DB adapter from Spring Bean this need to be set in invoke activity of the bean and Oracle SOA Suite provides  predefined spring beans to get the values in the bean.

headerHelperBean  -- For getting and setting header properties
instanceHelperBean --  For getting the information of running instance like id & DN


The following properties need to be injected through the spring context file.


<property name="headerHelper" ref="headerHelperBean"/><property name="instanceHelper" ref="instanceHelperBean"/>

And the value can be set in the spring bean as follows.

headerHelper.setHeaderProperty("jca.db.XADataSourceName",arr[3]);


No comments:

Post a Comment