JEUS

Size: px
Start display at page:

Download "JEUS"

Transcription

1 JEUS Scheduler 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved.

2 Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 우 ) Restricted Rights Legend All TmaxSoft Software (JEUS ) and documents are protected by copyright laws and the Protection Act of Com puter Programs, and international convention. TmaxSoft software and documents are made available under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd. 이소프트웨어 (JEUS ) 사용설명서의내용과프로그램은저작권법, 컴퓨터프로그램보호법및국제조약에의해서보호받고있습니다. 사용설명서의내용과여기에설명된프로그램은 TmaxSoft Co., Ltd. 와의사용권계약하에서만사용이가능하며, 사용권계약을준수하는경우에만사용또는복제할수있습니다. 이사용설명서의전부또는일부분을 TmaxSoft의사전서면동의없이전자, 기계, 녹음등의수단을사용하여전송, 복제, 배포, 2차적저작물작성등의행위를하여서는안됩니다. Trademarks JEUS is registered trademark of TmaxSoft Co., Ltd. Other products, titles or services may be registered trademarks of their respective companies. JEUS 는 TmaxSoft Co., Ltd. 의등록상표입니다. 기타모든제품들과회사이름은각각해당소유주의상표로서참조용으로만사용됩니다. Open Source Software Notice This product includes open source software developed and/or licensed by "OpenSSL", "RSA Data Security, Inc.", "Apache Foundation", and "Jean-loup Gailly and Mark Adler". Information about the aforementioned and the related open source software can be found in the "${INSTALL_PATH/license/oss_licenses" directory. 본제품은 OpenSSL, RSA Data Security, Inc., Apache Foundation 및 Jean-loup Gailly와 Mark Adler 에의해개발또는라이선스된오픈소스소프트웨어를포함합니다. 관련상세정보는제품의디렉터리 ${IN STALL_PATH/license/oss_licenses 에기재된사항을참고해주십시오. 안내서정보안내서제목 : JEUS Scheduler 안내서발행일 : 소프트웨어버전 : JEUS v6.0 Fix #8 안내서버전 : v2.1.3

3 내용목차 안내서에대하여... ix 제1장 소개 개요 Scheduler 컴포넌트구조 Scheduler 서버... 3 제2장 Scheduler 프로그래밍 개요 JEUS Scheduler 클래스 작업정의 ScheduleListener 인터페이스구현 Schedule 클래스상속 RemoteSchedule 클래스상속 Scheduler 객체얻기 로컬환경에서 Scheduler 객체얻기 원격환경에서 Scheduler 객체얻기 작업등록 한번수행되는작업등록 반복되는작업등록 Schedule 작업객체등록 작업제어 Scheduler 사용 Standalone 환경에서사용 JEUS 노드에서사용 Java EE 컴포넌트에서사용 Job-list 사용 제3장 Scheduler 설정 개요 JEUS 노드설정 JEUS 엔진컨테이너설정 클라이언트컨테이너설정 Job-list 설정 용어해설 색인 JEUS iii

4

5 그림목차 [ 그림 1.1] JEUS에서의 Scheduler Component... 2 [ 그림 1.2] Scheduler 서버별수행방식... 3 [ 그림 2.1] Scheduler API 클래스... 6 JEUS v

6

7 예목차 [ 예 2.1] Task object example... 8 [ 예 2.2] Schedule object example... 9 [ 예 2.3] RemoteSchedule object example... 9 [ 예 2.4] 한번수행되는작업등록 [ 예 2.5] 반복되는작업등록 [ 예 2.6] Schedule 작업객체등록 [ 예 2.7] ScheduleController.cancel 메소드사용 [ 예 2.8] Standalone 클라이언트에서 Scheduler 사용 [ 예 2.9] 리모트클라이언트에서 Scheduler 사용 [ 예 2.10] EJB에서 JEUS Scheduler 사용 [ 예 3.1] JEUS 노드 Scheduler Service 활성 : <<JEUSMain.xml>> [ 예 3.2] JEUS 엔진컨테이너설정 : <<JEUSMain.xml>> [ 예 3.3] 클라이언트컨테이너설정 : <<jeus-client-dd.xml>> [ 예 3.4] Job-list 설정 : <<jeus-client-dd.xml>> JEUS vii

8

9 안내서에대하여 안내서의대상 본안내서는 JEUS Scheduler 기능을사용하고자하는관리자나프로그래머를대상으로한다. 안내서의전제조건 본안내서는 JEUS 시스템에대한전반적인이해와 JEUS 시스템이제공하는각종기능및특성에대한습득을위한기본서이다. 본안내서를원활하게이해하기위해서는다음과같은사항을미리알고있어야한다. RMI 및 JNDI에대한이해 JEUS의기본개념이해 Java에대한기본적인이해 안내서의제한조건 본안내서는제품특성상언급되는 Java EE나 Java 스펙에대해서자세히다루지않는다. 따라서해당내용은 Java 관련문서를참고한다. 실무에서의구체적인사용방법이나관리및운용에관한사항은각제품의안내서를참고한다. 참고 JEUS 시스템에대한기본적인내용은 "JEUS 소개 " 나 "JEUS 설치및시작하기 " 를참고한다. 안내서에대하여 ix

10 안내서구성 본안내서는총 3개의장으로구성되어있다. 제1장소개 JEUS Scheduler의기능과사용가능한환경, 여러가지수행방식에대해서설명한다. 제2장 Scheduler 프로그래밍 JEUS Scheduler 프로그래밍에필요한기본지식과사용방법에대해서설명한다. 제3장 Scheduler 설정 JEUS Scheduler를설정하는방법에대해서설명한다. x JEUS Scheduler 안내서

11 안내서규약 표기 <<AaBbCc123>> <Ctrl>+C [Button] 진하게 " "( 따옴표 ) ' 입력항목 ' 하이퍼링크 > 참고주의 [ 그림 1.1] [ 표 1.1] AaBbCc123 의미프로그램소스코드의파일명 Ctrl과 C를동시에누름 GUI의버튼또는메뉴이름강조다른관련안내서또는안내서내의다른장및절언급화면 UI에서입력항목에대한설명메일계정, 웹사이트메뉴의진행순서하위디렉터리또는파일있음하위디렉터리또는파일없음참고또는주의사항주의할사항그림이름표이름 Java 코드, XML 문서 [ command argument ] < xyz > 옵션파라미터 < 와 > 사이의내용이실제값으로변경됨선택사항. 예 ) A B: A나 B 중하나파라미터등이반복되어서나옴 안내서에대하여 xi

12 시스템사용환경 본안내서는모든예제와환경구성을 Microsoft Windows 의스타일을따랐다. UNIX와같은다른환경에서작업하는사람은몇가지사항만고려하면별무리없이사용할수있다. 대표적인것이디렉터리구분자인데, Windows 스타일인 \ 를 UNIX 스타일인 / 로바꿔서사용하면무리가없다. 이외에환경변수도 UNIX 스타일로변경해서사용하면된다. 그러나 Java 표준을고려해서문서를작성했기때문에, 대부분의내용은동일하게적용된다. 관련안내서 안내서 JEUS 소개 JEUS 설치및시작하기 JEUS Server 안내서 JEUS Application Client 안내서 JEUS WebAdmin 안내서 설명 JEUS 6 서버에대한전반적인소개와 JEUS의아키텍처를포함하여각구성요소들에대해설명한안내서이다. JEUS에대한소개와설치및시작방법에대해기술한안내서이다. JEUS 시스템과서버의개요와시스템관리를위한안내서이다. Java EE 클라이언트와 JEUS 사이의상호운용에대해기술한안내서이다. JEUS의웹관리툴인 WebAdmin을사용한 JEUS 의설정및제어, 모니터링, 클러스터링, 리소스설정및관리에대해기술한안내서이다. 참고자료 Javadoc JEUS API JEUS_HOME\docs\api\jeusapi\index.html XML Reference - Scheduler JEUSMain.xml 설정 JEUS_HOME\docs\reference\schema\index.html xii JEUS Scheduler 안내서

