Please read first the article How to operate JobScheduler with Jetty for general information.

You can use the Jetty of the JobScheduler for your own application.

  • We assume we have an application in /home/[jobscheduler_user]/my_app which calls a java servlet via ajax with ./myappservlet?some=query.
  • We assume the Java servlet class is com.my.apps.MyServlet and it is complied in com.my.apps.jar.

The following steps are necessary to call the application by

http://[jobscheduler_host]:[jobscheduler_jetty_port]/jobscheduler/myapp/

where [scheduler_host] and [jobscheduler_jetty_port] have to substitute with the hostname and the jetty port of the JobScheduler.

  • Put the my_app.jar into the JobScheduler java class path
    • Create a folder my_app in the JobScheduler ./lib directory and store the com.my.apps.jar in this new folder.
    • Open the ./config/factory.ini and add the com.my.apps.jar to the class path
 ... 
 [java]
 class_path  = ${SCHEDULER_HOME}/lib/my_app/com.my.apps.jar:${SCHEDULER_HOME}/lib/*.jar:${SCHEDULER_HOME}/lib/hibernate/*.jar:${SCHEDULER_HOME}/lib/jetty_ext/*.jar
 ...
  • Add the following servlet elements to the ./config/web.xml (where [scheduler_user] have to substitute with the username of the JobScheduler).
    <servlet>
        <servlet-name>MyApp</servlet-name>
        <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
        <init-param>
            <param-name>resourceBase</param-name>
            <param-value>/home/[scheduler_user]</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyApp</servlet-name>
        <url-pattern>/myapp/*</url-pattern>
    </servlet-mapping>
    
    <servlet>
        <servlet-name>MyAppServlet</servlet-name>
        <servlet-class>com.my.apps.MyServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyAppServlet</servlet-name>
        <url-pattern>/myappservlet</url-pattern>
    </servlet-mapping>

  • Restart the JobScheduler and call

    http://[scheduler_host]:[scheduler_jetty_port]/jobscheduler/myapp/