스프링은 RMI를 호출합니다
RMI (원격 메소드 호출) 원격 메소드 호출 Java 응용 프로그램 간의 원격 통신을 실현합니다. 다음은 스프링을 사용하여 RMI를 사용하는 방법에 대해 설명합니다.
패키지의 구조는 다음과 같습니다.
호출 인터페이스를 정의합니다
public interface userDao {public String getUser (String username)는 예외를 던집니다;}인터페이스 구현 클래스
public class userDaoimplimples userDao {public string getUser (StringUserName)는 예외 {return "테스트 :"+username; }}(1) RMI 서비스 구성 :
ApplicationContext-rmi-server.xml <beanid = "userdaoimpl"class = "com.rmi.userdaoimpl"/> <beanid = "userDaoimpl_exporter"class = "org.springframework.remoting.rmi.rmiserviceexporter"> <propertyName = "serviceName"value = "rmi/userDaoimpl"/> <propertyName = "serviceInterface"value = "com.rmi.userdao"/> <propertyname = "retuistryport"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 = "serviceName"value = "com.rmi.userdao"/> <propertyname = "reforty"/<propertyname = "reforte"/<propertyname = "XookupStubonStartup"value = "false"/</bean> publicstaticVoid (publicStaticVoid) {Applicationconxt Conte = news) classPathXmlApplicationContext ( "ApplicationContext-rmi-client.xml"); userDao userDao = (userDao) context.getBean ( "userDaoimpl_client"); if (userDao! = null) {try {system.out.println (userDao.getUser ( "li")); } catch (예외 e) {e.printstacktrace (); }}}} 스프링 콜 쿼츠
1. Quartz는 Spring과 통합 된 쿼츠의 작업 일정 프레임 워크로 사용하기에 매우 편리합니다.
2. 실행 클래스를 쓰십시오
import 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의 Lazy-init가 구성 파일에서 False로 설정된 경우 //context.getBean (”startquertz”); System.out.print ( "테스트 엔드 .."); }}3. 구성 파일을 쓰십시오
<!-콜링 클래스-> <bean id = "QuartzJob" /> <!-호출 객체 및 호출 객체를 정의합니다-> <bean id = "jobDetail"> <property name = "targetObject"ref = "quartzjob" /> <속성 이름 = "targetMethod"value = "work"< /bean> <! 이름 = "jobDetail"> <Ref Bean = "jobDetail"/</property> <!-Cron 표현-> <속성 이름 = "cronexpression"> <talue> 2/5 44-46 22,23 9 9? 2012 </value> <!- 왼쪽에서 오른쪽으로 : 초, 분, 시간, 요일, 월, 연도 및 주가? 숫자는 낮과 주와 주간 도메인에서만 사용할 수 있지만이 두 영역에서는 동시에 사용할 수 없습니다. 당신은 생각할 수 있습니까? 캐릭터는 "나는 현장에 어떤 가치가 있는지 상관하지 않습니다." 이것은 분야의 모든 값을 나타내는 별표와 다릅니다. ? 이 필드에는 값이 지정되지 않았 음을 의미합니다. 쉼표 (,)는 필드에 값 목록을 지정하는 데 사용됩니다. 예를 들어, 두 번째 필드에서 0,15,30,45 값을 사용한다는 것은 15 초마다 트리거가 트리거되는 것을 의미합니다. 슬래시 (/)는 증분 시간표에 사용됩니다. 방금 15 분마다 쉼표를 사용하여 쉼표를 사용했지만 0/15로 쓸 수도 있습니다. Scribble (-)은 범위를 지정하는 데 사용됩니다. 예를 들어, 시간 영역의 3-8은 "3, 4, 5, 6, 7 및 8 점을 의미합니다. 도메인의 값은 되감기를 허용하지 않으므로 50-10과 같은 값이 허용되지 않습니다. 별표 (*)는이 필드에 모든 법적 가치를 포함시키려는 것을 나타냅니다. 예를 들어, 달 도메인에서 별표를 사용한다는 것은이 트리거가 매월 트리거 될 것임을 의미합니다. 문자 L은 필드에서 허용되는 마지막 값을 나타냅니다. 매일 및 주간 도메인에서만 지원됩니다. W 캐릭터는 주중 (월-프리)을 나타내며 일일 도메인에서만 사용할 수 있습니다. 지정된 날에 가장 가까운 주중을 지정하는 데 사용됩니다. # 문자는 주변 영역에서만 사용할 수 있습니다. 지정된 달에 요일을 지정하는 데 사용됩니다. 예를 들어, 주간 필드의 값을 6 #3으로 지정하면 특정 달의 세 번째 금요일을 의미합니다 (6 = 금요일, #3은 월 3 주를 의미합니다). -> </property> </bean> <!-일반 관리 클래스 Lazy-init = 'false'가 사용되는 경우 일반 관리 클래스, 컨테이너는 스케줄러를 실행합니다-> <bean id = "startquertz"lazy-init = "false"autowire = "no"> <property name = "triggers"> <list> <ref bean = "dotime"/> </beag.
4. cronexpression 표현에 대해
<!-크론 표현-> <속성 이름 = "cronexpression"> <alue> 2/5 44-46 22,23 9 9? 2012 </value> <!- 왼쪽에서 오른쪽으로 : 초, 분, 시간, 요일, 월, 연도 및 주가? 숫자는 낮과 주와 주간 도메인에서만 사용할 수 있지만이 두 영역에서는 동시에 사용할 수 없습니다. 당신은 생각할 수 있습니까? 캐릭터는 "나는 현장에 어떤 가치가 있는지 상관하지 않습니다." 이것은 분야의 모든 값을 나타내는 별표와 다릅니다. ? 이 필드에는 값이 지정되지 않았 음을 의미합니다. 쉼표 (,)는 필드에 값 목록을 지정하는 데 사용됩니다. 예를 들어, 두 번째 필드에서 0,15,30,45 값을 사용한다는 것은 15 초마다 트리거가 트리거되는 것을 의미합니다. 슬래시 (/)는 증분 시간표에 사용됩니다. 방금 15 분마다 쉼표를 사용하여 쉼표를 사용했지만 0/15로 쓸 수도 있습니다. Scribble (-)은 범위를 지정하는 데 사용됩니다. 예를 들어, 시간 영역의 3-8은 "3, 4, 5, 6, 7 및 8 점을 의미합니다. 도메인의 값은 되감기를 허용하지 않으므로 50-10과 같은 값이 허용되지 않습니다. 별표 (*)는이 필드에 모든 법적 가치를 포함시키려는 것을 나타냅니다. 예를 들어, 달 도메인에서 별표를 사용한다는 것은이 트리거가 매월 트리거 될 것임을 의미합니다. 문자 L은 필드에서 허용되는 마지막 값을 나타냅니다. 매일 및 주간 도메인에서만 지원됩니다. W 캐릭터는 주중 (월-프리)을 나타내며 일일 도메인에서만 사용할 수 있습니다. 지정된 날에 가장 가까운 주중을 지정하는 데 사용됩니다. # 문자는 주변 영역에서만 사용할 수 있습니다. 지정된 달에 요일을 지정하는 데 사용됩니다. 예를 들어, 주간 필드의 값을 6 #3으로 지정하면 특정 달의 세 번째 금요일을 의미합니다 (6 = 금요일, #3은 월 3 주를 의미합니다). ->