0

Windows Server 2008 の Karaf 3.0.1 で一連のアプリケーションを実行しています。サービスの 1 つが依存しているサード パーティのライブラリで問題が発生しています。

karaf のインストールは、専用の Active Directory サービス ユーザー アカウントとして実行されます。(自分のログインを使用して) Windows サーバーにログインし、karaf サービス ユーザーとして (run-as を使用して) コマンド プロンプトを開き、karaf を起動すると、すべてのプロセスが正しく機能します。

しかし、karaf を Windows サービスとして実行したいのです。指示に従って karaf ラッパーを使用すると、サービスとしてインストールされました。コンソールでインタラクティブに実行するために使用したのと同じkarafサービスユーザーとして実行していますが、Windowsサービスから実行しているときはいつでも、ラッパーログに「ロードまたは検索できませんでした」というメッセージが表示されます。パーティーライブラリ。サードパーティのライブラリを開示できるかどうかはわかりませんが、それが重要であれば、その機能の一部に JNI を使用していると思います。関連する dll があり、完全を期すために deploy フォルダーと Windows\system32 / syswow64 フォルダーの両方にこの dll のコピーがあります。karaf サービス ユーザーにも karaf フォルダー全体に対する完全な権限を与えました。

これは、ある種のアクセス許可の問題、またはラッパー サービスの構成に何かが欠けているように見えますが、何も飛び出していません。サービスとして実行している karaf と、同じユーザー資格情報を使用してコンソールから実行している karaf の違いは何ですか? 他のアイデアはありますか?


編集: ラッパーに関するドキュメントをさらに調べた後、dll を karaf インストールの下の \lib フォルダーに配置することになりました。その後、私のアプリケーションは機能しているようです。

4

1 に答える 1

1

dll のタイプによっては、提供されているサービス ラッパーが 32 ビットのみのラッパーであることが原因である可能性があります。これは、Tanuki Service Wrapper のライセンスの問題が原因です。そのため、サービスを使用する代わりに bin/karaf で開始する場合、dll を使用すると機能する可能性があります。Tanuki Wrapper を使用する場合は、自分でインストールして使用できるはずです。その最新かつ最高のバージョンは、ライセンスの問題により出荷できません。

于 2014-12-27T13:43:46.193 に答える