WAS v8.5 > Reference > Administrator best practices

Application deployment problems

Check the following first:

Refer to available online support including hints and tips, technotes, and fixes. See Troubleshooting help from IBM.


Application does not display

Application installed using wsadmin, but the application does not display under

The application might be installed but we have not saved the configuration:

  1. Verify the application subdirectory is located under the directory...

      app_server_root/installedApps

  2. Run the $AdminApp list command and verify the application is not among those displayed.

    • cd WAS_HOME/bin
      ./wsadmin.sh

    • From the wsadmin prompt, run...

        $AdminApp list

      ...and verify the problem application is not among the items that display.

  3. Reinstall the application using wsadmin. Run the $AdminConfig save command in wsadmin before exiting.


Unable to save a deployed application

If we are unable to save a deployed application, the problem might be that too many files are opened, exceeding the limit of the operating system.

On the SuSE9 or other Linux platform, we can either increase the number of files that can be opened to resolve the problem or we can modify the application to close files with disciplines. To increase the number of files that we can open at the same time, run the following command:

Only root has authority to adjust the maximum number of files for each process. To modify the application to close files with disciplines:

  1. After you open a file and complete your work, call the close method of the file to release the file handle back to the operating system.
  2. Using the java.io.FileInputStream and the FileOutputStream classes as examples, we can invoke their close method to release any system resources associated with the stream.

java.lang.RuntimeException: Failed_saving_bytes_to_wor_ERROR_ error in the assembly tool, dmgr console or wsadmin

If we see this error when attempting to generate deployed code in an assembly tool, installing an application or module in the dmgr console, or using wsadmin to install an application or module, the file path length of the temporary system file might be exceeded.

To verify this problem, check the TEMP and TMP environment variables for the system. Long environment variables add path length to the file names accessed by the EJB deployment tool.

To resolve the problem:

  1. Stop all WAS processes and close all DOS prompts.
  2. Set the TEMP and TMP environment variables to something short, for example C:\TMP and C:\TEMP.
  3. Reinstall the application.

Otherwise, try rebooting and redeploying or reinstalling the application.


WASX7015E error running wsadmin command $AdminApp installInteractive or $AdminApp install

This problem has two possible causes:


Cannot install a CMP or BMP entity bean in an EJB 3.0 module

When installing an EJB 3.0 module containing a container-managed persistence or bean-managed persistence (BMP) entity bean, the installation fails.

WAS v8.5 does not support installation of applications that have a CMP or BMP entity bean packaged in an EJB 3.0 module. You must package CMP or BMP entity beans in an EJB 2.1 or earlier module.

To resolve this problem:

  1. Package the CMP or BMP entity beans in EJB 2.1 or earlier modules.
  2. Try installing the application with the EJB 2.1 or earlier modules.


DDL generated by an assembly tool throws SQL error on target platform

If we receive SQL errors in attempting to execute data definition language (DDL) statements generated by an assembly tool on a different platform, for example if you are deploying a container-managed persistence enterprise bean designed on Windows onto a UNIX operating system server, try the following actions:

If we receive the following error after executing a DDL file created on the Windows operating system or on operating systems such as AIX or Linux, the problem might come from a difference in file formats:

SQL0104N  An unexpected token "CREATE TABLE AGENT  (COMM DOUBLE,  PERCENT  DOUBLE,  P" 
was found following " ".  Expected tokens may include:  " ".  
SQLSTATE=42601

To resolve this problem:


ADMA0004E: Validation failed

If we see the following error when trying to install an application through the dmgr console or wsadmin prompt:

One possible cause is that, in WAS Version 4.0, it was mandatory to have a data source defined for each CMP bean in each JAR. In v5.0 and later releases, we can specify either a data source for a container-managed persistence bean or a default data source for all CMP beans in the JAR file. Thus during installation interaction, such as the installation wizard in the dmgr console, the data source fields are optional, but the validation performed at the end of the installation checks to see that at least one data source is specified.

To correct this problem, step through the installation again, and specify either a default data source or a data source for each CMP-type enterprise bean.

If we are using wsadmin, use the $AdminApp installInteractive filename command to receive prompts for data sources during installation, or to provide them in a response file.

Specify data sources as an option to the $AdminApp install command.

For details on the syntax, see Install enterprise applications using wsadmin.sh.


Cannot load resource WEB-INF/ibm-web-bnd.xmi in archive file

The web application tmp.war installs on WAS Versions 5.0 and 5.1, but fails on a WAS v6.0 or later server. The application fails to install because the WEB-INF/ibm-web-bnd.xmi file contains xmi tags the underlying WCCM model no longer recognizes.

