2013年10月16日 星期三

Java 排程工具、定時執行Class的好工具:Quartz

使用 quartz-all-2.1.0.jar
另外還需要commons-logging-1.1.1.jar 這一類的包,因為Quartz用的logeer是這個

原理:建立Scheduler,建立一個指定要定時工作的Class以及日期參數(類似CRONTAB)的Job,建立 Trigger,將Job與Trigger與Scheduler綁定,至於進階的Group跟Trigger那些沒用的很深,就不研究了。

時間到了Quartz會很聰明的執行你指定的Class,Class本身要實作Quartz的Job介面

範例:

極重要!務必在你要新建Quartz的CLASS裡面加入這行
如果你想被洗版的話例外...   Logger.getLogger("org.quartz").setLevel(Level.INFO);

Scheduler sched; public void initAJob{

 try {

            //建立一個Scheduler
            SchedulerFactory sf = new StdSchedulerFactory();
            sched = sf.getScheduler();
            

            JobDetail job = newJob(PollingWorker.class).withIdentity( "JobA","JobAGroup").build();
            //如果在工作執行時,需要傳入變數或物件,可以使用getJobDataMap()方法放東西進去       
            job.getJobDataMap().put("param", param);
            job.getJobDataMap().put("connectionPool", connectionPool);

            CronTrigger trigger = newTrigger().withIdentity("JobATrigger", "JobAGroup")
                                                  .withSchedule(cronSchedule("0 11 0 * * ?")).build();

            //將Job與Trigger放入scheduler
            Date ft = sched.scheduleJob(job, trigger);

            System.out.println(job.getKey() + " has been scheduled to run at: " + ft
                    + " and repeat based on expression: "
                    + trigger.getCronExpression());

            //執行就可以了
            sched.start();
        } catch (Exception ex) {
            //do something
        }

}

-----------------

PollingWorker.class


public class PollingWorker implements Job {  //必須實作Job 介面

   //我自己用到的變數
    NDSExternalPolling NDSEP; 
    Param param;
    ConnectionPool connectionPool;

    public PollingWorker() {
    }

    @Override
    public void execute(JobExecutionContext jec) throws JobExecutionException {
        //拿傳入變數只要這樣拿出來再轉型就可以了
        JobDataMap dataMap = jec.getJobDetail().getJobDataMap();
        param = (Param) dataMap.get("param");
        connectionPool = (ConnectionPool)dataMap.get("connectionPool");

        //do something
        
    }

}

----

簡易時間參數說明

"0 11 0 * * ?"  每天零點11分執行,不限月日

"0 47 0/2 * * ?" 每兩小時(從0點開始算:0,2,4,6,8~22) 的47分時執行,不限月日

"0 3/10 * * * ?" 每10分鐘執行一次(從3分開始算:3,13,23,33,43,53)

更進階的自己GOOGLE





















2013年8月5日 星期一

