問題タブ [procrun]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - procrun を使用してスタンドアロンの Java アプリケーションをサービスとして実行するようにセットアップするにはどうすればよいですか?
commons-daemon (procrun)を使用してスタンドアロン Java サービスをセットアップしようとしています。
procrun の入手先と起動方法を知っている人はいますか?
代替手段はありますか?(Java Service Wrapper を使用しますが、GPL ライセンスのコードは使用できません)
java - Procrun、StopMethod の問題を伴う Java Windows サービス
私の Java クラスには、次のメソッドが含まれています。
public static void main(String[] argv) //サービスを開始する
public static void stop() //サービスを停止します
Apache Commons DaemonのProcrun を使用して、Java クラスを Windows サービスとしてセットアップしています。サービスを停止しようとすると、「[618 javajni.c] [error] Static method 'void main(String[])' in Class com/caphyon/service/JavaService not found」というエラーが表示されます。問題は、サービスのシャットダウン時に stop メソッドを呼び出そうとしていることですが、StopMethod を 'void main(String[])' でオーバーライドしているように見えます。サービスをセットアップするときに使用している停止パラメーターと開始パラメーターは次のとおりです。
prunsrv.exe //US//JavaService --StartClass=com.caphyon.service.JavaService --StartMode=jvm --StartPath="C:\JavaService"
prunsrv.exe //US//JavaService --StopClass=com.caphyon.service.JavaService --StopMode=jvm --StopPath="C:\JavaService" --StopMethod="void stop()"
サービスをシャットダウンするときに prunsrv が呼び出す StopMethod を設定するにはどうすればよいですか?
tomcat - Windows 上の Tomcat
Windows 2003 に Tomcat 6.0.18 をサービスとしてインストールしました。
CATALINA_OPTS 環境変数を設定しようとしましたが、Tomcat によって無視されているようです。代わりに Tomcat Service Manager (procrun) を使用する必要がありますか?
Tomcat をサービスとしてインストールすると、環境変数が表示されず、procrun でのみ動作するのは正常ですか?
ありがとう
daemon - Apache Commons デーモン「Java の作成に失敗しました」エラー
Apache commons デーモンを使用して Windows サービスを開始しようとしています。Windows XP で動作しますが、Windows 7 x64 で実行しようとしています。起動に失敗し、ログに次のエラーが記録されます。
[2010-12-13 17:21:19] [情報] Commons Daemon procrun (1.0.3.0) が開始されました [2010-12-13 17:21:19] [情報] 'NodeService' サービスを実行しています... [2010- 12-13 17:21:19] [情報] サービスを開始しています... [2010-12-13 17:21:19] [エラー] Java の作成に失敗しました [2010-12-13 17:21:19] [エラー] ServiceStart が 1 を返しました [2010-12-13 17:21:19] [info] サービスの実行が終了しました。[2010-12-13 17:21:19] [情報] Commons Daemon procrun が終了しました
念のため、JAVA_HOME を設定し、Java ビンを PATH に追加しました。なぜ起動しないのか、それとも x64 オペレーティング システムに関係しているのかはわかりません。もともと 32 ビット システム用に設計されました。
apache - インストール パスにスペースを含むサービスの作成
Apache の procrun を使用して Windows サービスを作成していますが、適切にセットアップするのに苦労しています。バッチ ファイルを使用して procrun インストールを実行しています。私の質問は 2 つあります。
名前にスペースが含まれるサービスを作成できません。この例は Apache から取得したもので、prunsrv サービスのインストールをセットアップしています。
C:\Program Files\ のどこかにインストール済みのサービスがあり、スペースが含まれています。正しいパスを正しく指すには、 --Install パスを「C:\Program Files\prunsrv.exe」にする必要があります。パスを引用符で囲まない場合:
Windows サービスは、インストール パスを次のように認識します。
これは無効な場所です。私が使用する場合:
Windows サービスは、インストール パスを次のように認識します。
...これも無効な場所です(文字通り、引用符でそのパスを実行しようとします。)
パスにスペースを含む Windows サービスを正しくインストールする方法を知っている人はいますか?
さらに複雑な問題が発生した場合は、より詳細なドキュメントがあると便利です。procrun に関する追加のドキュメントや使用例はありますか? これまでに見つけたリソースのリストは次のとおりです。
- http://commons.apache.org/daemon/procrun.html
- http://srsprasad.blogspot.com/2010/04/converting-java-class-to-windows.html
- http://kickjava.com/src/org/apache/commons/daemon/SimpleDaemon.java.htm
他の質問で使用されている適切なリソースが利用できなくなったようです: http://blog.platinumsolutions.com/node/234
java - commons-daemon procrun&log4jでuser.dirシステムプロパティはどのように解釈されますか?
tomcat5.5.33に同梱されているバージョンのprocrunを使用してJavaバッチプロセスをインストールしました。
インストールでは、(他のJVMオプションの中で)次のように指定します。
log4j.propertiesの構成には次のものが含まれます。
ただし、info.logファイルは次の場所に書き込まれています。
私はuser.dir
多くの異なるポイントでの値をチェックしました、そしてそれは常にC:\LOCAL\serverapps
です。
しかし、log4jはあたかもuser.dir=C:\Windows\System32
(またはのその他のsubir C:\Windows
)のように動作しています。
log4jソース(1.2.16)からわかることから、場所から相対的なパスを作成すると主張するファイルクラスとファイルクラスFileAppender
のみを扱います。java.io.FileOutputStream
user.dir
私はこの問題を回避しましたが、興味があります。他の誰かがこのタイプの動作に遭遇したことがありますか?もしそうなら、実際に何が起こっているのですか?
java - procrun stopservices メソッドが正しく実行されない
奇妙な問題があります。Windows サービスを構成するために Apache サービスを使用しています。Procrun によると、バッチ ファイルはサービスの開始と停止用に構成されているはずです。私の問題は、アプリケーションを起動すると、開始サービスが実行されることです。停止サービスではありません。少し混乱しています。私はこれに長い間取り組んでいます。うまくいかなかった..何か方法はありますか?
java - Commons Daemon の Procrun での DependsOn オプションの正しい使用
Commons Daemonのprocrunを使用して、Windows サービスとして Java アプリケーションを実行しています。Windows XP SP3 で動作しています。
アプリケーションはActiveMQに依存しており、次のバッチ スクリプトを使用してサービスをインストールしました
ただし、ActiveMQ は [管理ツール] の [サービスの依存関係] タブに依存関係として表示されません。
を見るとHKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\TestGenerator\Parameters
、DependsOn
キーは ActiveMQ に正しく設定されていますが、DependsOnService
キーの
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\TestGenerator\Parameters
リストには ActiveMQ がありません。
SC.exe を使用して依存関係を設定することはできますが、上記の他のすべてのパラメーターを指定することはできません。
Procrun で DependsOn を正常に使用できたかどうか教えてください。
windows - Windows Server 2008 で ActiveMQ を 64 ビット サービスとして実行する
以前は Tanuki Java サービス ラッパーを使用して ActiveMQ を実行していました。Windows Server 2008 R2 を実行する 64 ビット サーバーに移行した後、Java サービス ラッパーの Standard または Professional バージョンの料金を支払わない限り、ActiveMQ をサービスとしてインストールできません。
他の人が 64 ビット アーキテクチャの ActiveMQ のサービス ラッパーとして Apache Commons Daemon を使用していたことを読みましたhttp://blog.bigrocksoftware.com/2010/10/07/commons-daemon-procrun-as-a-Java-service-ラッパー-for-activemq/ . このサイトの手順に従って、ActiveMQ をサービスとしてサーバーに正常にインストールできましたが、サービスの開始時にイベント ログにエラーが記録されました。この記事の一番下にコメントしました
この記事の手順に従って ActiveMQ をサービスとしてインストールできましたが、サービス コントロール パネルから ActiveMQ を起動すると、ローカル コンピューターで Windows が ActiveMQ を起動できませんでした。詳細については、システム イベント ログを確認してください。イベント ログを確認すると、ActiveMQ サービスがサービス固有のエラーで終了しました。操作が正常に完了しました。これは私のアーキテクチャに関連している可能性があります。Windows Server 2008 R2 を実行しています。プロセッサは 64 ビット Intel Xeon です。commons-daemon パッケージにそのアーキテクチャが含まれていることはわかりませんでした。インストール時に、amd64/prunsrv.exe または ia64/prunsrv.exe の代わりに汎用の「prunsrv.exe」ファイルを使用しました – インストール中にこれらの exe ファイルを使用しようとするとエラーが発生し、汎用の prunsrv.exe を使用してインストールします。これを私のアーキテクチャで動作させる方法はありますか? または私は何かを逃しましたか?
このリストで誰かが私に何か提案があるかどうか疑問に思っていましたか? おそらく、procrun や 64 ビット Windows で動作する別のサービス ラッパーを介してインストールしたときに見逃したものです。コメントをお待ちしております。
ありがとう。
編集 011312:
ご返信ありがとうございます。activemq-daemon ログには、これらのエラーが一覧表示されます
これらのエラーは、procrun を介してサービスとして activemq をインストールしたオプションの 1 つが間違っている可能性があることを意味すると解釈します。ファイル システムのその場所に jvm.dll が存在することを確認しました。ブログ投稿にリストされているオプションをモデルとして使用して、これらのオプションでprocrunをインストールしました
ActiveMQ.exe //IS//ActiveMQ --DisplayName=" ActiveMQ" --Description=" ActiveMQ Java Messaging Server" --Startup=auto --LogPath=D:\apache-activemq-5.5.0-bin\apache- activemq-5.5.0-bin\apache-activemq-5.5.0\data --LogLevel=INFO --LogPrefix=activemq-daemon --StdOutput=auto --StdError=auto --StartPath=D:\apache-activemq- 5.5.0-bin\apache-activemq-5.5.0-bin\apache-activemq-5.5.0 --StartClass=org.apache.activemq.console.Main --StartMethod=main --StartParams=start --StartMode= jvm --StopPath=D:\apache-activemq-5.5.0-bin\apache-activemq-5.5.0-bin\apache-activemq-5.5.0 --StopClass=org.apache.activemq.console.Main -- StopMethod=main --StopParams=shutdown --StopMode=jvm --Jvm=C:\Program Files\Java\jdk1.6.0_29\jre\bin\server\jvm.dll --Classpath=D:\apache-activemq- 5.5.0-bin\apache-activemq-5.5.0-bin\apache-activemq-5.5.0\bin\run.jar --JvmOptions=-Xmx512M ++JvmOptions=-Dorg.apache.activemq.UseDedicatedTaskRunner=true ++JvmOptions=-Djava.util.logging.config.file=logging.properties++JvmOptions=-Dactivemq.home=D: \apache-activemq-5.5.0-bin\apache-activemq-5.5.0-bin\apache-activemq-5.5.0 ++JvmOptions=-Dactivemq.base=C:\Java\apache-activemq-5.4.1 + +JvmOptions=-Dactivemq.classpath=D:\apache-activemq-5.5.0-bin\apache-activemq-5.5.0-bin\apache-activemq-5.5.0\conf ++JvmOptions=-Dcom.sun.management .jmxremote.port=9004 ++JvmOptions=-Dcom.sun.management.jmxremote.authenticate=false ++JvmOptions=-Dcom.sun.management.jmxremote.ssl=false0 ++JvmOptions=-Dactivemq.base=C:\Java\apache-activemq-5.4.1 ++JvmOptions=-Dactivemq.classpath=D:\apache-activemq-5.5.0-bin\apache-activemq-5.5. 0-bin\apache-activemq-5.5.0\conf ++JvmOptions=-Dcom.sun.management.jmxremote.port=9004 ++JvmOptions=-Dcom.sun.management.jmxremote.authenticate=false ++JvmOptions=- Dcom.sun.management.jmxremote.ssl=false0 ++JvmOptions=-Dactivemq.base=C:\Java\apache-activemq-5.4.1 ++JvmOptions=-Dactivemq.classpath=D:\apache-activemq-5.5.0-bin\apache-activemq-5.5. 0-bin\apache-activemq-5.5.0\conf ++JvmOptions=-Dcom.sun.management.jmxremote.port=9004 ++JvmOptions=-Dcom.sun.management.jmxremote.authenticate=false ++JvmOptions=- Dcom.sun.management.jmxremote.ssl=false
java - ProcrunとともにインストールされたWindowsサービスは//TSモードで動作しますが、「開始してから停止した」と言ってWindowsサービスとして開始されません
次のコマンドを実行して、標準の実行可能jarファイルをWindowsサービスとしてインストールしました。
次のコマンドを実行することで、コンソールモードでプログラムを正常に実行できるようになりました(Java 1.6を使用しています)。
標準のWindowsサービスインターフェイスからサービスを開始しようとすると、次のエラーメッセージが表示されます。
ローカルコンピュータのMyServiceサービスが開始され、その後停止しました。一部のサービスは、他のサービスまたはプログラムで使用されていない場合、自動的に停止します。
この方法でサービスを開始しようとすると、アプリケーションのログファイルに出力がありません。Windowsのイベントログ(Windows 7 64ビット)にも出力はありません。このサービスが実行されない理由を理解するために何ができますか?