春はRMIを呼び出します
RMI(リモートメソッド呼び出し)リモートメソッドコールJavaアプリケーション間のリモート通信を実現します。以下は、Springを使用してRMIの使用方法について説明します。
パッケージの構造は次のとおりです。
呼び出しインターフェイスを定義します
public interface userdao {public string getuser(string username)スロー例外;}インターフェイス実装クラス
public class userdaoimplimples userdao {public string getuser(stringusername)throws exception {return "test:"+username; }}(1)RMIサービスの構成:
ApplicationContext-Rmi-Server.xml <beanid = "userdaoimpl" class = "com.rmi.userdaoimpl"/> <beanid = "userdaoimpl_exporter" class = "org.springframework.remoting.rmi.rmi.rmiexporter"> propritynampporter "> <proprityname" ddapporter " <propertyName = "ServicEname" value = "rmi/userdaoimpl"/> <propertyname = "serviceinterface" value = "com.rmi.userdao"/> <propertyname = "registryport" value = "8819"/> </bean>
(2)RMIサービスを開始:
public class rmiserver {publicStaticFinal ApplicationContextContext = new ClassPathXMLApplicationContext( "ApplicationContext-RMI-Server.xml"); publicStaticVoid main(string [] args){}}(3)RMIサービスにアクセスします
ApplicationContext-Rmi-Client.xml <beanid = "userdaoimpl_client" class = "org.springframework.remoting.rmi.rmiproxyfactorybean"> <propertyname = "serviceurl" value = "rmi:// localhost:8819/rmi/userdaoimpl"/> <propertyname = "serviceinterface" value = "com.rmi.userdao"/> <propertyname = "refressstubonconnectfailure" value = "true"/> <propertyname = "lookupstubonstartup" value = "false"/> </bean> public class rmiclient {publicvoid contextion = context classPathXMLApplicationContext( "ApplicationContext-rmi-client.xml"); userdao userdao =(userdao)context.getbean( "userdaoimpl_client"); if(userdao!= null){try {system.out.println(userdao.getuser( "li")); } catch(Exception e){e.printstacktrace(); }}}}春のコールクォーツ
1.Quartzは、Springと統合されたQuartzのスケジューリングフレームワークであり、使用するのに非常に便利です。
2。実行クラスを書き込みます
org.springframework.context.applicationcontextをインポートします。 import org.springframework.context.support.classpathxmlapplicationcontext; public class quartztest {public static void main(string [] args){system.out.println( "test start。"); ApplicationContext Context = new ClassPathXMLApplicationContext( "ApplicationContext-Quartz.xml"); // startquetz beanの怠zyinitが構成ファイルでfalseに設定されている場合、//context.getbean( "startquertz"); System.out.print( "Test End .."); }}3。構成ファイルを書き込みます
<! - 電話をかける労働者階級 - > <bean id = "quartzjob" /> <! - オブジェクトを呼び出してオブジェクトを呼び出す方法を定義します - > <bean id = "jobdetail"> <プロパティ名= "ターゲットオブジェクト" ref = "quartzjob" /> <プロパティ名= "ターゲットメトッド" value = "" <プロパティ名= "jobdetail"> <ref bean = "jobdetail"/> </property> <! - cron expression-> <プロパティ名= "cronexpression"> <value> 2/5 44-46 22,23 9 9? 2012 </value> <! - 左から右へ:秒、分、時間、日、月、年、週、そして週ですか?数値は日と週のドメインでのみ使用できますが、これら2つのドメインで同時に使用することはできません。思いますか?キャラクターは「フィールド上の価値が気にしない」です。これはアスタリスクとは異なり、フィールド上のすべての値を示しています。 ?このフィールドに値が指定されていないことを意味します。コンマ(、)は、フィールドに値のリストを指定するために使用されます。たとえば、2番目のフィールドで値0,15,30,45を使用すると、15秒ごとにトリガーがトリガーされることを意味します。スラッシュ(/)は、インクリメンタル時刻表に使用されます。 15分ごとに増分を表すためにコンマを使用しましたが、0/15として記述することもできます。 Scribble( - )は、範囲を指定するために使用されます。たとえば、時間ドメインの3-8は「3、4、5、6、7、8ポイント」を意味します。ドメインの値は巻き戻しを許可しないため、50〜10のような値は許可されていません。アスタリスク(*)は、このフィールドにすべての法的価値を含めたいことを示します。たとえば、月にアスタリスクを使用すると、このトリガーが毎月トリガーされることを意味します。文字Lは、フィールドで許可されている最後の値を示します。毎日のドメインと毎週のドメインによってのみサポートされています。 W文字は平日(月曜日)を表し、毎日のドメインでのみ使用できます。指定された日(以外)に最も近い平日を指定するために使用されます。 #文字は、周辺ドメインでのみ使用できます。指定された月の曜日を指定するために使用されます。たとえば、毎週のフィールドの値を6#3と指定する場合、特定の月の第3金曜日(6 =金曜日、#3は月の第3週を意味します)を意味します。 - > </property> </bean> <! - 一般的な管理クラスlazy-init = 'false'が使用されている場合、コンテナはスケジューラを実行します - > <bean id = "startquertz" lazy-init = "false" autowire = "no"
4。クローネクスポレーション式について
<! - cron expression-> <プロパティ名= "cronexpression"> <value> 2/5 44-46 22,23 9 9? 2012 </value> <! - 左から右へ:秒、分、時間、日、月、年、週、そして週ですか?数値は日と週のドメインでのみ使用できますが、これら2つのドメインで同時に使用することはできません。思いますか?キャラクターは「フィールド上の価値が気にしない」です。これはアスタリスクとは異なり、フィールド上のすべての値を示しています。 ?このフィールドに値が指定されていないことを意味します。コンマ(、)は、フィールドに値のリストを指定するために使用されます。たとえば、2番目のフィールドで値0,15,30,45を使用すると、15秒ごとにトリガーがトリガーされることを意味します。スラッシュ(/)は、インクリメンタル時刻表に使用されます。 15分ごとに増分を表すためにコンマを使用しましたが、0/15として記述することもできます。 Scribble( - )は、範囲を指定するために使用されます。たとえば、時間ドメインの3-8は「3、4、5、6、7、8ポイント」を意味します。ドメインの値は巻き戻しを許可しないため、50〜10のような値は許可されていません。アスタリスク(*)は、このフィールドにすべての法的価値を含めたいことを示します。たとえば、月にアスタリスクを使用すると、このトリガーが毎月トリガーされることを意味します。文字Lは、フィールドで許可されている最後の値を示します。毎日のドメインと毎週のドメインによってのみサポートされています。 W文字は平日(月曜日)を表し、毎日のドメインでのみ使用できます。指定された日(以外)に最も近い平日を指定するために使用されます。 #文字は、周辺ドメインでのみ使用できます。指定された月の曜日を指定するために使用されます。たとえば、毎週のフィールドの値を6#3と指定する場合、特定の月の第3金曜日(6 =金曜日、#3は月の第3週を意味します)を意味します。 - >