[心得] Steve Vai Live in Taipei 2013

 作者  gmoz (  This can't do that. )                          看板  RockMetal
 標題  [心得]  Steve Vai Live in Taipei 2013
 時間  Mon Aug  5 00:39:56 2013
───────────────────────────────────────

結論:太爽啦XDDDD  全部照片:http://ppt.cc/XfDz

今天4點就到ATT上面,不過感覺工作人員一開始沒在狀況內,
本來在猜要從樓梯那邊排,不過沒看到任何標示(貼在裡面= =)
還好後來別人在問的時候有偷聽到,立馬跑去,大概是教父區前10人XD

不過樓梯真的爆熱,後來主辦單位就請我們到BOX2理面排隊吹冷氣
不然沒有室內飲水300CC真的可能會中暑


開場Neil Zaza馬上帶來耳熟能詳的I'm Alright,音場真的超優,
我一開始以為我在聽CD
http://ppt.cc/W8n5

老范出場後嗨番啦~~~  服裝一樣騷包,花褲子黑衣服加黑帽
http://ppt.cc/68aA

想聽的歌都有了,而且靠隊友我拿到一對Jeremy Colson丟出來的鼓棒啦
http://images.plurk.com/iItL-6uJCUOadO5ONvqiBYZSJVv.jpg
以前第一次看到JC打鼓動作跟力道超狂野,但是點卻超細膩簡直不可思議
今天現場看到果然還是一樣神
然後也有搞笑片段XD  http://ppt.cc/7tHL

另外我然後還有摸到Vai的吉他(靠近EVO)!!! http://ppt.cc/nWOA
在幾乎不到三公尺的距離看到現場的「For the  Love of God」、
「Building The Church 」真的值得了,
「Tender Surrender」,前奏一出來整場都嗨翻了OMG

這場花招很多,親吉他、吹吉他、咬+拉起吉他弦都有XDD
用搖桿跟觀眾玩對點也有,叫正妹上台一起即興創作也有
LED戰士袍也登場了XDDD
http://ppt.cc/orqH

整場下來音場超正點,優!
真的是值回票價XDDD

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.250.170.47
推 DEATH66611:超棒 真的很屌,唯一遺憾就是不該買聖手區,整場下來      08/05 00:47
→ DEATH66611:都在看前方黑壓壓後腦杓 下次應該要花大錢買下去就對了  08/05 00:48
→ gmoz:依經驗看 要就搖滾區或是二樓看台 XDDD                       08/05 00:50
推 fabledqqman:二樓看台有種看電影的感覺 顆顆                       08/05 00:52
※ 編輯: gmoz            來自: 111.250.170.47       (08/05 01:02)
推 machijoy:超爽的阿~~~~                                           08/05 01:03
推 hyper99:出神入化                                                08/05 01:23
推 johngood2032:爽!!!! 但想求歌單                                  08/05 02:06

2013年7月23日 星期二

Alesis DM10 + Q502 MIXER 電子鼓錄音分享


 作者  gmoz (  This can't do that. )                               看板  Drum
 標題  [心得] Alesis DM10 +Q502 MIXER 電子鼓錄音分享
 時間  Wed Jul 10 22:45:32 2013
───────────────────────────────────────

最近換了Behringer Q502這台有錄音介面Mixer,錄音更方便啦~
(是Q502 不是502,有Q字才有內建錄音介面)
舊的錄音方式請爬我文,新的方式如下:

剛好剛剛又有板友問我這台電子鼓的錄音方式,就順便再分享一下XD
我是鼓獨立錄,同時錄影片,
再用SONY VEGAS這套軟體把鼓的聲音、原曲音樂、影片合併起來

整體架構圖是這樣的 http://i.imgur.com/AUAKR8D.jpg
input: MP3 player
      |
      |
      |--->AUX IN->[ DM10 ]-> AUX OUT --(drum)-----> Q520 -----usb----> PC
            output:    |
                       |-------(drum+mp3)---->headphone

可以看見一個輸入:
1.MP3輸入到DM10的AUX IN (3.5mm公頭轉紅白AUX兩頭)
兩個輸出:
1.一個是從DM10的AUX OUT 只輸出鼓軌 到 Q502  (Q502上請按下To Mixer按鈕)
(請用6.3mm導線接到跟MIC一起的第一軌LINE IN,其他軌不行,因為沒供電)
然後Q502從usb把聲音輸出到PC端

2.另外一個是DM的耳機孔輸出鼓+音樂到你的耳機


DM10請先設定 UTILTY 的 Output 調整為 "MAIN>AUX",
這樣就可以從AUX OUT只輸出鼓,
而不會MP3也跟著鼓一起混著輸出了,若MIXER聲音燈號沒反應,
請檢查這邊是不是有設定好

然後PC端這邊,請先去Behringer官網下載病安裝 U-Control 驅動
這樣你的電腦就會多一個線路輸入(Behringer)

PC端就隨便找一個MP3錄音軟體,輸入來源選擇上面那個線路輸入(Behringer)
然後就可以開始錄啦XDDD



--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.153.185
推 miyavihide:感謝分享,受用不盡,讓我學到了一課!!!                  07/10 23:23
推 shiiz:這個好!!!!!!!!!!!!!!!!!!!!                                07/11 16:19
推 kevin00060:太感謝了,解決了我很多問題                           07/12 14:29

終焉に咲く花-Asriel