Search code examples
springtimeoutwebsphererad

What are some Websphere Application Server "time-out definition" solutions?


My organization is using Websphere Application Server with RAD. My unit is developing Web Services that take data from a consumer, and often pass the data through other Web Services.

Currently, we have two ways of defining time-out's for data to be returned from called services:

  • Using the Spring framework
  • Websphere profile configuration

If we need to update the values using Spring we need to re-deploy our service. If we define them as JVM properties we need to do a JVM configuration change and 'restart/recycle/stop and start' the application.

My co-worker had it suggested to him that there may be some better solutions to this problem. I'm wondering if this is true, and if so what they are?

edit: One option we might be considering is "Application Policy Sets". We'd like to know if this is a good alternative method:

  • can we define Spring to leverage policy sets
  • can we define multiple policy sets for an application when timeout values for different services called by our service are different?
  • Does this console change take affect at run-time, or do we need to recycle?

Solution

  • I suggest you use JAX-WS policy sets and bindings on WAS level, because it allows you to:

    • define policy set for each web service separately
    • in policy set define web service parameters, from HTTP transport parameters to WS-Security policies such as UsernameToken, digital signature and encryption
    • web services remain unchanged, the code remains the same
    • there is only one place where you change it: in WAS console, application is not changed

    The only drawback here is that web services should be generated from RAD (you can use top-down or bottom-up approach).

    Please see more details in this excellent 3-part DeveloperWorks tutorial