Here, I'll walk you through the java source code, responsible for starting the [AAS Server](What-am-I-looking-at-here#aas-server). Additional startup procedures are explained in the documentation for the [`start_component.sh`](TODO) and the [`run_demo.sh`](TODO) scripts.
The discussed file can be found [here](https://gitlab.hrz.tu-chemnitz.de/s6869070--tu-dresden.de/vws-spielwiese/-/blob/b1802bdd98650bdb666f03483f1e13c7f99bf4b8/basyx.lichterkette/src/main/java/de/olipar/basyx/lichterkette/AASServer.java).
This is very similar to the [AAS Registry starter](AAS-Registry-starter-walkthrough).
We'll skip the license header, imports and comments, as they are either pretty much self explanatory or not the product of conscious development effort.
At the start of the `AASServer`-class, we aquire a logger object, to which all console output will be passed. This is not only used internally by BaSyx too, but allows us to easily utilize different loglevels, such as `INFO`, `WARN` and `ERROR`, indicating severity.
```java
publicstaticvoidmain(String[]args){
```
We then define a `main`-method, as this class is executable. It will be called to startup the AAS Server.
```java
finalintHOSTPORT=Common.getHostPort();
logger.info("Local host port is set to "+HOSTPORT);
```
Here, we invoke the static method `getHostPort()` of the [`Common`-class](TODO). The port on which to host the AAS Server is grabbed from an environment variable, if present and set to a fallback value if not. The set port is then logged via the `Logger` object acquired above.
```java
finalStringREGISTRYPATH=Common.getRegistryPath();
logger.info("Registry path set to "+REGISTRYPATH);
```
Here, the path to the registry is set via the similar to above. More details can be found in the walkthrough of the [`Common`-class](TODO).
```java
startAASServer(REGISTRYPATH,HOSTPORT);
```
Lastly, we startup the AAS Server by invoking the method defined next:
This method is used to handle the actual startup of an AAS Server instance, given a registry path and port to host it on.
It is based on the startup method given by the BaSyx documentation in [this example](https://wiki.eclipse.org/BaSyx_/_Introductory_Examples_/_Java_/_Example_6), only the registry path and port to host it on have been parametrized.