13 연락처 Korea TmaxSoft Co., Ltd 272-6, Seohyeon-dong, Bundang-gu, Seongnam-si, Gyeonggi-do, South Korea Tel: Fax: Web (Korean): 기술지원 : USA TmaxSoft, Inc. 560 Sylvan Avenue Englewood Cliffs, NJ U.S.A Tel: Fax: info@tmaxsoft.com Web (English): Japan TmaxSoft Japan Co., Ltd. 5F Sanko Bldg, Mita, Minato-Ku, Tokyo, Japan Tel: Fax: info@tmaxsoft.co.jp Web (Japanese): 안내서에대하여 xiii

14 China TmaxSoft China Co., Ltd. Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan, Chaoyang District, Beijing, China, China Tel: ~8 Fax: Web (Chinese): xiv JEUS Scheduler 안내서

15 제 1 장소개 본장에서는 JEUS Scheduler 의사용방법에대해서설명한다 개요 JEUS Scheduler는정해진시간에수행되거나반복적으로수행되는작업을스케줄링할수있는기능을제공한다. Scheduler는 JEUS의확장된기능으로, 정해진시간에혹은주기적으로작업을수행해야할때사용할수있다. EJB의경우 Timer Service와같은기능을제공하는데, 이와유사한목적을지니고있으며, EJB 환경이아니더라도사용할수있다. 예를들어, 주기적으로임시파일을삭제한다거나, 주기적으로데이터베이스커넥션을체크하는등의시스템관리에사용할수도있다. Java EE 환경에서 Timer Service를이용하고자할때 Java SE Timer(java.util.Timer) 를직접사용할수없으므로 EJB Timer Service를사용하거나 JEUS에서제공하는 JEUS Scheduler를사용해야한다. EJB Timer Service는 EJB 환경에서만사용할수있는데반하여, JEUS Scheduler는모든 Java EE 환경에서사용할수있고일반 Java SE 애플리케이션에서도사용이가능하다. JEUS Scheduler는 Java SE Timer(java.util.Timer) 와유사하기때문에 Java SE Timer에익숙하다면 JEUS Scheduler를쉽게사용할수있다. 또한 Java SE Timer에는없는작업종료시점 (end time) 과최대수행횟수 (max count) 를지정할수있는기능도제공한다. JEUS Scheduler는다음과같이다양한환경에서사용이가능하다. Java SE 애플리케이션에서 Standalone Scheduler 사용 Java EE 애플리케이션클라이언트에서 Standalone Scheduler 사용 JEUS 노드 Scheduler Service를원격에서접속하여사용 JEUS 노드설정파일에 Job을등록해서사용 JEUS 엔진컨테이너 Scheduler Service를 Java EE 컴포넌트에서사용 JEUS 엔진컨테이너설정파일에 Job을등록해서사용 제 1 장소개 1

16 1.2. Scheduler 컴포넌트구조 JEUS Scheduler는사용자애플리케이션내에서사용할수도있고 JEUS 서버에서사용할수도있다. JEUS 서버는원격에서접속할수있는 Scheduler Service를구동시킬수있으며설정파일을통해스케줄링될작업을등록할수도있다. JEUS Scheduler의컴포넌트는다음과같은구조를갖는다. [ 그림 1.1] JEUS에서의 Scheduler Component JEUS Manager JNDI Server (JNS serv) Security Server External sources Data source / pool Mail/ URL source Other sources JEUS Node Session Server JMX manager ClassFTP server Scheduler server JNLP server Web Admin Server Logging Active Mngmnt. Misc. settings JEUS Engine Container (one or more) JEUS EJB Engine JEUS Servlet Engine JEUS JMS Engine JEUS WS Engine Security Client TX manager JMX manager Scheduler server Logging/A ctive Mngmnt. Misc. settings JNDI Client (JNSLocal) 2 JEUS Scheduler 안내서

17 1.3. Scheduler 서버 Scheduler 서버의종류에따라 Scheduler의수행방식이달라지고, Scheduler Service가구분된다. 다음은 Scheduler 서버의종류에따른수행방식을나타낸다. [ 그림 1.2] Scheduler 서버별수행방식 Client VM Scheduler Server Client App JEUS Node VM Scheduler Server Client VM Client App Engine Container VM Scheduler Server Servlet EJB 1. Local VM use 2. JEUS node use 3. Engine container use 각각의 Scheduler Service를사용하는경우를살펴보자. 클라이언트 Scheduler Service 애플리케이션클라이언트에서 Standalone 방식으로구동되는 JEUS Scheduler Service는애플리케이션클라이언트내부에서어떠한작업을주기적으로수행하는경우주로사용한다. 또한애플리케이션클라이언트가종료되면더이상수행될필요가없는작업인경우에사용한다. 노드 Scheduler Service 애플리케이션클라이언트에관계없이항상주기적으로수행되어야할작업을스케줄링할때주로사용한다. 서버에서항상수행되어야할주기적인작업이있다면 Joblist에미리등록하여서버가구동할때수행되도록할수도있다. 엔진컨테이너 Scheduler Service JEUS 엔진컨테이너 Scheduler Service는주로 Java EE 컴포넌트들 (Servlet/JSP, EJB 등 ) 이주기적으로수행되는작업을스케줄링할때주로사용한다. 제 1 장소개 3

18

19 제 2 장 Scheduler 프로그래밍 본장에서는 JEUS Scheduler 프로그래밍에필요한기본지식과사용방법에대해서설명한다 개요 JEUS 5.0 이후버전에서는이전 (4.x) 에사용되던방식과비교하여다음과같이몇가지사항이변경및추가되었다. 하지만 JEUS 5.0 Scheduler는기존버전과호환성을유지하고있기때문에기존에작성된프로그램도별도의수정없이운영가능하다. SchedulerListener 인터페이스추가작업을정의하기위한인터페이스로 ScheduleListener 인터페이스가추가되었다. ScheduleListener 인터페이스는최상위작업인터페이스로모든작업은이인터페이스를구현 (imple ments) 해야한다. 기존에존재하던스케줄작업클래스도이제는 ScheduleListener에서구현하고있다. 따라서이제는스케줄작업클래스를상속해서작업을정의하지않아도 ScheduleListener를구현해서작업을정의할수있다. SchedulerFactory 클래스추가기존에사용되던클라이언트와서버용 SchedulerManager는더이상사용되지않으며 (deprecated), 새롭게 SchedulerFactory 클래스가추가되었다. SchedulerFactory는 Scheduler 객체를얻는데사용되며 Scheduler 객체를통해클라이언트환경, 서버환경, 리모트클라이언트환경의구별없이작업을등록할수있다. 다양한메소드추가 Scheduler 인터페이스에는작업을등록하는다양한메소드들이추가되었다. 이제작업을등록할때시작시간, 주기, 종료시간, 최대수행횟수를지정할수있다. Thread Pool을이용한멀티스레드방식으로변경기존의 JEUS Scheduler는기본적으로싱글스레드방식으로작업을수행했지만새로운 JEUS Scheduler 는 Thread Pool을이용하여각작업을별도의스레드로동작시킨다. 따라서어떤한작업이수행중에블록되더라도다른작업수행에영향이없다. Job-list 기능추가프로그래밍방식으로작업을등록하지않고 JEUS 서버설정에작업을등록할수있는 Job-list 기능이추가되었다. JEUS Scheduler 프로그래밍을이해하기위해먼저 JEUS Scheduler를구성하고있는클래스들을살펴보고, 스케줄링작업을정의하는방법, 작업을등록하는방법, 등록된작업을제어하는방법에대해설명한다. 이후에 JEUS Scheduler를어떤경우에사용할수있는지를알아본다. 제 2 장 Scheduler 프로그래밍 5

