Skip to Content
Technical Articles
Author's profile photo Juan Reyes

Basic start-up troubleshooting JAVA – the logical sequel!

After writing Basic start-up troubleshooting – the logical sequence! I promised to deliver a Java version of it. It has taken rather a long time but I finally put together my attempt to describe the basic flow of a Java System startup and the possible areas where problems can occur.

This is not by any means perfect but I like to believe it gives a decent overview of the process.

Database Starts

As on ABAP the first step is to check and start the database. No dedicated developer trace is created in the work directory as the database has its own logs.  If the database does not start correctly it should be visible within seconds and errors will be available within the DB logs.

Developer traces: Refer to your DB logs.

Startup

JSTART is called next, it takes the role of the Java instance controller which analyzes its configuration and initializes SAP signal handling and opens the control port.

There is very rarely an issue with the initial load of JSTART. If for some reason this fails you most likely have a problem with your instance profile.

Developer traces: dev_jstart

Offline Deployment

The Java instance controller reads the instance definition and creates a child process that initializes JVM and starts the OFFLINE DEPLOYMENT program which performs the deployment steps in the Java database.

In the ‘business as usual’ scenario this is very unlikely to end up in an error. These days most deployments are done automaticaly using SUM, the traces will be filled when the instance is stopped and started during the SUM deployment phase.

Developer traces: dev_deployment, std_deployment.out and jvm_deployment.out

Bootstrap

BOOTSTRAP synchronizes the binary data in the Java database with the local file system.

This is where you will most likely find issues during your system startup. Errors during this phase are common and usually caused by issues in one of the following areas;

1. Problems at DB Level

There is a large number of reasons for this to fail going from DB availability to problems with listeners and DB user authentication.

Bootstrap Stops Due to Database Problems – Configuration of SAP NetWeaver – SAP Library

2. Problems at the File System Level

Problems with environmental variables, file permissions, file availability, mounts, etc…

Bootstrap Stops Due to File System Problems – Configuration of SAP NetWeaver – SAP Library

3. Problems at the Configuration Level

Java VM settings configured incorrectly, usually related to memory allocation.

Bootstrap Stops Due to Configuration Problems – Configuration of SAP NetWeaver – SAP Library

Developer traces:dev_bootstrap, std_bootstrap.out and  jvm_bootstrap.out

Internet Communication Manager (ICM)

The Java instance controller starts the processes for infrastructure nodes – the most important in my opinion is ICM; ICM handles the HTTP request directed to the AS JAVA system.

If there is an issue with ICM you’ll see an error on screen while calling the java standard URL. http://<host>.<fqdn>:<port> you will also find the details on the ICM developer trace.

Developer traces: dev_icm

Server Node

When all infrastructure processes are started, the Java instance controller starts the processes for the server nodes.

Finally, your Java system is running and if there was an issue with any request dealt with by this server node you will find information about it on the developer trace.

Developer traces: dev_server0, std_server0.out and jvm_server0.out

 

Hope this is a good basic explanation of where to start when troubleshooting a Java Startup problem!

As a reference I have taken the freedom to borrow this lovely chart from SAP Help to ilustrate my case

(Image Source: Startup, Operation and Shutdown of an AS Java Instance – Administration – SAP Library)

 

This graphic is explained in the accompanying text.

Love to hear your comments,

Assigned Tags

      12 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Nicolaas Johannes Van Zyl
      Nicolaas Johannes Van Zyl

      I am drinking my cup of java now 🙂

      Author's profile photo Juan Reyes
      Juan Reyes
      Blog Post Author

      Enjoy

      Author's profile photo Willi Eimler
      Willi Eimler

      good blog, very good picture! This one is in my bookmarks now.

      Author's profile photo Anurag Das
      Anurag Das

      Hi Juan

      Very Nice Explanation and the picture is really very helpful for visualization.

      Regards

      Anurag

      Author's profile photo Juan Reyes
      Juan Reyes
      Blog Post Author

      Thanks!

      Author's profile photo Fernando Vignolo Pena
      Fernando Vignolo Pena

      Excelent blog, clear information.  Thanks for sharing it.

      Author's profile photo Ashutosh Chaturvedi
      Ashutosh Chaturvedi

      Thanks Juan for the excellent blog!!!

      With Regards

      Ashutosh Chaturvedi

      Author's profile photo Juan Reyes
      Juan Reyes
      Blog Post Author

      Thanks Ashutosh

      Author's profile photo Kaushik G
      Kaushik G

      Thanks Juan,

      Clear explanation

      Regards

      kaushik G

      Author's profile photo Asad S Zafer
      Asad S Zafer

      Great blog Juan!!!

      Thanks,

      Asad Zafer

       

      Author's profile photo Sebastian Kayatas
      Sebastian Kayatas

      Hello Juan

      It would have been even more awesome if you can explain briefly some of the process here:

      Java offline deployment: What is being deployed here? How is the flow of deployment? SAP NetWeaver Java DB started already and i am not clear on the flow of this process. what is being read and where java components are being deployed? on NW DB? Aren’t the components already deployed? Can you please elaborate on this process?

      Java Bootstrap – What part of the file system and DB are synchronized? I know for fact no repository objects are synched, and how is the flow of synchronization? from DB to file vs from file to DB?

       

      Thanks a lot. I really appreciate if you can help clear these points

      Author's profile photo Arjun Peddagopi
      Arjun Peddagopi

      Really awesome, the explanation of AS java startup sequence. Please update more topics.

       

      Thanks & Regards,

      Arjun Peddagopi