WAS v8.5 > Reference > Administrator best practicesApplication startup problems
When an application is not starting or starting with errors, the problem could be from one of various sources.
What kind of error do you see when we start an application?
- WSVR0100W: An error occurred initializing, application_name java.lang.NullPointerException when starting a migrated application
- A java.lang.ClassNotFoundException: classname Bean_AdderServiceHome_04f0e027Bean error occurs
- A ConnectionFac E J2CA0102E: Invalid EJB component: Cannot use an EJB module with version 1.1 using The Relational Resource Adapter error occurs
- NMSV0605E: A Reference object looked up from the context... error when starting an application.
- A parsing error when running an application that uses the JSF configuration occurs.
- A Page Not Found, Array Index Out of Bounds, or other error when an updated application restarts
If none of these errors match the error you see:
- Browse the log files of the application server for this application looking for clues. By default, these files are: app_server_root/logs/server_name/SystemErr.log and SystemOut.log.
- Look up any error or warning messages in the message reference table by clicking the Reference view and expanding Messages.
IBM recommends using the HPEL log and trace infrastructure. With HPEL, one views logs using the LogViewer command-line tool in PROFILE/bin.
If we do not see a problem that resembles yours, or if the information provided does not solve your problem, see IBM Support troubleshooting information.
WSVR0100W: An error occurred initializing, application_name java.lang.NullPointerException when starting a migrated application
After you migrate an enterprise application to v8.0, the application might not start. Attempts to start the application result in an error such as WSVR0100W: An error occurred initializing, application_name java.lang.NullPointerException.
Examine the deployment.xml file of the migrated application, and remove targetMapping statements such as the following:
<targetMappings xmi:id="DeploymentTargetMapping_1279594183813" enable="true"/>"
Then, try starting the application again. The v8.0 runtime has an application validation process that might not support migrated targetMappings settings.
java.lang.ClassNotFoundException: classname Bean_AdderServiceHome_04f0e027Bean
An similar exception occurs when we try to start an undeployed application containing enterprise beans, or containing undeployed enterprise bean modules.
Enterprise JavaBeans modules created in an assembly tool intentionally have incomplete configuration information. Deploying these modules completes the configuration by reading the module's deployment descriptor and completing platform- or installation-dependent settings and adding related classes to the Enterprise JavaBeans JAR file.
To avoid this problem, do the following:
- Use an assembly tool and dmgr console to generate deployment code and install the application or Enterprise JavaBeans module onto a server.
- Uninstall the application or Enterprise JavaBeans module in the dmgr console.
- Configure your assembly tool so the target server is a WebSphere Application Server installation. If we do not have access to the target server, we can specify a false location such as /temp. Specifying a false location enables you to assemble and generate deployment code for the enterprise bean.
- In the Project Explorer view of an assembly tool, right-click the enterprise bean (Enterprise JavaBeans) in the undeployed .ear file containing the Enterprise JavaBeans module or the stand-alone undeployed Enterprise JavaBeans JAR file, and click Deploy. If your assembly tool can access the WAS target server, deployment code is generated for the Enterprise JavaBeans and the assembly tool attempts to install the application or module onto the target server. If your assembly tool cannot access the WAS target server or the installation fails, use the deployment code generated for the next step.
For information on using an assembly tool, refer to the topic on assembling applications.
- Use the wsadmin $AdminApp install command or the dmgr console to install the deployed version created by the assembly tool.
- If we use the wsadmin $AdminApp install command, uninstall it and then reinstall using the -EJBDeploy option. Follow the install command with the $AdminConfig save command.
ConnectionFac E J2CA0102E: Invalid EJB component: Cannot use an EJB module with version 1.1 using The Relational Resource Adapter
This error occurs when an enterprise bean developed to the Enterprise JavaBeans 1.1 specification is deployed with a WAS V5 J2C-compliant data source, which is the default data source. By default, persistent enterprise beans created under WAS V4.0 using the Application Assembly Tool fulfill the Enterprise JavaBeans 1.1 specification. To run on WAS V6, these enterprise beans must be associated with a WAS V4.0-type data source.
Either modify the mapping in the application of enterprise beans to associate 1.x container managed persistence (CMP) beans to associate them with a V4.0 data source or delete the existing data source and create a V4.0 data source with the same name.
To modify the mapping in the application of enterprise beans, in the dmgr console, select the properties for the problem application and use Map resource references to resources or Map data sources for all 1.x CMP beans to switch the data source the enterprise bean uses. Save the configuration and restart the application.
To delete the existing data source and create a V4.0 data source with the same name:
- In the dmgr console, click Resources > Manage JDBC Providers > JDBC_provider_name > Data sources.
- Delete the data source associated with the Enterprise JavaBeans 1.1 module.
- Click Resources > Manage JDBC Providers > JDBC_provider_name > Data sources (Version 4).
- Create the data source for the Enterprise JavaBeans 1.1 module.
- Save the configuration and restart the application.
NMSV0605E: "A Reference object looked up from the context..." error when starting an application
If the full text of the error is similar to:
[7/17/02 15:20:52:093 CDT] 5ae5a5e2 UrlContextHel W NMSV0605E: A Reference object looked up from the context "java": with the name "comp/PM/WebSphereCMPConnectionFactory" was sent to the JNDI Naming Manager and an exception resulted. Reference data follows: Reference Factory Class Name: com.ibm.ws.naming.util.IndirectJndiLookupObjectFactory Reference Factory Class Location URLs: Reference Class Name: java.lang.Object Type: JndiLookupInfo Content: JndiLookupInfo: ; jndiName="eis/jdbc/MyDatasource_CMP"; providerURL=""; initialContextFactory=""then the problem might be the data source intended to support a CMP enterprise bean is not correctly associated with the enterprise bean.
To resolve this problem:
- Select the Use this Data Source in container managed persistence (CMP) check box in the data source "General Properties" panel of the dmgr console.
- Verify the JNDI name in either of the following ways:
- Verify the JNDI name given in the dmgr console under Resources > Manage JDBC Providers > DataSource > JNDI Name for DataSource matches the JNDI name given for CMP or BMP resource bindings at the time of assembling the application in an assembly tool.
- Check the JNDI name for CMP or BMP resource bindings specified in the code by J2EE application developer. Open the deployed .ear folder in an assembly tool, and look for the JNDI name for the entity beans under CMP or BMP resource bindings. Verify the names match.
Parsing error when running an application that uses the JSF configuration
If we are using double-byte characters in the profile name, you receive a parsing error when running an application that uses the JavaServer Faces (JSF) configuration. The problem is related to the JSF configuration that is part of the jsf-ibm.jar, included when building JSF applications in Rational Application Developer. The configuration files are referencing entities from inside the main faces-config.xml file.
Avoid using double-byte characters when we create a profile.
A Page Not Found, Array Index Out of Bounds, or other error when an updated application restarts
If an application is updated while it is running, WAS automatically stops the application or only its changed components, updates the application logic, and restarts the stopped application or its components. For more information on the restarting of updated applications, refer to Fine-grained recycle behavior in IBM WebSphere Developer Technical Journal: System management for WAS V6 -- Part 5 Flexible options for updating deployed applications.
A Page Not Found, Array Index Out of Bounds, or other error might occur during restarting.
To minimize the occurrence of such errors, update applications in a test environment before updating the applications in a production environment. Do not put changes directly into a production environment.
Related concepts:
Development and assembly tools
Related
Troubleshooting deployment
View JVM logs
Uninstall enterprise applications using the console
Remove enterprise files
Assemble applications
Troubleshoot applications with HPEL
Related information:
Common malpractices whitepaper (Eleven ways to wreck a deployment)