20 본장에서설명하는모든예제는 JEUS samples 디렉터리에서찾아볼수있다. 예제파일들은 JEUS_HOME\samples\scheduler 디렉터리를참조한다 JEUS Scheduler 클래스 기본적으로 JEUS Scheduler는 J2SE Timer와개념적인부분뿐만아니라유사한인터페이스를가지고있다. 작업을나타내는 java.util.timertask 클래스는 JEUS Scheduler의 jeus.schedule.schedulelistener 인터페이스와동일하고, 작업을등록하는 java.util.timer 클래스는 JEUS Scheduler의 jeus.schedule.scheduler 인터페이스와동일하다. 따라서, 이러한유사성을고려하여 JEUS Scheduler를사용한다면좀더쉽게익숙해질수있을것이다. 다음은각 API 클래스에대한설명이다. [ 그림 2.1] Scheduler API 클래스 SchedulerFactory get instances ScheduleListener registered Scheduler implements Schedule extends RemoteSchedule returns ScheduleController JeusScheduler Exception API 클래스 설명 package jeus.schedule interface ScheduleListener JEUS Scheduler의모든클래스와인터페이스는 jeus.schedule 패키지와그하위패키지에소속되어있다. 정해진시간에수행되어야할작업은 ScheduleListener 인터페이스를구현 (implements) 하여클래스로정의된다. ScheduleLis tener는하나의 Callback 메소드인 ontime() 을가지고있어해당시간이되었을때이메소드가호출된다. 6 JEUS Scheduler 안내서

21 API 클래스 abstract class Schedule 설명 Schedule 클래스는 ScheduleListener 를구현한추상클래스로 JEUS 5.0 이전에사용하던작업클래스이다. 이클래스는 ontime() 이외에도 nexttime() Callback 메소드가있어서작업을등록할때호출될시간을예약하는것이아니라작업을등록한후에동적으로다음호출될시간을결정할수있다. abstract class RemoteSchedule class SchedulerFactory interface Scheduler RemoteSchedule 추상클래스는특수한 Schedule 클래스로 ini tialize() Callbak 메소드를가지고있어객체생성시에초기화파라미터값을받을수있다. SchedulerFactory 클래스는실제 (concrete) Scheduler 객체를얻어오기위해사용된다. Scheduler 인터페이스는 JEUS Scheduler에작업을등록하기위한핵심인터페이스이다. 다양한 registerschedule() 메소드를정의하고있다. interface ScheduleController Scheduler 에작업을등록하면 ScheduleController 인터페이스를 구현한객체를리턴받는다. 이핸들객체는작업에대한정보를얻거나작업을취소할때사 용된다. exception JeusSchedulerException JEUS Scheduler 에작업등록하거나취소할때에내부적으로문 제가발생하는경우 JeusSchedulerException 이발생할수있다. 참고 각인터페이스나클래스에대한자세한설명은 JEUS Scheduler Javadoc API 를참고한다 작업정의 작업을수행하기위해서는먼저, 작업클래스를정의하고작업의수행시간및주기에따라알맞은방법으 로작업을정의해야한다 ScheduleListener 인터페이스구현 정해진시간에수행되어야할작업은 ScheduleListener 인터페이스를구현 (implements) 하여클래스로정의된다. ScheduleListener는하나의 Callback 메소드인 ontime() 을가지고있어해당시간이되었을때이메소드가호출된다. 따라서작업클래스를정의하기위해서는 ontime() 메소드를구현하고메소드내에서작업을수행하도록프로그램을작성한다. 제 2 장 Scheduler 프로그래밍 7

