BEAWebLogic Server WebLogic Time Services ªªªª ªªª ª BEA WebLogic Server ªªª ª ª 7.0 ªª ª ª u : 2002 6 28
m Copyright 2002, BEA Systems, Inc. All Rights Reserved. ÑÔÒÏÏÎÆÍËÔÓÕÎÖÊÂBEA Systems, Inc. Ê Ó Ï Ï ÑÑÒÕÑ ÂÃBEAÃÉÆÆÌÈ Ê vw Ê ÉÆÉ ÈÍÂÈÊ Ê È Í ÊÊÌ ÈÍÇÉÇÉÇÂ Ê ~ÍÊÊÌ ÌÉÊÐÓ ÈÍÇÉÇÉÇÌ ÈÂ É Êv ÈÍÉÆÍ Ê É ÑÔÒÏÏÎÎÐÓ ÈÍÇÉÊ Ê~ ÈÌÈÂÇÊÔÓÕÎÖÊÿÌÉÊ ÎÂBEA ÇÍÊ ˆÊÍÍ Ê ÊÈÊÂt ÂttÂfvÂÆÍÆÊÆÇÊÍ ÌÉÊ w ËÊ ÌsÆÇÉÊÉÇÌÈ Î ÊÍÍ ÂttÌÈÇÊ ÊÂBEA Ê vw ÂÆÍË FAR 52.227-19 Ê ÃCommercial Computer Software-Restricted Rightsà ÊÐÔÓÖÐÖÔ (c)(1)âdfars 252.227-7013 ÊÃRights in Technical Data and Computer Softwareà ÊÐÔÓÖÐÖÔ (c)(1)(ii) ÂNASA FAR t 16-52.227-86 ÊÃCommercial Computer Software--LicensingÃ Ê ÐÔÓÖÐÖÔ (d)âìèçêèííé Ê É ÌÍ Ê yéêíìèâ ÇÊÔÓÕÎÖÊv ÈÍÉÆÍ Ê ÊÇ ÈÍÍÇÉÇÆÍÂÌÉ BEA ÊÍÍy Î ÈÍÌÊÉÊÆÍÌÈΠÑÔÒÏÏÎÆÍËÔÓÕÎÖÊà ÊÌÌà ÈÍÂ Ì ~ËÊ Î ÌÉÈÍ ÉÉÈÂÇÍÍÊÊ ÈÍÊÆ ÆÇÊÍ ŠÊ vì ÆÌÈÎÂÈÍÊÂBEA Ê  È Š ÊÊÊÉÆÉ ÑÔÒÏÏÎÌÉ ÊÔÓÕÎÖÊ ÌÈÇÊ Ê ÈÉÆÇÊÍ Â vâæíæês ÌsÆÌÈΠÌÉÊ ƒ BEAÂJoltÂTuxedoÂÆÍË WebLogic Ê BEA Systems, Inc. Ê ƒ ÉÈÂBEA BuilderÂBEA Campaign Manager for WebLogicÂBEA elinkâbea ManagerÂBEA WebLogic Commerce Server BEA WebLogic EnterpriseÂBEA WebLogic Enterprise PlatformÂBEA WebLogic ExpressÂBEA WebLogic IntegrationÂBEA WebLogic Personalization ServerÂBEA WebLogic PlatformÂBEA WebLogic PortalÂBEA WebLogic ServerÂBEA WebLogic Workshop ÆÍË How Business Becomes E-Business ÊÂBEA Systems, Inc Ê ÉÈ ÈÊ Ê ÊÈËÉ ÇÈÊ Î ÈÌÈ WebLogic Time Services ÔÖÐÖÔ Ñ ÏÏÒ Ó Ò ÔÓÕÎÖÊ u ÑÔÒÏÏÎÊÓ ÑÕ ÊÈ 2002 6 28 BEA WebLogic Server Ó ÑÕ 7.0
目次 ÇÊÔÓÕÎÖÊ ywf... v e-docs Web ÐÏÒ... v ÇÊÔÓÕÎÖÊ... vi ÐÔ Ò...vi svu...vii 1. WebLogic Time Ð ÓÑ ˆ ÊÔÖÐÖÕ Ð Time Ð ÓÑʈ ÊÉÆÉ...1-1 u...1-2 WebLogic Time ÊÎ ÐÒÐÒÕ...1-2 WebLogic Time API...1-3 2. WebLogic Time Î ÈÉ t ÐÖÏÎ Ò ÉÊ ÒÖÏÊÑÐÑÕ Ö Ð...2-1 WebLogic ÐÖÏÎ ÒÇÍÊ Ð ÓÐÏÒ ÒÖÏÊÑÐÑÕ Ö Ð 2-3 1. ScheduleDef ÆÍË TriggerDef Ï ÑÔÏ ÑÊ t...2-3 2. WebLogic ÐÖÏÎ ÒÇÍÊ ScheduledTrigger Ê...2-5 t ÊÑÐÑÕ ÖÊv...2-7 ÑÐÑÕ Ö Ð...2-7 ScheduledTrigger Ê...2-8 WebLogic Time Services ÔÖÐÖÔ Ñ ÏÏÒ iii
iv WebLogic Time Services ÔÖÐÖÔ Ñ ÏÏÒ
このマニュアルの内容 ªªª ª BEA WebLogic Server s WebLogic Time ªªª ª ªªª ª ªª w ªª ª ª 1 WebLogic Time ªªª ª «ˆ «ªª ª ª ª ªª WebLogic Time ªªª ª ªªª ªªª w 2 WebLogic Time t WebLogic Time ªªª ª t w ywf ªª ª ª ª ª ªªª ª ª Time ªªª ª t ª ª ªª ª ª ª f y ªª ª ª Web ªªªªª ª ª ª ª ª ª ª ª ª ªª Java ªª ª ª ª ªªuw wf ~ e-docs Web ª ª BEA t ª ª ª ª ª ª BEA Web ª ª BEA ªª ª ªªª [ t ª ª ª ª ª ª ] ªªªª WebLogic Time Services ªªªªªªª ª v
ªª ª ª Web ªª ª [ ª ª ] ªª ª ª Web ªª ª ªª ª ª ÿ 1 ªªª ª PDF Web ª ª PDF Adobe Acrobat Reader ªª ª ª «ÿ «PDF s WebLogic Server ªªªªªª ªªª ªª ª [ ªªªªªª ª ªªªª ] ªªªª ªªª ª Adobe Acrobat Reader Adobe Web ª ª «http://www.adobe.co.jp«ªªª ª BEA ª ª ª ª ª ª ªªª ª ª ª ª ª ª ˆ u z u ª ªª docsupport-jp@beasys.com ~ u WebLogic Server ªªªª ª ª u BEA f ~ ª ªª ª ª ªªª ª ª ª ªªª ª ª ªªªªªª ª ªª ªªªªª BEA WebLogic Server BEA WebLogic Server ª ª ª ªª Š BEA WebSupport «www.bea.com«~ BEA ªªª ªªª ª ªªª ªªª ª ~ t ª ª ªªª ªªª ªªª ª ªª v ªªª ªªª ª ª ªª ª ª ª v ª ª ª vi WebLogic Time Services ªªªªªªª ª
ªª ª t ªªª ª ª Š s ª ª ªªªªª svu ªª ª ª ~ svu sv Ctrl + Tab ÒÐÑÒ Ê Ò ÐÑÒ t ªª w ª ª ª ªªª ªªªª ªªª ª ªª ª ª ªªª ~ ªªªª ªªª ª ªªª ª ª ª ª ª ª ª ªªªª ª ª ª ª ª : import java.util.enumeration; chmod u+w * config/examples/applications.java config.xml float ªªª : String CustomerName; WebLogic Time Services ªªªªªªª ª vii
sv ªª ª ª ªª ª w : LPT1 BEA_HOME OR { t g [ ] : java utils.multicasttest -n name -a address [-p portnumber] [-t timeout] [-s send] g : java weblogic.deploy [list deploy undeploy update] password {application {source... ª ªªª ª ª t e ª ª ª ªª ~... ªªª ªªªª viii WebLogic Time Services ªªªªªªª ª
1 WebLogic Time サービス ( 非推奨 ) のプログラミング WebLogic Time API ª ªª ªªª~ e ª ª ª ª «ª ª «ª ªª ªª ª ªª ª ªª ª Time ªªª ª h w Time ªªª ª ˆ u WebLogic Time ªªªªªª WebLogic Time API Time ªªªª ˆ WebLogic Time ªªª ª WebLogic Server ªªª ª ª 6.1 ˆ ªªªªªª ªªªªªªªª ªªª ª WebLogic Server ªªª J2EE ªªªªªªªª ªªª BEA Systems, Inc. WebLogic Server JMX ª ª ªªª ª t javax.management.timer.timer v ªªª ª JavaTM Management Extensions «JMX«WebLogic Time Services ªªªªªªª ª «ˆ «1-1
1 WebLogic Time ªªªª «ˆ «ªªª ª ª ªª u Time API ªª ªª JVM ª ª ª ª WebLogic Server ªªª v~ ª ª ªªª ªª ª ª ª s Time API i ª ª ª ª v Š h : Time ªªª ª ª ª ª ª WebLogic Server ªªª ªi ª ª ª ª WebLogic Time API ªªª ªªªªªª ª ª ªª ª ªª ª h WebLogic Time ªªªªªª WebLogic Time WebLogic Server API API WebLogic Time Schedulable ªª ª ª ScheduledTriggerDef ªª ª ª ScheduledTriggerDef ªª ª ª ª ª ª ª ªªªªªª s Triggerable ªª ª ª ªªªªªª s ªª ª ª f ªª ª ª ª ª ª ª ScheduledTrigger ªª ª ª ª ª ª ª WebLogic Server ª ª ªª ª ªª ªªª ª ª ª ÿ~ ª ª ª ªªª ª ª ªªªªªªªª s ªª ª 12:15:30 1 ~ ª ª ª ª ª ªª ª ªª ª ªª ªªª 12 ªªªªªª ªªª 12 15 ««ª ª ªªª ˆ ª ªª ªªª v ª ªª ªª ª ªª ªªªªª ª 1-2 WebLogic Time Services ªªªªªªª ª «ˆ «
WebLogic Time API WebLogic Server Time ªªª ª ªªª ª ªªªª ª ª ª ª ª ªªª w WebLogic ªª ª ª ª ª ª ª ªª WebLogic ªª 1 h WebLogic Time API ScheduledTrigger ª ª ª ª ª ª ª 2 ªª ª ª weblogic.time.common.schedulable weblogic.time.common.scheduledef t ªª ª ª weblogic.time.common.triggerable weblogic.time.common.triggerdef t ªª ª ª ScheduledTrigger ªª ª ª ª ª ª ª ªªªª ªª ªª ªª ªªª ª ªª ª ª WebLogic ªª ª ª i JVM ScheduledTrigger ªªªªªª ªª s ª ª ª ªª ª ªª ª ª Schedulable «ScheduleDef«Triggerable «TriggerDef«t TimeServicesDef ª ª ª ªª ª ª ª ª ªªª ~ ª ª ª ª currenttimemillis() ªªª ªª ª ªªª ª ªªª ª ªª ª ªªª ª ª ª ª ªªª ~~ w ªªª «ª ª ª ª ªªª ª ª ª ª ª ª WebLogic Server ª ª «getroundtripdelaymillis() ª ª ª ª ªªª ~ ª ª ª ª ª ª u w ªª ª ªª WebLogic Time Services ªªªªªªª ª «ˆ «1-3
1 WebLogic Time ªªªª «ˆ «ªªª ª ª ªª getlocalclockoffsetmillis() u w ªª ª ªª ª ª ª ª ªªª ª ª ª ª ªª ªª ªª weblogic.time.common.timerepeat ª ªª Schedulable t ªªª ª ª ª ªª ª ª v ªª ª ªª ª ª ª e «ª ª «int schedule() ªªªª x : ªª ~ ª ª ªªªªªª ªª ª ª s ª ª ª ªª ªª ª ªª ª ª ªªªªªª ªª ªª ªªª 1 ª ªª TimeTriggerException 1-4 WebLogic Time Services ªªªªªªª ª «ˆ «
2 WebLogic Time を使用した実装 WebLogic Time ªªª ª «ˆ «t w ª ª ª ª ª ª ªªªªª ª ªª WebLogic ª ª ª ª ªªªª ª ªª ªªªªªªªª t ªªªªªª v ªªªªªª ªª ScheduledTrigger ª ª ª ª ª ª ªª ªªªªªª ª ª ªªªªªª ªª ªªª WebLogic ª ª ª ª ªªªªªª ªª s ScheduledTrigger ªªª Schedulable Triggerable t ª ª ª v~ ªªª ªª ª ª ª ª t ªªª ª ª ª ªª ªªª s import weblogic.time.common.*; import weblogic.common.*; import java.util.*; import weblogic.jndi.*; import javax.naming.*; import java.util.*; class mytrigger implements Schedulable, Triggerable { WebLogic Time Services ªªªªªªª ª «ˆ «2-1
2 WebLogic Time t... TimeServices ª ª ª ª ScheduledTrigger ªª ª ª u TimeServices ª ª ª ª gett3services() ªªªª WebLogic Server T3Services ª ªªª ª ª ª ª ªªª : ªª ªª ª ªªªªªª WebLogic Server ªªªª ª TimeServices ªªª ªª ªª ªª ˆ ªªªª weblogic.common.t3services.gett3services() ª ª schedule() ªªªª cancel() ª ªª ª public mytrigger() throws TimeTriggerException { // T3Services ÔÎÐÒÖÎ ÈÍ T3ServicesDef t3 = gett3services("t3://localhost:7001"); // ÔÎÐÒÖÇÍ ScheduledTrigger Îu ÈÍ // ÇÊÐÖÑÎÑÐÑÕ Ö ÐÉ sê ÈÍ ScheduledTriggerDef std = t3services.time().getscheduledtrigger(this, this); // ÑÐÑÕ Ö ÐÎ ÈÍ std.schedule(); // ÐÖÑÊÂÒÖÏÊÑÐÑÕ Ö Ð Ê Ê ÎsÆ ÌÆÍ // ÈÉÍÂÒÖÏÎÐÕ ÑÖÈÍ std.cancel(); ª ªª ªªª ªª f ª ªª ª t Schedulable Schedulable ªªª ªª schedule() 1 ª ªª ª ª ªª ª ª ª s v public long schedule(long time) { // 5 ÇÉÊÒÖÏÎÑÐÑÕ Ö ÐÈÍ return time + 5000; Triggerable Triggerable ªªª ªª 1 ª ªª ª trigger() ª ª ª ª v ª ª ªªªª z 2-2 WebLogic Time Services ªªªªªªª ª «ˆ «
WebLogic ª ª ª ª ªªªª ª ªª ªªªªªªªª public void trigger() { // trigger ÕÑÒÒÊÎÐÑÕ ÇzÇÍ ÉÆÍ System.out.println("trigger called"); ªªª ªªª ªªª ª ª t ÿ ª ªª 2 ªªªª ªªªªªªªª s u ªªª WebLogic ªª ªª ªªª ª ª ª ª ªªªªªªªª WebLogic ªªªªª ªª s ªªªªª ª ª ª v~ t ScheduleDef TriggerDef ªªª ªª Schedulable Triggerable t WebLogic Server «WebLogic ªªªªª ªª «ªªªªªª ªª s ª ª t ªª ª ªªªªªªªª ª ª ScheduleDef TriggerDef t ª ª ª v~ u ª ª ª ªª ª ª ª t ªªª ªªª ª WebLogic Server serverclasses ª ªª ªª e ª ª ª ª ª ªªªªª ª ªªª ScheduledTrigger 1. ScheduleDef TriggerDef ªª ª ªª t setservices() scheduleinit() ªªªª ªªªªªª Schedulable ScheduleDef t ª ª Triggerable TriggerDef t ª WebLogic Time Services ªªªªªªª ª «ˆ «2-3
2 WebLogic Time t ª ª ª ParamSet T3Services ªªª ~ WebLogic ªªª ª ª ª ª i t ªª ª ªª 2 ~ u ªª ªªª ª ªªª ªªª ªªªª ª ªªª ªªª ªªª ª ª u T3ServicesDef ªª ª ªª ªªªª ªªª ªª ª ª ª ª ª ª ª ªª ªª ªªªªªªª Time ªªª ªª ªªª ª ~ ª ª ª ªª ªª ª ª ªª ª ªª ParamSet scheduleinit() ªªªª t u ScheduleDef t package examples.time; import weblogic.common.*; import weblogic.time.common.*; import java.util.*; class MyScheduler implements ScheduleDef { private int interval = 0; private T3ServicesDef services; public void setservices(t3servicesdef services) { this.services = services; public void scheduleinit (ParamSet ps) throws ParamSetException { interval = ps.getparam("interval").asint(); public long schedule(long currentmillis) { return currentmillis + interval; TriggerDef t ª ª ª Trigger ª ª ªªª v u ªªªª t package examples.time; import weblogic.common.*; import weblogic.time.common.*; 2-4 WebLogic Time Services ªªªªªªª ª «ˆ «
WebLogic ª ª ª ª ªªªª ª ªª ªªªªªªªª import java.util.*; public class MyTrigger implements TriggerDef { private T3ServicesDef services; public void setservices(t3servicesdef services) { this.services = services; public void triggerinit (ParamSet ps) throws ParamSetException { // ÊÕÑÒÒ f public void trigger(schedulable sched) { System.out.println("trigger called"); 2. WebLogic ªª ªª ScheduledTrigger ªªªªªª ª ª v ªªªª getscheduledtrigger() ª ª ª ª ªªªª Scheduler Trigger ªª ª ª u 1. ScheduleDef TriggerDef ªªª ª ª t ªªª ªªª ª WebLogic Server CLASSPATH ªª ª ªªª ªªª JVM s ª ª ªªªªªªªª ªª ªª v~ ParamSet ª ª ª ª WebLogic Server ªªªªª ª ª ª ª ªª ª ªª ScheduleDef t 1 v~ ª ª ª v ªª ª ªª interval 1 Param ParamSet TriggerDef t v~ ª ª ª ªª ª ªª u T3ServicesDef t3services = gett3services("t3://localhost:7001"); // ParamSet Î ÈÉÂScheduleDef ÏÔÑÏÐÒÊ // ÓÖÕ ÑÎ ÈÂ1 ÉÊÓÖÕ ÑÃintervalÃÎ // 10 Êv ÈÍ ParamSet schedparams = new ParamSet(); schedparams.setparam("interval", 10000); WebLogic Time Services ªªªªªªª ª «ˆ «2-5
2 WebLogic Time t gett3services() ªªªª ªª ªª ª ªª ~ ªªª ScheduledTrigger ªªªªª Scheduler Trigger ªªªª ªª ª ª Scheduler Trigger ªªªª ªª ª ª u ªªª ªª ª ªª ParamSet Scheduler scheduler = new Scheduler("examples.time.MyScheduler", schedparams); Trigger trigger = new Trigger("examples.time.MyTrigger"); Time ªªª ª ªª ª ª ª ª ª ª ScheduledTrigger Scheduler Trigger 2 ScheduledTriggerDef std = t3.services.time().getscheduledtrigger(scheduler, trigger); getscheduledtrigger() ªªªª ScheduledTriggerDef object s ª ª ª ª ScheduledTriggerDef schedule() cancel() ªªªª ª ª ª ªªª v ª ª ªªª ÿ ªªª ª ª ªªª TimeRepeat TimeRepeat ª ªª 10 e ScheduledTrigger ªªªªªª v ªªª gett3services() ªªªª WebLogic ªªªª ª ªªª ª ª ª ª T3ServicesDef t3services = gett3services("t3://localhost:7001"); Scheduler scheduler = new Scheduler(new TimeRepeat(1000 * 10)); Trigger trigger = new Trigger("examples.time.MyTrigger"); ScheduledTriggerDef std = t3services.time().getscheduledtrigger(scheduler, trigger); std.schedule(); 2-6 WebLogic Time Services ªªªªªªª ª «ˆ «
t ªªª ªªª v t ªªª ªªª v Schedulable ªª ª ª schedule() ªªªª t ªª ªªªª i v ª ªª ªª ª ªª ª ªª schedule() ªªªª s 2 ~ ªªª ~ ª ª Java ª ªª «java.util.date «v s ª ª schedule() ªªªª long ª ª v schedule() ªªªª ª ªª ªªª e «ª ª «ªªªªªª ªª schedule() ªªªª v~ trigger() ªªªª ªª ª ªªª ~ schedule() ªªªª trigger() ªªªª ªªª t trigger() ªªªª private int delay ªª ª ª ª ª ~ v delay ª ª ª ªªª ª ªªª 0 trigger i ªªªªªª ªª ª ª ªªª w public void trigger() { System.out.println("Trigger called"); // ÊÑÑÐÎ sèí... System.out.println("Trigger completed"); // delay Ê 1000 ÕÖ Î~ ÈÍ delay += 1000; WebLogic Time Services ªªªªªªª ª «ˆ «2-7
2 WebLogic Time t schedule() ªªªª ª ª ª ªª ª ªª s ªªªªªªªª s ªª ª ªªª ~ «ª ª «z ª ª s ª ªª ªª ª ªª ~ public long schedule(long t) { System.out.println("--------------------------------------"); if (delay > 10000) { System.out.println("Cancelling Timer"); return 0; else { System.out.println("Scheduling next trigger for " + delay/1000 + " seconds"); return t + delay; ScheduledTrigger ScheduledTrigger 2 ScheduledTrigger cancel() ªªªª schedule() ªªªª ªª «0«ªª ªªªªªª 2 ª ª ª ª k ~ schedule() ªªªª ª ª ª ª ª ªªª cancel() ªªªª trigger() ª ªª ªª ª ªª ªª ª ª ª ª ª ª ª ª ª ªªª 2-8 WebLogic Time Services ªªªªªªª ª «ˆ «