The following error messages display:

IWAE0007E Could not load resource "WEB-INF/ibm-web-bnd.xmi" in archive "tmp.war"
[2/24/05 14:53:10:297 CST] 000000bc SystemErr     R
AppDeploymentException:
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E Could not load resource "WEB-INF/ibm-web-bnd.xmi" in archive "tmp.war"
[2/24/05 14:53:10:297 CST] 000000bc SystemErr     R
com.ibm.etools.j2ee.commonarchivecore.exception.ResourceLoadException:
IWAE0007E Could not load resource "WEB-INF/ibm-web-bnd.xmi" in archive "tmp.war"
!Stack_trace_of_nested_exce!
com.ibm.etools.j2ee.exception.WrappedRuntimeException: Exception occurred loading WEB-INF/ibm-web-bnd.xmi
!Stack_trace_of_nested_exce!

To work around this problem, remove the xmi:type=EJBLocalRef tag from the ibm-web-bnd.xmi file. Removing this tag does not affect the application because the tag was previously used for matching the cross document reference type. The application now works for the WAS v5.1 and later releases.

For IBM extension and binding files, the .xmi or .xml file name extension is different depending on whether you are using a pre-Java EE 5 application or module or a Java EE 5 or later application or module. An IBM extension or binding file is named ibm-*-ext.xmi or ibm-*-bnd.xmi where * is the type of extension or binding file such as app, application, ejb-jar, or web. The following conditions apply:

However, a Java EE 5 or later module can exist within an application that includes pre-Java EE 5 files and uses the .xmi file name extension.

The ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, and ibm-portlet-ext.xmi files continue to use the .xmi file extensions. sptcfg


"Timeout!!!"error displays when attempting to install an enterprise application in the dmgr console

This error can occur if you attempt to install an enterprise application that has not been deployed.

To correct this problem:


NameNotFoundException message when deploying an application containing an EJB module

If we specify the EJB deployment tool be run during application installation and the installation fails with a NameNotFoundException message, ensure the input JAR or EAR file does not contain source files. If there are source files in the input JAR or EAR file, the EJB deployment tools runs a rebuild before generating the deployment code.

To work around this problem, either remove the source files or include all dependent classes and resource files on the class path. Otherwise, the source files or the lack of access to dependent classes and resource files might cause problems during rebuilding of the application on the server.

During application installation, the call to EJB deploy causes an exception

When we specify the EJB deployment tool be run during application installation and if installation fails with the error command line too long, the problem is the deployment command generated during installation exceeds the character limit for a command line on the Windows platform.

To work around this problem, we can reduce the length of the EAR file name, reduce the length of the JAR file name within the EAR file, reduce the class path or other options specified for deployment, or change the %TEMP% location of the Windows system to make its path shorter.


Compilation errors and EJB deploy fails when installing an EJB JAR file generated for v5.x or earlier

When installing an old application that uses EJB modules that were built to run on WAS v5.x or earlier, compilation errors result and EJB deploy fails. The EJB JAR file contains Java source for the old generated code. The old Java source was generated for v5.x or before but, when deployed to a WAS v6.x or later product, it is compiled using the v6.0 or later runtime JAR files.

To work around this problem, remove all .java files from the application EAR file. After the Java source files are removed, we can deploy the application onto a server successfully.


After installing the application onto a different machine, the application does not run

If the application uses application level resources, its application level node information must be correct for the application to run as expected.

When you add application level resources to an application and deploy the application onto a machine, ensure the application level node information is correct. Otherwise, when we install the application onto a different machine, it is installed to the wrong location and the application does not run as expected.

We can update the application level node information using an assembly tool. Update the nodeName from deploymentTargets of the deployment.xml file under ibmconfig. Also, ensure that binariesURL from deployedObject of the deployment.xml file has the correct path.


A single file replaces all application files during application update

If we select the Replace or add a single file option of the application update wizard and the currently deployed application consists of several files, specify the full path name of the file to be replaced or added for Specify the path beginning with the installed application archive file to the file to be replaced or added.

A full path name usually has the structure directory_path/file_name and resembles the following:

Do not specify less than the full path name for Specify the path beginning with the installed application archive file to the file to be replaced or added. For example, do not specify only a directory path:

If we specify less than a full path name, all files in the directory of the currently deployed application might be replaced by the single new file that was specified under Specify the path to the file.


Related concepts:

Development and assembly tools


Related


Troubleshooting deployment
Install enterprise application files


Reference:

Prepare for application update settings


+

Search Tips   |   Advanced Search