22 [ 예 2.1] Task object example public class SimpleTask implements ScheduleListener { private String name; private int count; // no-arg constructor is required if classname is used for task registration public SimpleTask() { public SimpleTask(String name) { this.name = name;... public void ontime() { count++; echo("##### " + name + " is waked on " + new Date()); Schedule 클래스상속 ScheduleListener를바로구현하지않고 Schedule 클래스나 RemoteSchedule 클래스를상속하여작업클래스를정의할수도있다. Schedule 클래스나 RemoteSchedule 클래스는 JEUS 5.0 이전 Scheduler에서사용되던작업클래스이다. JEUS 5.0 에서는일반적인작업을정의할때는 ScheduleListener를구현하도록하고있지만하위호환성을위해기존작업클래스를그대로제공하고있다. Schedule 추상클래스는 ontime() 이외에도 nexttime() 이라는 Callback 메소드가있어서작업을등록할때호출될시간을예약하지않고작업클래스내에서다음호출될시간을결정하도록한다. 따라서고정적인주기를갖는작업보다는가변적인주기를갖는작업의경우에좀더효휼적으로사용된다. JEUS Scheduler는 Schedule 작업객체의처음수행시간을결정하기위해작업객체를등록한후에먼저 nexttime() 을호출하여처음수행시간을정한다. 그런다음해당시간이되면 ontime() 을호출하여작업을수행하고 ontime() 이종료되면다시 nexttime() 을호출하여다음수행시간을정하게된다. nexttime() 은다음번에작업이수행될절대시간을 Milli-Second 값으로넘겨주어야한다. 이때 0을리턴하면작업이더이상수행되지않게된다. Schedule 작업객체는 ontime() 이수행된후에 nexttime() 을호출하기때문에 ontime() 에서작업을수행한시간만큼 nexttime() 호출이지체된다. 따라서정확한간격으로작업을호출하도록프로그래밍하기가쉽지않다. 그렇기때문에되도록작업내에서 nexttime() 을통해반복주기를구현하기보다는작업을등록할때반복주기를설정하는것이좋다. 8 JEUS Scheduler 안내서

23 [ 예 2.2] Schedule object example public class SimpleSchedule extends Schedule { private String name; private int count; private long period = 2000; // 2 seconds // no-arg constructor is required if classname is used for task registration public SimpleSchedule() { public SimpleSchedule(String name) { this.name = name; public void ontime() { count++; echo("##### " + name + " is waked on " + new Date());... public long nexttime(long currenttime) { return currenttime + period; RemoteSchedule 클래스상속 RemoteSchedule 클래스는원격으로작업을등록할때초기화변수를지정할수있는 Schedule 객체이다. 주로원격에서클래스이름을통해작업객체를등록할때사용한다. 이클래스는 initialize() Callback 메소드를가지고있는데작업등록후에초기화파라미터로이메소드가한번호출된다. 따라서원격에서클래스이름으로작업을등록할때초기화값을주고싶을경우사용할수있다. initialize() Callback은 Scheduler.registerSchedule(classname, hashtable, daemon_flag) 메소드를이용하여 RemoteSchedule 작업객체를등록하는경우에만호출된다. [ 예 2.3] RemoteSchedule object example public class SimpleRemoteSchedule extends RemoteSchedule { private String name; private int count; private long period; // no-arg constructor is required if classname is used for task registration public SimpleRemoteSchedule() { 제 2 장 Scheduler 프로그래밍 9

24 // this is called by scheduler after creation public void initialize(hashtable parameters) { name = (String) parameters.get("name"); Long interval = (Long) parameters.get("interval"); if (interval!= null) period = interval.longvalue(); else period = 2000; public void ontime() { count++; echo("##### " + name + " is waked on " + new Date());... public long nexttime(long currenttime) { return currenttime + period; 참고작업을 Job-list를사용하여등록하거나 classname을사용하는 API를통해등록하는경우에는컨터이너가해당클래스를초기화하기때문에작업클래스에는 no-arg(default) constructor가반드시필요하다 Scheduler 객체얻기 본절에서는 Scheduler 객체를얻는방법에대해서알아본다. JEUS Scheduler 는로컬환경과원격환경 에서모두구동된다 로컬환경에서 Scheduler 객체얻기 로컬환경에서구동된다는것은프로그램이구동되고있는로컬 JVM 내에 Scheduler 인스턴스가생성되며, 등록된모든작업이같은 JVM 내에서구동된다는것을의미한다. JEUS Scheduler는 JVM 내에서현재하나의인스턴스만생성되며이인스턴스를 Default Scheduler라고한다. 따라서현재는 JVM 내에모든클라이언트들이 Default Scheduler를공유하게된다. 로컬환경의 JEUS Scheduler는일반 J2SE 애플리케이션이나 Java EE 애플리케이션클라이언트, Java EE 컴포넌트등에서사용된다. 로컬환경의 JEUS Scheduler를사용하기위해서 SchedulerFactory를이용한다. 10 JEUS Scheduler 안내서

25 다음과같이간단하게 Default Scheduler 인스턴스를얻을수있다. // Get the default scheduler Scheduler scheduler = SchedulerFactory.getDefaultScheduler(); 원격환경에서 Scheduler 객체얻기 원격환경에서구동된다는것은프로그램이구동되고있는 JVM이아닌원격의다른 JVM에서 Scheduler 인스턴스가생성되고등록된모든작업이원격 JVM 내에서구동된다는것을의미한다. 원격 Scheduler는 RMI 객체형태로나타나기때문에클라이언트는 RMI 콜을통해 JEUS Scheduler를사용하게된다. JEUS 환경에서는 JEUS 노드에원격 Scheduler Service가기동된다. 원격환경의 JEUS Scheduler는원격클라이언트가 JEUS 노드에작업을등록할때사용된다. JEUS 노드에있는원격 JEUS Scheduler를사용하기위해서 JNDI Lookup을이용한다. 다음과같이 JEUS 노드 Scheduler 인스턴스 (Stub) 를얻을수있다. // Get the remote scheduler InitialContext ic = new InitialContext(); Scheduler scheduler = (Scheduler)ic.lookup( Scheduler.NODE_SCHEDULER_NAME); 참고 JEUS 5.0 이전에사용되던 jeus.schedule.server.schedulermanager와 jeus.schedule.client.sched ulermanager는더이상사용되지않는다 (deprecated). 대신 SchedulerFactory를통해 Scheduler 객체를얻어서사용하기를권장한다. 하지만하위호환성을유지하기위해위클래스들은그대로제공된다 작업등록 본절에서는 Scheduler 인터페이스를이용하여작업을등록하는방법에대해서알아본다. 로컬환경이나원격환경에서 Scheduler 인스턴스를얻어왔다면작업을등록하는방법은동일하다. 단, 원격 JEUS Scheduler는작업객체가원격으로전송 (serialization) 되어원격으로운용된다 한번수행되는작업등록 단지특정시간에한번만수행되어야할작업의경우에는하나의수행시간만설정하여작업을등록할수있다. 이때수행시간은 java.util.date 객체로절대시간을설정거나, Milli-Second 값으로현재시간을기준으로얼마의시간이지난후에수행되어야하는지설정할수있다. 다음의메소드를이용하여작업을등록한다. registerschedule(schedulelistener task, Date time, boolean isdaemon) registerschedule(schedulelistener task, long delay, boolean isdaemon) 제 2 장 Scheduler 프로그래밍 11

26 참고 메소드의파라미터에대한설명은 반복되는작업등록 을참고한다. 다음은메소드사용에대한예이다. [ 예 2.4] 한번수행되는작업등록 SimpleTask task1 = new SimpleTask("task1"); Date firsttime1 = new Date(System.currentTimeMillis() ); ScheduleController handle1 = scheduler.registerschedule(task1, firsttime1, false); 반복되는작업등록 반복되는작업의경우첫수행시간, 주기, 종료시간, 최대수행횟수등을주어작업을등록할수있다. 반복되는작업의특성에따라반복주기를 Fixed-delay 방식이나 Fixed-rate 방식으로결정해야한다. Fixed-delay 작업이수행되는간격이일정하게유지된다. 작업의다음수행시간은이전수행시간과주기에의해서결정된다. 만약작업의수행이지체 ( 작업수행시간이오래걸리거나 garbage collection과같은외부이유에의해서지체되는경우 ) 되어다음작업이수행되어야할시기가지난경우에다음작업은바로수행되며, 그이후에수행되는작업들은그만큼지체된다. 따라서장기적으로는작업의수행시간이조금씩뒤쳐질수있다. Fixed-rate 작업이수행되는비율이일정하게유지된다. 작업의다음수행시간은첫수행시간과주기에의해서결정된다. 작업의수행이지체되더라도다음작업은바로뒤따라수행되며시간당수행되는비율을유지한다. 장기적으로작업의수행시간이초기에지정한주기에따라계속유지된다. JEUS Scheduler는 Fixed-rate로작업을등록하면비교적정확한호출시간을보장해주기위해작업수행이지체되더라도시간이되면다른스레드에의해작업을호출한다. 따라서작업수행이지체되는경우에같은작업이동시에 (concurrently) 수행된다. 따라서이러한경우에는작업객체가 thread-safe 한지고려해야한다. 다음의메소드를이용하여작업을등록한다. registerschedule(schedulelistener task, Date firsttime, long period, Date endtime, long maxcount, boolean isdaemon) registerschedule(schedulelistener task, long delay, long period, Date endtime, long maxcount, boolean isdaemon) registerscheduleatfixedrate(schedulelistener task, Date firsttime, long period, Date endtime, long maxcount, boolean isdaemon) 12 JEUS Scheduler 안내서

27 registerscheduleatfixedrate(schedulelistener task, long delay, long period, Date endtime, long maxcount, boolean isdaemon) 작업을등록할때사용하는파라미터들은다음과같다. 파라미터 Date firsttime long delay long period Date endtime long maxcount boolean isdaemon 의미시작시간으로처음수행될시간을지정한다. 시작시간이다. 현재이후에처음수행될시간을지정한다 ( 단위 : Milli-Seconds). 반복수행주기를지정한다 ( 단위 : Milli-Seconds). 종료시간이다. 이시간이후에는작업이더이상수행되지않고 null인경우에는종료시간의제약이없다. 최대수행횟수이다. Scheduler.UNLIMITED인경우에는제한이없다. 원격으로 Schedule을등록하는경우에만의미가있으며 true 값으로설정하면클라이언트와의연결이종료되었을때작업이종료된다. 현재 RMI Runtime의 DGC(Distrubuted Garbage Collection) 정책에의해클라이언트가연결이종료되었음을판단하기때문에실제로클라이언트의연결이종료되고 15분정도가지나야종료되었음을탐지하게되어 Scheduling 이취소된다. boolean isthreaded 더이상사용되지않는다 (deprecated). 다음은작업을등록하는예제이다. [ 예 2.5] 반복되는작업등록 SimpleTask task2 = new SimpleTask("task2"); ScheduleController handle2 = scheduler.registerschedule( task2, 2000, 2000, null, Scheduler.UNLIMITED, false); SimpleTask task3 = new SimpleTask("task3"); Date firsttime3 = new Date(System.currentTimeMillis() ); Date endtime3 = new Date(System.currentTimeMillis() + 10 * 1000); ScheduleController handle3 = scheduler.registerscheduleatfixedrate( task3, firsttime3, 2000, endtime3, 10, false); Schedule 작업객체등록 Schedule 이나 RemoteSchedule 작업객체를등록하는것은하위호환성을유지하기위해제공된다. 제 2 장 Scheduler 프로그래밍 13

28 작업의처음수행시간과이후에반복되는수행시간은 Schedule 작업객체의 nexttime() 메소드를이용하기때문에등록할때는별도의파라미터를줄필요가없다. 이경우다음메소드를이용하여작업을등록한다. registerschedule(schedule task, boolean isdaemon) registerschedule(string classname, Hashtable params, boolean isdaemon) 다음은작업을등록하는예제이다. [ 예 2.6] Schedule 작업객체등록 Hashtable params = new Hashtable(); params.put("name", "task3"); params.put("interval", new Long(3000)); ScheduleController handle3 = scheduler.registerschedule( "samples.scheduler.simpleremoteschedule", params, true); SimpleSchedule task4 = new SimpleSchedule("task4"); ScheduleController handle4 = scheduler.registerschedule(task4, true); 주의 Scheduler 는 JEUS Manager 에서제공하는주요서비스이므로설정에주의한다. 만약설정이잘못 되어 Scheduler 를생성할수없다면, JEUS Manager 는에러메시지를표시하고기동을중지한다 작업제어 JEUS Scheduler에작업을등록하면핸들 (handle) 인 ScheduleController 객체를리턴한다. 이객체는등록된작업하나당만들어지는데등록된작업을제어하기위해사용한다. 이핸들을이용하여작업에대한정보를얻어오거나작업을취소할수있다. 다음은 ScheduleController.cancel() 메소드를호출하여작업을취소하는예제이다. [ 예 2.7] ScheduleController.cancel 메소드사용 SimpleTask task2 = new SimpleTask("task2"); ScheduleController handle2 = scheduler.registerschedule( task2, 2000, 2000, null, Scheduler.UNLIMITED, false); Thread.sleep(10 * 1000); handle2.cancel(); 14 JEUS Scheduler 안내서

29 2.7. Scheduler 사용 작업정의, Scheduler 객체얻기, 작업등록, 작업제어까지완료하였다면, JEUS Scheduler를사용할준비가모두되었다. 본절에서는환경에따른 Schduler의사용방법에대해설명한다 Standalone 환경에서사용 일반 J2SE 애플리케이션이나 Java EE 애플리케이션클라이언트에서 JEUS Scheduler를사용할수있다. 이경우에는 JEUS 서버와별개로 JEUS Scheduler를 J2SE Timer와같이라이브러리처럼사용할수있다. Scheduler 객체를얻기위해서는 SchedulerFactory 클래스를이용한다. 또한로컬환경에서작업을등록할때 daemon flag는사용되지않으므로어떤값을넣어도무방하다. 다음은 Standalone 클라이언트예제이다. [ 예 2.8] Standalone 클라이언트에서 Scheduler 사용 public class StandAloneClient { public static void main(string args[]) { try { // Get the default scheduler Scheduler scheduler = SchedulerFactory.getDefaultScheduler(); // Register SimpleTask which runs just one time echo("register task1 which runs just one time..."); SimpleTask task1 = new SimpleTask("task1"); Date firsttime1 = new Date( System.currentTimeMillis() ); ScheduleController handle1 = scheduler.registerschedule(task1, firsttime1, false); Thread.sleep(5 * 1000); echo(""); // Register SimpleTask which is repeated // with fixed-delay echo("register task2 which is repeated " + "until it is canceled..."); SimpleTask task2 = new SimpleTask("task2"); ScheduleController handle2 = scheduler.registerschedule( task2, 2000, 2000, null, Scheduler.UNLIMITED, false); Thread.sleep(10 * 1000); handle2.cancel(); 제 2 장 Scheduler 프로그래밍 15

30 echo(""); // Register SimpleTask which is repeated // with fixed-rate echo("register task3 which is repeated " + "for 10 seconds..."); SimpleTask task3 = new SimpleTask("task3"); Date firsttime3 = new Date( System.currentTimeMillis() ); Date endtime3 = new Date( System.currentTimeMillis() + 10 * 1000); ScheduleController handle3 = scheduler.registerscheduleatfixedrate( task3, firsttime3, 2000, endtime3, 10, false); Thread.sleep(12 * 1000); echo(""); // Register SimpleSchedule which is repeated // every 2 seconds echo("register task4 which is repeated " + "every 2 seconds..."); SimpleSchedule task4 = new SimpleSchedule("task4"); ScheduleController handle4 = scheduler.registerschedule(task4, false); Thread.sleep(10 * 1000); echo(""); // Cancel all tasks echo("cancel all tasks registerd on the scheduler..."); scheduler.cancel(); Thread.sleep(5 * 1000); System.out.println("Program terminated."); catch (Exception e) { e.printstacktrace(); private static void echo(string s) { System.out.println(s); 16 JEUS Scheduler 안내서

31 Java EE 애플리케이션클라이언트에서 JEUS Scheduler 를사용하는경우에는 Deployment Descriptor(jeusclient-dd.xml) 에 JEUS Scheduler 의 Thread Pool 에관련된설정을할수있다. 참고 1. Scheduler의 Thread Pool과관련된설정은 "JEUS Reference Book" 을참조한다. 2. Scheduler를사용한코드를컴파일하거나기동시키기위해서는 JEUS 관련클래스 (jeus.jar 등 ) 가클래스패스에지정되어있어야한다 JEUS 노드에서사용 JEUS 노드에 Scheduler Service가기동되어있다면원격클라이언트가이것을사용할수있는데그러기위해서는먼저 JEUS 노드에 Scheduler Service가기동되도록설정되어있어야한다. JEUS 노드 Scheduler Service는 RMI Scheduler 객체를 JNDI에등록한다. 따라서클라이언트에서는 JNDI Lookup을통해서원격 Scheduler 객체 ( 실제로는 Stub 객체 ) 를얻을수있다. 이객체의 JNDI 이름은 jeus_service/scheduler 로 Scheduler.NODE_SCHEDULER_NAME 상수을사용한다. 일단 Scheduler 객체를얻으면작업을등록하는방법은동일하다. 단, 등록된작업객체는전송 (Serialization) 되어원격 Scheduler에서실제로운용된다. 즉, JEUS 노드에서수행된다. 이경우, 등록할때 daemon flag는의미가있으며 daemon flag를 true로등록하면원격클라이언트가종료되었을때원격작업도종료된다. 참고 JEUS 노드에 Scheduler Service 가기동되도록설정하는방법은 "JEUS Reference Book" 을참고한 다. 다음은리모트클라이언트예제이다. [ 예 2.9] 리모트클라이언트에서 Scheduler 사용 public class RemoteClient { public static void main(string args[]) { try { // Get the remote scheduler InitialContext ic = new InitialContext(); Scheduler scheduler = (Scheduler)ic.lookup( Scheduler.NODE_SCHEDULER_NAME); // Register SimpleTask which runs just one time echo("register task1 which runs just one time..."); SimpleTask task1 = new SimpleTask("task1"); Date firsttime1 = new Date( System.currentTimeMillis() ); 제 2 장 Scheduler 프로그래밍 17

32 ScheduleController handle1 = scheduler.registerschedule(task1, firsttime1, true); Thread.sleep(5 * 1000); echo(""); // Register SimpleTask which is repeated // with fixed-delay echo("register task2 which is repeated " + "until it is canceled..."); SimpleTask task2 = new SimpleTask("task2"); ScheduleController handle2 = scheduler.registerschedule(task2, 2000, 2000, null, Scheduler.UNLIMITED, true); Thread.sleep(10 * 1000); handle2.cancel(); echo(""); // Register SimpleRemoteSchedule which is repeated // every 3 seconds echo("register task3 which is repeated " + "every 3 seconds..."); Hashtable params = new Hashtable(); params.put("name", "task3"); params.put("interval", new Long(3000)); ScheduleController handle3 = scheduler.registerschedule( "samples.scheduler.simpleremoteschedule", params, true); Thread.sleep(10 * 1000); echo(""); // Cancel all tasks echo("cancel all tasks registerd on the scheduler..."); scheduler.cancel(); Thread.sleep(5 * 1000); System.out.println("Program terminated."); catch (Exception ex) { ex.printstacktrace(); private static void echo(string s) { 18 JEUS Scheduler 안내서

33 System.out.println(s); 주의 위예제를실행하려면해당작업클래스파일을 jar 파일로묶어서 JEUS_HOME\lib\application 에복 사하여위치시켜야한다. JEUS 노드가해당작업을수행하기위해서는해당클래스를로딩해야하 기때문에 JEUS 가이미기동되어있는상태라면반드시재기동해야한다 Java EE 컴포넌트에서사용 EJB나서블릿과같은 Java EE 컴포넌트에서 JEUS Scheduler를사용할수있다. 이때 JEUS Scheduler 는 JEUS 엔진컨테이너에서기동된다. EJB 2.1 표준에는 EJB Timer Service를명시하고있으며 JEUS 5.0에서도 EJB Timer Service를제공하고있다. 따라서 EJB 컴포넌트의경우 Java EE 표준을준수하려면 JEUS Scheduler 보다는 EJB Timer Service 를사용하는것을권장한다. 하지만 EJB외의 Java EE 컴포넌트에서는 EJB Timer Service를사용할수없으므로 JEUS Scheduler를사용해야한다. Java EE 컴포넌트에서 JEUS Scheduler를사용하는것은 Standalone JEUS Scheduler를사용하는방식과동일하다. SchedulerFactory 클래스를이용하여엔진컨테이너에서기동되는 Scheduler 객체를얻어온후에필요한등록메소드를호출하여작업을등록하면된다. 다음은 EJB에서 JEUS Scheduler 사용예제이다. [ 예 2.10] EJB에서 JEUS Scheduler 사용 public class HelloEJB implements SessionBean { private SimpleTask task; private ScheduleController taskhandler; private boolean isstarted; public HelloEJB() { public void ejbcreate() { task = new SimpleTask("HelloTask"); isstarted = false; public void trigger() throws RemoteException { if (!isstarted) { Scheduler scheduler = SchedulerFactory.getDefaultScheduler(); taskhandler = scheduler.registerschedule( task, 2000, 2000, null, Scheduler.UNLIMITED, false); 제 2 장 Scheduler 프로그래밍 19

34 isstarted = true; public void ejbremove() throws RemoteException { if (isstarted) { taskhandler.cancel(); isstarted = false; public void setsessioncontext(sessioncontext sc) { public void ejbactivate() { public void ejbpassivate() { public class HelloClient { public static void main(string args[]) { try { InitialContext ctx = new InitialContext(); HelloHome home = (HelloHome) ctx.lookup("helloapp"); Hello hello = (Hello) home.create(); hello.trigger(); catch (Exception e) { e.printstacktrace(); 참고 JEUS 엔진컨테이너에서동작하는 JEUS Scheduler 에대해 Thread Pool 과 Job-list 를설정할수있 다. 설정에대해서는 "JEUS Reference Book" 을참고한다 Job-list 사용 Job-list는 JEUS 서버에프로그래밍방식으로작업을등록하지않고설정파일을이용하여작업을등록하는것이다. Job-list는 JEUS 노드 Scheduler와 JEUS 엔진컨테이너 Scheduler에등록할수있다. Job-list 로작업을등록하면작업은 Fixed-rate 방식으로반복수행된다. Job-list를등록하기위해필요한설정은 3.5. Job-list 설정 을참고한다. 20 JEUS Scheduler 안내서

35 제 3 장 Scheduler 설정 본장에서는 JEUS 설정파일이나 Deployment Descriptor 에 JEUS Scheduler 를설정하는방법에대해서 설명한다 개요 JEUS Scheduler Service를사용하기위해서는각서비스별로다음과같이설정해야한다. JEUS 노드 Scheduler Service 설정 JEUS Scheduler를사용하도록 JEUSMain.xml 설정파일에설정 Thread Pool과 Job-list에대해서설정 JEUS 엔진컨테이너 Scheduler Service 설정 엔진컨테이너 Scheduler Service에대한 Thread Pool과 Job-list를설정 클라이언트컨테이너 Scheduler Service 설정 Deployment Descriptor에서설정기본적으로 JEUS Scheduler에대한설정을하지않으면기본값으로 JEUS Scheduler가초기화되기때문에 JEUS 노드 Scheduler Service 외에는무설정으로 JEUS Scheduler를사용할수있다 JEUS 노드설정 원격에서 JEUS 노드 Scheduler Service에접근하는경우나 Job-list를이용하여 JEUS 서버에서주기적인작업을수행하려면 JEUS 노드 Scheduler Service를활성화시켜야한다. JEUS 노드 Scheduler Service를활성화하려면다음과같이 JEUSMain.xml 설정파일에서 <enabled> 값을 true로설정한다. [ 예 3.1] JEUS 노드 Scheduler Service 활성 : <<JEUSMain.xml>> <jeus-system> <node>... <scheduler> <enabled>true</enabled> </scheduler>... </node>... </jeus-system> 제 3 장 Scheduler 설정 21

36 또한다음과같이 Thread Pool에대한구체적인설정도가능하다. <jeus-system> <node>... <scheduler> <enabled>true</enabled> <!-- Scheduler Thread-pool settings --> <thread-pool> <min>2</min> <max>30</max> <period> </period> </thread-pool> </scheduler>... </node>... </jeus-system> Thread Pool 관련설정은일반적인 JEUS Thread Pool 설정과동일하다. 항목 min max period 설명 Scheduler Service를수행하는 Thread Pool의최소값이다. Scheduler Service를수행하는 Thread Pool의최대값이다. Thread Pool의개수를 'min' 값만큼줄이는정리주기이다. 설정파일을수정한후에는 JEUS 서버를재기동해야반영된다. 참고 자세한사항은 " 참고자료 " 의 XML Reference 를참고한다 JEUS 엔진컨테이너설정 Java EE 컴포넌트에서사용하는 JEUS Scheduler Service를역시 JEUSMain.xml 설정파일에서설정할수있다. 설정하는방식은 JEUS 노드설정과동일하게 JEUSMain.xml 설정파일에서 <engine-container> 하위의 <scheduler> 에서 <enabled> 값을 true로설정해야한다. Thread Pool에대해서도 JEUS 노드설정방식과동일하게설정한다. [ 예 3.2] JEUS 엔진컨테이너설정 : <<JEUSMain.xml>> <jeus-system> <node> 22 JEUS Scheduler 안내서

37 ... <engine-container>... <!-- Engine-Container Scheduler Service --> <scheduler> <enabled>true</enabled> <!-- Scheduler Thread-pool settings --> <thread-pool> <min>2</min> <max>30</max> <period> </period> </thread-pool> </scheduler>... </engine-container>... </node>... </jeus-system> 설정파일수정후에 JEUS 서버를재기동해야반영된다 클라이언트컨테이너설정 Java EE 애플리케이션을사용하는경우클라이언트컨테이너에서구동되는 JEUS Scheduler에대해설정한다. 애플리케이션클라이언트를위한 JEUS Deployment Descriptor인 jeus-client-dd.xml 파일에다음과같이 <scheduler> 설정을추가한다. [ 예 3.3] 클라이언트컨테이너설정 : <<jeus-client-dd.xml>> <?xml version="1.0"?> <jeus-client-dd> <module-info>... </module-info>... <scheduler> <enabled>true</enabled> <!-- Scheduler Thread-pool settings --> <thread-pool> <min>2</min> <max>30</max> <period> </period> </thread-pool> 제 3 장 Scheduler 설정 23

38 </scheduler> </jeus-client-dd> 위의설정파일을수정한후에 JEUS 서버를재기동할필요는없지만, 클라이언트모듈과클라이언트컨 테이너는재기동해야수정한설정내용이반영된다. 참고 클라이언트컨테이너와애플리케이션클라이언트에대해서는 "JEUS Client Application 안내서 " 를 참조한다 Job-list 설정 프로그램코드에서작업을등록하는것외에, JEUS 설정파일에작업을등록하면 JEUS 서버가구동될때작업이자동으로스케줄링된다. Job이란스케줄링될하나의작업단위를말한다. Job에해당하는클래스는반드시 jeus.schedule.sched ulelistener를구현해야하며해당클래스와관련클래스를 jar 파일로묶어다음의경로에위치시켜야한다. JEUS_HOME\lib\application Job은 JEUS 노드나 JEUS 엔진컨테이너에등록할수있고, 다음과같이등록하는곳에따라수행되는위치와설정방법이달라진다. JEUS 노드에등록할경우 JEUS 노드 Scheduler Service에서작업이수행 JEUSMain.xml 설정파일에서 <node> 의 <scheduler> 하위에 <job-list> 를추가하여 Job-list 설정 JEUS 엔진컨테이너에등록할경우 JEUS 엔진컨테이너 Scheduler Service에서작업이수행 JEUSMain.xml 설정파일에서 <engine-container> 의 <scheduler> 하위에 <job-list> 를추가하여 Job-list 설정다음은 Job을등록하는예제이다. [ 예 3.4] Job-list 설정 : <<jeus-client-dd.xml>> <scheduler>... <job-list> <job> <class-name>samples.schedulejob</class-name> <name>schedulejob</name> 24 JEUS Scheduler 안내서

39 <description>this is a sample for scheduler service</description> <begin-time> t00:00:00</begin-time> <end-time> t00:00:00</end-time> <interval> <minutely>30</minutely> </interval> <count>-1</count> </job> </job-list> </scheduler> 다음은각태그에대한설명이다. 태그 <class-name> <name> <description> <begin-time> 설명작업클래스파일이름 (fully-qualified class name) 을지정한다. 옵션파라미터로작업에대한이름을지정한다. 옵션파라미터로작업에대한설명을지정한다. 옵션파라미터로작업이최초로수행될시간을지정한다. 설정하지않을경우 JEUS 서버가기동할때시작한다. - 타입 : XML datetime type - 형식 : yyyy-mm-ddthh:mm:ss.sss 만약등록한작업의 <begin-time> 이과거이면주기적으로현재시간이후에최초의수행되어야할시간에최초수행되도록조정된다. <end-time> 옵션파라미터로작업이끝날시간을지정한다. 설정되지않을경우종료하지않는다. - 타입 : XML datetime type - 형식 : yyyy-mm-ddthh:mm:ss.sss <end-time> 이과거인경우에는작업은한번도수행되지않는다. <interval> <count> 작업주기를설정한다. <millisecond>, <minutely>, <hourly>, <daily> element를이용하여입력한다. 옵션파라미터로작업의최대수행횟수를지정한다. 설정되지않거나 -1인경우최대수행횟수에제한이없다. 참고 Job-list 방식으로등록된작업은 Fixed-rate 방식으로반복된다. 따라서비교적정확한시간에호출되지만작업수행시간이오래걸릴때는작업이동시에진행될수있기때문에작업이 thread-safe하도록고려해야한다. 보다자세한설정항목과설명은 " 참고자료 " 를참고한다. 제 3 장 Scheduler 설정 25

40

41 용어해설 fixed-delay 작업이고정된간격으로수행되는것을말한다. fixed-rate 작업이고정된비율로수행되는것을말한다. JEUS 노드 scheduler service JEUS 노드에서구동되는 JEUS Scheduler로원격사용자에게서비스된다. stand-alone scheduler JEUS의 Scheduler Service 형태가아닌애플리케이션내에서라이브러리처럼동작하는 Scheduler이다. 용어해설 27

42

43 색인 Symbols <job> <begin-time>, 25 <class-name>, 25 <count>, 25 <description>, 25 <end-time>, 25 <interval>, 25 <name>, 25 <thread-pool> <max>, 22 <min>, 22 <period>, 22 A abstract class RemoteSchedule, 7 abstract class Schedule, 7 C cancel, 14 class SchedulerFactory, 7 D daemon, 9, 15, 17 E EJB Timer Service, 1, 19 exception JeusSchedulerException, 7 F Fixed-delay, 12 Fixed-rate, 12 I initialize() Callback, 9 interface ScheduleController, 7 interface ScheduleListener, 6 interface Scheduler, 7 J JEUS Scheduler, 1 Job-list, 5, 20, 21, 24 L Lookup, 11 N nexttime, 7, 8 NODE_SCHEDULER_NAME, 11, 17 O ontime, 6, 7, 8 P package jeus.schedule, R registerschedule, 12 registerscheduleatfixedrate, 12 boolean isdaemon, 13 boolean isthreaded, 13 Date endtime, 13 Date firsttime, 13 long delay, 13 long maxcount, 13 long period, 13 RemoteSchedule, 7, 8, 9 S ScheduleFactory, 15 SchedulerFactory, 5, 7, 10, 11, 19 Standalone Scheduler, 19 ㅇ 엔진컨테이너, 21 색인 29

44 ㅋ 클라이언트컨테이너, JEUS Scheduler 안내서

JEUS

JEUS JEUS Scheduler 안내서 JEUS v7.0 Fix#1 Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted

More information

Tmax

Tmax Tmax JTmaxServer User Guide Tmax v5.0 SP1 Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2009 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 263 분당스퀘어 (AK 프라자

More information

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에

목차 JEUS EJB Session Bean가이드 stateful session bean stateful sample 가이드 sample source 결과확인 http session에 개념정리및샘플예제 EJB stateful sample 문서 2016. 01. 14 목차 JEUS EJB Session Bean가이드... 3 1. stateful session bean... 3 1.1 stateful sample 가이드... 3 1.1.1 sample source... 3 1.1.2 결과확인... 6 1.2 http session에서사용하기...

More information

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 설치및환경설정 JDBC 접속세션구분 / 확인 2013. 11. 01 개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다. 사용하기 JEUS 에서설정방법

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

Microsoft Word - AnyLink Introduction v3.2.3.doc

Microsoft Word - AnyLink Introduction v3.2.3.doc Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. AnyLInk Copyright Notice Copyright 2007 Tmax Soft Co., Ltd. All Rights Reserved. Tmax Soft Co., Ltd. 대한민국서울시강남구대치동 946-1 글라스타워 18 층우 )135-708 Restricted

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식

개발및운영 Tibero DB Link (Tibero To Oracle) - Local 방식 Tibero DB Link (Tibero To Oracle) - Local 방식 2014. 04. 16. 목차 1. 구성환경... 3 2. 환경설정... 3 2.1. Tibero 서버 (AIX) 에 Oracle instance Client 파일을업로드... 3 2.2. Oracle Instance Client에대한환경설정등록 (.profile)... 4 2.3.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Tibero

Tibero Tibero 클라이언트설치가이드 Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2013 TmaxData Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구황새울로 329 번길 5 티맥스빌딩우 ) 463-824 Restricted Rights

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

Intro to Servlet, EJB, JSP, WS

Intro to Servlet, EJB, JSP, WS ! Introduction to J2EE (2) - EJB, Web Services J2EE iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

Chap12

Chap12 12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint - RMI.ppt

Microsoft PowerPoint - RMI.ppt ( 분산통신실습 ) RMI RMI 익히기 1. 분산환경에서동작하는 message-passing을이용한 boundedbuffer 해법프로그램을실행해보세요. 소스코드 : ftp://211.119.245.153 -> os -> OSJavaSources -> ch15 -> rmi http://marvel el.incheon.ac.kr의 Information Unix

More information

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step

[JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step 기타지식 [JEUS 7.0] eclipse plug-in 연동 2015. 06. 09 [JEUS 7] eclipse plug-in 연동 1. 개요 Eclipse 와 JEUS 7 연동시필요한 plug-in 제공및환경설정에관한가이드제공하여 Eclipse 에서 JEUS 7 기동및 종료테스트할수있는방법을기술하였습니다. 2. Plug-in 설치 2.1 [Step. 1]

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

마리오와 소닉 리우 올림픽™

마리오와 소닉 리우 올림픽™ 마리오와 소닉 리우 올림픽 1 사용하기 전에 준비하기 2 유저 콘텐츠에 대하여 3 인터넷으로 이용 가능한 기능 4 보호자 여러분께 5 amiibo란 시작하기 전에 6 게임 소개 7 게임 시작 방법 8 조작 방법 9 데이터 저장과 삭제 통신으로 더욱 즐기기 10 대전 모드 11 포켓 마라톤 12 기록 기타 13 사용 곡명과 작곡자 소개 14 플레이 정보 송신

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

설치및환경설정 JEUS Thread State Notify 설정

설치및환경설정 JEUS Thread State Notify 설정 JEUS Thread State Notify 설정 2014. 07. 02 목차 1. thread-state-notify 설정... 3 1.1 시나리오 #1. max-thread-active-time : 10초... 3 1.2 시나리오 #2. max-thread-active-time : 10초, thread-interrupt-execution : true...

More information

비긴쿡-자바 00앞부속

비긴쿡-자바 00앞부속 IT COOKBOOK 14 Java P r e f a c e Stay HungryStay Foolish 3D 15 C 3 16 Stay HungryStay Foolish CEO 2005 L e c t u r e S c h e d u l e 1 14 PPT API C A b o u t T h i s B o o k IT CookBook for Beginner Chapter

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 4 (Object) (Class) (Instance) (Method) (Constructor) Memory 1 UML 1 @ & 1 (Real World) (Software World) @ &.. () () @ & 2 (Real World) (Software World) OOA/ Modeling Abstraction Instantiation

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 )

인디쓔피-IOM핸돜벁닄큐1014pdf, page 59 @ Preflight ( IOM핸돜벁닄큐__1014 ) Publisher: International Organization for Migration 17, route des Morillons 1211 Geneva 19 Switzerland Tel: +41.22.717 91 11 Fax: +41.22.798 61 50 E-mail: hq@iom.int Internet: http://www.iom.int ISBN 978

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

More information

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위 01 노동법 법원으로서의 노동관행 15 - 대판 2002.4.23, 2000다50701 [퇴직금] (한국전력공사 사례) 02 노동법과 신의성실의 원칙 17 - 대판 1994.9.30, 94다9092 [고용관계존재확인등] (대한조선공사 사례) 03 퇴직금 청구권 사전 포기 약정의 효력 19 - 대판 1998.3.27, 97다49732 [퇴직금] (아시아나 항공

More information

개발및운영 Tibero Perl 연동

개발및운영 Tibero Perl 연동 Tibero Perl 연동 2014. 05. 27. 목차 1. Windows에서의홖경구성... 3 1.1 Tibero ODBC Driver 설치... 3 1.2. Tool 설치... 5 2. Unix에서의홖경구성... 6 2.1 iodbc 설치... 7 2.2 Tibero 설치... 7 2.3 Iodbc drvier manager 등록... 7 3. Tibero

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties...

목차 1. 노드매니저종류 Java Type SSH Type 노드설정파일및로깅 nodes.xml jeusnm.properties <servername>.properties... 개발및운영 JEUS7 Node Manager 가이드 2014. 12. 15 목차 1. 노드매니저종류... 3 1.1 Java Type... 3 1.2 SSH Type... 3 2. 노드설정파일및로깅... 3 2.1 nodes.xml... 3 2.2 jeusnm.properties... 4 2.3 .properties... 4 2.4 JeusNodeManager.log...

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 1,..... @ 1 Green Project 1991 Oak Java 1995. 5 December '90 by Patrick Naughton, Mike Sheridan and James Gosling Embedded in various consumer electronic device 1992. 9. 3 Star 7 1993 www portability

More information

歯Writing_Enterprise_Applications_2_JunoYoon.PDF

歯Writing_Enterprise_Applications_2_JunoYoon.PDF Writing Enterprise Applications with Java 2 Platform, Enterprise Edition - part2 JSTORM http//wwwjstormpekr Revision Document Information Document title Writing Enterprise Applications

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

(Microsoft PowerPoint - Chapter17 RMI.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - Chapter17 RMI.ppt [\310\243\310\257 \270\360\265\345]) Chapter 17. RMI Mingyu Lim Collaborative Computing Systems Lab, School of Internet & Multimedia Engineering Konkuk University, Seoul, Korea 학습목표 RMI란 RMI 구조 RMI는어떻게동작하는가 로컬객체를원격객체로변경하기 RMI를이용한계산기애플리케이션

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

More information

목차 JEUS JNLP Client Sample 가이드 JNLP 란 JNLP의이점 TEST TEST 환경 TEST Sample sample application 셋팅 (ser

목차 JEUS JNLP Client Sample 가이드 JNLP 란 JNLP의이점 TEST TEST 환경 TEST Sample sample application 셋팅 (ser 기술교육 JEUS JNLP Sample 가이드 2015. 06. 19 목차 JEUS JNLP Client Sample 가이드... 3 1. JNLP 란... 3 2. JNLP의이점... 3 3. TEST... 3 3.1 TEST 환경... 3 3.2 TEST Sample... 4 3.2.1 sample application 셋팅 (server side)...

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

More information

개발및운영 Eclipse 를이용한 ANT 활용방법

개발및운영 Eclipse 를이용한 ANT 활용방법 Eclipse 를이용한 ANT 활용방법 2014. 04. 09 목차 Eclipse를이용한 ANT 활용방법... 3 1. ant 사용전준비사항... 3 1.1 ant Install... 3 1.2 Java Project 생성... 5 2. ant 활용방법... 10 2.1 ant project 생성... 10 3. ant 설정... 13 3.1 ant directory...

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 19 장배치관리자 이번장에서학습할내용 배치관리자의개요 배치관리자의사용 FlowLayout BorderLayout GridLayout BoxLayout CardLayout 절대위치로배치 컨테이너안에서컴포넌트를배치하는방법에대하여살펴봅시다. 배치관리자 (layout manager) 컨테이너안의각컴포넌트의위치와크기를결정하는작업 [3/70] 상당히다르게보인다.

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f… Command JSTORM http://www.jstorm.pe.kr Command Issued by: < > Revision: Document Information Document title: Command Document file name: Revision number: Issued by: Issue

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

More information

튜닝및모니터링 HP JVM 튜닝옵션

튜닝및모니터링 HP JVM 튜닝옵션 HP JVM 튜닝옵션 2013. 11. 01 목차 1. 개요... 3 2. JVM 특징소개... 3 3. JVM 주요옵션소개... 3 4. 분석기술... 16 2 1. 개요 HP JVM 의특징을살펴보고, TroubleShooting 방법과, 실제 Site 튜닝사례를살펴보도록한다. 2. JVM 특징소개 JVM 메모리영역. 3. JVM 주요옵션소개 GC command-line

More information

교육자료

교육자료 THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성

More information

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

More information

JEUS 소개

JEUS 소개 JEUS 소개 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted Rights

More information

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

JEUS

JEUS JEUS Application Client 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824

More information

JavaGeneralProgramming.PDF

JavaGeneralProgramming.PDF , Java General Programming from Yongwoo s Park 1 , Java General Programming from Yongwoo s Park 2 , Java General Programming from Yongwoo s Park 3 < 1> (Java) ( 95/98/NT,, ) API , Java General Programming

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Autodesk Software 개인용 ( 학생, 교사 ) 다운로드가이드 진동환 (donghwan.jin@autodesk.com) Manager Autodesk Education Program - Korea Autodesk Education Expert 프로그램 www.autodesk.com/educationexperts 교육전문가프로그램 글로벌한네트워크 /

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

신림프로그래머_클린코드.key

신림프로그래머_클린코드.key CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information

JEUS

JEUS JEUS JMX 안내서 JEUS v6.0 Fix#8 Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. Copyright Notice Copyright 2011 TmaxSoft Co., Ltd. All Rights Reserved. 대한민국경기도성남시분당구서현동 272-6 우 ) 463-824 Restricted

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

untitled

untitled : 2009 00 00 : IMS - 1.0 : IPR. IMS,.,. IMS IMS IMS 1). Copyright IMS Global Learning Consortium 2007. All Rights Reserved., IMS Korea ( ). IMS,. IMS,., IMS IMS., IMS.,., 3. Copyright 2007 by IMS Global

More information

.

. JEUS 6 & WebtoB 4.1 관리자 2015.09 Ⅰ Ⅱ Ⅲ JEUS 설정 WebtoB 연동설정 Tibero 연동설정 Ⅰ JEUS 설정 컨테이너생성 Application 디플로이 컨테이너생성 관리자화면접속 http://ip-address:9744/webadmin 접속 ID : administrator PW : 설치단계에서설정한관리자암호 3/36 컨테이너생성

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

BSC Discussion 1

BSC Discussion 1 Copyright 2006 by Human Consulting Group INC. All Rights Reserved. No Part of This Publication May Be Reproduced, Stored in a Retrieval System, or Transmitted in Any Form or by Any Means Electronic, Mechanical,

More information

설치및환경설정 Tibero tbprobe 사용법과원격지포트체크

설치및환경설정 Tibero tbprobe 사용법과원격지포트체크 Tibero tbprobe 사용법과원격지포트체크 2014. 04. 23. 목차 1. tbprobe 사용... 3 1.1. 로컬호스트 tibero 체크... 3 1.2. 원격호스트 tibero 체크... 3 2. tbprobe 상태값... 5 3. tbprobe 연결방법... 6 3.1. IP 와 listener_port 기재시... 6 3.2. IP 와 listener_port

More information

gnu-lee-oop-kor-lec10-1-chap10

gnu-lee-oop-kor-lec10-1-chap10 어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스 스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다. 사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우 두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다. class

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

J2EE Concepts

J2EE Concepts ! Introduction to J2EE (1) - J2EE Servlet/JSP/JDBC iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information