« アクセス解析 | メイン | 電子投票 »

リモートクラスロード

信頼するWEBからクラスをダウンロードし、オブジェクトを生成・実行させる。

 ブートストラップだけを配布した後、WEBに配置したクラスだけを更新することが可能。いろいろな応用例が考えられる。RMIではないのでサーバーを選ばず、jarを配置しダウンロード可能であればよい。
●サーバー側のArchive.jar
Javaクイックリファレンス第4版Java 1.4対応

public class ClassRemote
{
public ClassRemote()
{
System.out.println( "サーバー上のコード(コンストラクタ)" );
}
}

●クライアント側

import java.net.URL;
import java.net.URLClassLoader;

class Client
{
public static void main( String args[] )
{
try
{
// URL[] url = { new URL( "jar:file:///C:/Archive.jar!/" ) };
URL[] url = { new URL( "jar:http://www.remix.gr.jp/d/Archive.jar!/" ) };
URLClassLoader loader = new URLClassLoader( url );
loader.loadClass( "ClassRemote" ).newInstance();
}
catch( Exception e ){ e.printStackTrace(); }
}
}

クラスメソッド呼び出しにはリフレクトを使用する。
購入した参考書籍:Javaクイックリファレンス

トラックバック

このエントリーのトラックバックURL:
http://www.remix.asia/cgi/mt/mt-tb.cgi/353

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

リンク

About

2004年01月17日 13:26に投稿されたエントリーのページです。

ひとつ前の投稿は「アクセス解析」です。

次の投稿は「電子投票」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34