WebSphere Process Server (WPS) might be slow to start up when using schemas, such as Spring components, in a limited network

Technote (troubleshooting)


Problem(Abstract)

When an application that uses Spring components is deployed to WebSphere Process Server, the WebSphere Process Server server takes a long time to startup. The WebSphere Process Server server has limited network access and cannot reach the http://www.springframework.org site.
This issue occurs even if the application is not a Service Component Architecture (SCA) application.

Symptom

Log files or ArtifactLoader trace might indicate delays that are similar to the following message:

[9/20/11 13:09:16:264 EDT] 0000000a XMLParser     W   java.net.SocketException occurs during processing http://www.springframework.org/schema/tool/spring-tool-2.0.xsd: Connection timed out:could be due to invalid address.


Cause

The .xsd files in the Spring .jar files contain references to other .xsd files that are located remotely using the schemalocation value. The schemalocation value refers to the following remote site: http://www.springframework.org

For example:
<xsd:import namespace="http://www.springframework.org/schema/tool" schemaLocation="http://www.springframework.org/schema/tool/spring-tool-2.5.xsd"/>    

If your server does not have network access to this site, then the server waits for the timeout period to connect to the URL that is specified for the schemaLocation value. If there are many "imports" to unreachable URLs, this process can add up to significant delays.

During the startup process, the actual subsystem that does the look up is the ArtifactLoader system in WebSphere Process Server. This system must scan all artifacts to index to be aware of all possible artifacts. During this scan, the system also looks up all declared "imports" to remote schemas. This index is used solely for WebSphere Process Server Business Object functionality and does not interact or interfere with third party functionality. This indexing takes place even if the artifact or the entire application is not involved with a WebSphere Process Server scenario.


Environment

This issue can occur on any server that has slow or no network access to locations that are specified by the schemaLocation value in XSD files. Although this issue often occurs when you use Spring components, it might occur with any XSD files that have remote schemaLocation values.

Diagnosing the problem

You can use ArtifactLoader trace to identify the delay and the specific XSD files that have remote schemaLocation values.


For more information on setting up ArtifactLoader trace, see Collect troubleshooting data for artifact loader problems with WebSphere Process Server.

For this specific problem, the following trace specification provides the most comprehensive information:
=info:com.ibm.wbiserver.relationshipservice.*=all:ArtifactLoader=all:Runtime=all:com.ibm.ws.classloader.*=all:com.ibm.ws.al.*=all


Resolving the problem

The ArtifactLoader does not have the capability to override the schemaLocation values that are declared within the files. However, completing either of the following steps might resolve the issue:

  • Modify the Spring Java™ archive (.jar) files and change all the XSD files that have a remote schemalocation value to either:
    • Remove the schemaLocation reference.

    • Point to a locally accessible copy of the file.

  • Modify your machine (Hosts file) to map the schemaLocation host name to the local host IP address (127.0.0.1). Although this approach does not change functional behavior, it causes the error to occur immediately, which removes the delays. You can implement this modification if the XSD definitions are not used in a WebSphere Process Server scenario (typically for Spring component usage, or non-SCA modules run on WebSphere Process Server).

Product Alias/Synonym

WPS

Rate this page:

(0 users)Average rating

Document information


More support for:

WebSphere Process Server
Artifact Loader/Resolver

Software version:

6.1, 6.1.0.1, 6.1.0.2, 6.1.0.3, 6.1.0.4, 6.1.2, 6.1.2.1, 6.1.2.2, 6.1.2.3, 6.2, 6.2.0.1, 6.2.0.2, 6.2.0.3, 7.0, 7.0.0.1, 7.0.0.2, 7.0.0.3, 7.0.0.4

Operating system(s):

AIX, HP-UX, Linux, Linux zSeries, Solaris, Windows, i5/OS, z/OS

Reference #:

1567328

Modified date:

2012-06-14

Translate my page

Machine Translation

Content navigation