1

私は何時間もの間、さまざまな記事や例を見てきましたが、自分自身を完全に混乱させることに成功しました。YAJSW をサービス ラッパーとして使用し、実行可能 JAR ファイルを Windows サービスとしてインストールしようとしています。以前は Tanukisoft のコミュニティ エディションのラッパーを使用していましたが、うまく機能しましたが、64 ビット Windows バージョンは CE で利用できません。

いくつか質問があると思います。

  1. 古いソフトウェアでは、WrapperListener を実装する必要はありませんでした。これはYAJSWに必要ですか?
  2. もしそうなら、良い例はありますか?いくつか見てきましたが、私のアプリケーションはメイン クラスから何も返しません。そのメイン クラスは、REST API からの入力を読み取り、受け取った情報を処理するスレッドを生成する、常時実行される URL 接続です。クリーンな終了のためのシャットダウン フックがあります。
  3. Tanukis の構成 (以下) を YAJSW の構成に変換して同じ機能を維持する簡単な方法はありますか?
    set.JAVA_HOME=C:/Program Files/Java/jre1.8.0_181
    set.APP_HOME=G:/ProgFolder
    wrapper.lang.folder=%APP_HOME%/lang
    wrapper.java.command=java

    wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

    # Java Classpath (include wrapper.jar)  Add class path elements as
    #  needed starting from 1
    #wrapper.java.classpath.1=../lib/wrappertest.jar
    wrapper.java.classpath.1=%APP_HOME%/lib/wrapper.jar
    wrapper.java.classpath.2=%APP_HOME%/RESTReader.jar
    wrapper.java.classpath.3=%APP_HOME%/lib/javax.mail.jar
    wrapper.java.classpath.4=%APP_HOME%

    # Java Library Path (location of Wrapper.DLL or libwrapper.so)
    wrapper.java.library.path.1=%APP_HOME%/lib

    # Java Bits.  On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
    wrapper.java.additional.auto_bits=TRUE

    # Java Additional Parameters
    wrapper.java.additional.1=-Dlog4j.configurationFile=file:/%APP_HOME%/conf/log4j2.xml
    wrapper.java.additional.2=-Dorg.tanukisoftware.wrapper.WrapperSimpleApp.waitForStartMain=FALSE

    # Application parameters.  Add parameters as needed starting from 1
    #wrapper.app.parameter.1=
    wrapper.app.parameter.1=com.my.org.RESTReader.EventReg

    wrapper.jvm_exit.timeout=120
    wrapper.shutdown.timeout=120

    # Name of the service
    wrapper.name=RESTReader

    # Display name of the service
    wrapper.displayname=REST Alarm Manager

    # Description of the service
    wrapper.description=REST Alarm Manager

    # Mode in which the service is installed.  AUTO_START, DELAY_START or DEMAND_START
    wrapper.ntservice.starttype=DELAY_START

    # Allow the service to interact with the desktop.
    wrapper.ntservice.interactive=false
4

1 に答える 1