Tuesday, January 11, 2011

Throttling in Oracle SErvice Bus

We often find issues that threads are getting stuck in OSB or the performance is extremely slow.This kind of issue generally happens because a particular service is called so many times that it gets throttled with the incoming request and which causes either to stuck thread or slow performance.

This issue can be resolved by two approaches.

1>Setting up the Throttling parameters from sb console.

In order to do that,just select your business service.

Go to Operational Settings and Enable Throttling


Now we have three parameters over here

1>Maximum Concurrency-It defines the limit to the number of concurrent request that can comes to a particular web service.

2>Throttling Queue-It is used to contain the requests messages that has exceeded the message concurrency limit.That is if you have set maximum concurrency to 5 then 5 message will be passed on to the webservice in a stretch and if another 2 request will come they will stay in Throttling queue which works in FIFO mode.

3>Message Expiration-It Specify the maximum time in milliseconds for a request to expire in Throttling Queue.

Friday, January 07, 2011

soa-infra is in warning state

you have installed SOA Suite 11.1.1.3 and you have started it.

Everything is working fine but your soa-infra is showing as warning state.

Few things you need to check before hand

1>First is check your listener and database are up and running.

2>Go to jdbc->Data Sources-->and verify connection pool for MDS_SOA-infra it is correct or not.

You can go to Deployment in admin console and expand soa-infra then go to testing tab and check if testing points are available there.

If yes try to log in to the testing page mentioned there if the testing page is not coming up properly that is some issues with the soa-infra schema so i will suggest to restart your listener database and soa server.

Further if you are able to log in to soa-infra but still you are seeing the state of soa-infra as warning,this could be because of following reason.

When you install SOA suite 11.1.1.3 some MDB’s are added to the soa-infra application:

BamActionMDB
CubeActionMDB
PeopleQueryMDB


so to get rid of this we need to create JMS Connection factories and topics.

For this purpose go to

Services-->Messaging-->JMS Module-->SOA JMS Module-->New

Then you can create the following topics and connection factory


JMS connectionfactories

jms/bpm/PeopleQueryConnectionFactory
jms/bpm/CubeCommandXAConnectionFactory
jms/bpm/PeopleQueryConnectionFactory


JMS Topics

jms/bpm/MeasurementTopic
jms/bpm/PeopleQueryTopic

you can refer to the following doc for creating topics and connection factories



Once you have created this restart your server and check if this issue persist.

If this issue is still there you can either ignore it or you can try to create a new domain but if it is not causing any issue to your functionality you can ignore this error.

Time difference between the FTP and SOA Server

I have come across this issue many a time that FTP server is in different time zone and SOA Server is in different time zone.

This causes potential issue in processing of file when there is a change in year SO we must take take of adding time difference to the process.

This can be done by adding a property called as timestampOffset


You can get more information on this from the following document.



This property adds the time difference to the process so that both the FTP server and SOA Server are in synch

Enable debug logging in Oracle Service bus

We know where to enable the debug logging for BPEL,ESB

Similarly we have the setting in OSB also it can be don from

configuration file as well as from console also.

for changing it from configuration file,please go to the following location

BEA_HOME\user_projects\domains\osb_domain\alsbdebug.xml

Here there are a lot of properties file,you can get more information on these

properties files from following document

You can also enable the message tracing from OSB console as shown

go to business service -->Go to operational Setting and enable message tracing