質問

私は一緒に仕事をしようとしています 埋め込み可能なGlassfishアプリクライアントコンテナ。私が見つけることができる唯一のリソースは、この食欲をそそるコードスニペットを含む上記のJavadocsです

import org.glassfish.appclient.client.acc.AppClientContainer;
import org.glassfish.appclient.client.acc.config.TargetServer;

AppClientContainerBuilder builder = AppClientContainer.newBuilder(
   new TargetServer("localhost", 3700));

AppClientContainer acc = builder.newContainer(new File("myAC.jar").toURI());

(または、あるいは)

AppClientContainer acc = builder.newContainer(MyClient.class);

それから、

acc.startClient(clientArgs);
// The newContainer method returns as soon as the client's main method returns,
// even if the client has started another thread or is using the AWT event
// dispatcher thread 
// At some later point, the program can synchronize with the app client in
// a user-specified way at which point it could invoke

acc.stop();

これはかなり素晴らしいように見えますが、さまざまなエラーでこれを数回実行しようとしました。

誰かがこれを使用して経験を積んだことがありますか、それとも、これで作業する方法を説明するいくつかのリソースの方向に私を向けることができますか?

役に立ちましたか?

解決

これは、Glassfish 3.1.2と簡単なJava Swing UIアプリケーションで動作しています。ターゲットサーバーによって指定されたホスト/ポートは無視されているように見えます。システムプロパティを設定する必要がありました。

org.omg.CORBA.ORBInitialHost = hostname
org.omg.CORBA.ORBInitialPort = 2037

デフォルトのポートで実行されていないため、接続を取得します。

すべてをコンパイルするために、OracleがAppClientContainerなどがパッケージに含まれていることを文書化した場合に役立ちます。

org.glassfish.appclient.client.acc

次に、コンピレーションに必要な.jarsを見つけることができます。

gf-client,jar, gf-client-module.jar, acc-config.jar

AppClientContainer.startClientは、メソッドを呼び出そうとします。

public static void main(String[] args)

myclient.classでは、まさにあなたが望むものではないかもしれません。私の場合、私の目標は、Eclipseベースのアプリケーションでこの作業を行うことです。これは、発売を「所有」したいと考えています。さらに、私が必要とするOSGI環境は、Glassfish ACCと完全に対立しているようで、独自のクラスロードメカニズムを持っています。

に必要ですが StartClient 電話、 主要 メソッドは、別のスレッドや特別なもので呼び出されないようです。何もしないダミーのメインを単純に提供し、すべてのアプリケーションコードをすぐに提供できることがわかりました StartClient リターンを呼び出します。

このACCの実装全体は、スタンドアロンクライアントをGlassfish 3で実行しているアプリケーションに接続する唯一のサポートされている方法のようです。V2で利用可能なシンプルさと比較して、かなり不十分です。 .jarsの巨大なリストには、私にはまったく興味のないあらゆる種類のものが含まれています。実際、私はこのメッセージを見ます。

15-May-2012 17:49:27 com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyClient
INFO: Cannot find javadb client jar file, derby jdbc driver will not be available by default.

また、OracleはBean-Validator.jarにSLF4Jロガーの実装を捨てました。

Glassfish EJB FAQで http://glassfish.java.net/javaee5/ejb/ejb_faq.html V3のために更新されており、いくつかの助けもあります。

他のヒント

周りにはまともなドキュメントがあるようです ACCを使用してクライアントを開発します Oracleのサイトで。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top