Skip to content
Snippets Groups Projects
floodlight.sh 1.26 KiB
Newer Older
  • Learn to ignore specific revisions
  • #!/bin/sh
    
    # Set paths
    FL_HOME=`dirname $0`
    FL_JAR="${FL_HOME}/target/floodlight.jar"
    FL_LOGBACK="${FL_HOME}/logback.xml"
    
    # Set JVM options
    JVM_OPTS=""
    JVM_OPTS="$JVM_OPTS -server -d64"
    JVM_OPTS="$JVM_OPTS -Xmx2g -Xms2g -Xmn800m"
    JVM_OPTS="$JVM_OPTS -XX:+UseParallelGC -XX:+AggressiveOpts -XX:+UseFastAccessorMethods"
    
    JVM_OPTS="$JVM_OPTS -XX:MaxInlineSize=8192 -XX:FreqInlineSize=8192"
    
    JVM_OPTS="$JVM_OPTS -XX:CompileThreshold=1500 -XX:PreBlockSpin=8"
    
    JVM_OPTS="$JVM_OPTS -Dpython.security.respectJavaAccessibility=false"
    
    
    # Create a logback file if required
    [ -f ${FL_LOGBACK} ] || cat <<EOF_LOGBACK >${FL_LOGBACK}
    
    Alex Reimers's avatar
    Alex Reimers committed
    <configuration scan="true">
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    
            <encoder>
    
    Alex Reimers's avatar
    Alex Reimers committed
                <pattern>%level [%logger:%thread] %msg%n</pattern>
    
            </encoder>
    
    Alex Reimers's avatar
    Alex Reimers committed
        </appender>
        <root level="INFO">
    
            <appender-ref ref="STDOUT" />
    
    Alex Reimers's avatar
    Alex Reimers committed
        </root>
    
        <logger name="org" level="ALL"/>
        <logger name="LogService" level="DEBUG"/> <!-- Restlet access logging -->
        <logger name="net.floodlightcontroller" level="ALL"/>
        <logger name="net.floodlightcontroller.logging" level="ALL"/>
    
    Alex Reimers's avatar
    Alex Reimers committed
    </configuration>
    
    EOF_LOGBACK
    
    echo "Starting floodlight server ..."
    
    java ${JVM_OPTS} -Dlogback.configurationFile=${FL_LOGBACK} -jar ${FL_JAR} "$@"