728x90

먼저 제가 현재 사용하는 프로젝트를 정리한 것입니다.

1. quartz-applicationContext.xml의 윗부분에 아래와 같이 선언합니다.


2. 그리고 아래부분들을 추가하는데 말 그대로 그림대로 순서대로 진행해 나아가면 복잡한것 없습니다^^

Business Bean 설정에 보면 targetObject와 targetMethod가 있는데 P□TriggerBiz를 생성해 줬다면, P□TransRun 메소드를 생성해서 P□TriggerBizImpl에 오버라이딩 한 후에 그 메소드를 사용하면 메소드에 있는 일들을 수행합니다.

ps. 쿼츠를 사용하면서 이번에 제가 맡았던 부분인데요 새벽 2시에 매일 이미지 임시 저장공간을 복사해서 옮긴 후 이전 이미지들을 삭제하는 코딩을 하였는데 그부분은 DB에 접속할 필요없이 설정되어 있는 경로를 추가하고 그 경로값으로 자바단에서 처리만으로 해결하는 로직입니다. 이 부분에서 DB즉 Dao부분은 필요가 없게되니까 삭제하시고 설정하셔도 잘 돌아갑니다.ㅎ
728x90

'Tip' 카테고리의 다른 글

이클립스 속도 올리기  (0) 2010.04.08
Appfuse 설치  (0) 2010.04.05
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
CVS 접속 프로젝트 다운  (0) 2010.03.10
Posted by 미스터네오
,
728x90


1. 라이브러리 다운로드
경로 : http://www.terracotta.org/download/reflector.jsp?b=TCreleases&i=quartz-1.7.2.tar.gz

다운을 받은 후 압축을 해제하면 quartz-1.7.2.jar 파일을 프로젝트 lib 폴더로 복사한다.

2. quartz-applicationContext.xml 에 아래 내용 추가

<beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
            xmlns:aop="
http://www.springframework.org/schema/aop"
            xmlns:tx="
http://www.springframework.org/schema/tx"
            xsi:schemaLocation="
http://www.springframework.org/schema/beans
                                            
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                                            http://www.springframework.org/schema/aop
                                            
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
                                            http://www.springframework.org/schema/tx
                                            
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

<!--iBatis를 사용시 -->



   
    
<!-- Bean 설정: Begin -->

    <bean id="quartzDao" class="com.mbiz.core.dao.QuartzDao">
         <property name="sqlMapClient" ref="sqlMapClient"/>
     </bean>

     <!-- Bean 설정: End -->





 
    
<!-- Business Bean 설정:Begin -->

     <bean id="bizUserUpdateJob" class="org.springframework.scheduling.quartz.JobDetailBean">
         <property name="jobClass" value="com.mbiz.core.service.QuartzService"/>
         <property name="jobDataAsMap">
              <map>

               <!-- 여기서 파라미터 형식으로 Dao를 넘겨주어야 인식한다. -->
                   <entry key="quartzDao">
                        <ref local="quartzDao"/>
                   </entry>
              </map>
          </property>
      </bean>

     <!-- Business Bean 설정:End -->



     <!-- cronExpression 설정:Begin -->
     <bean id="bizUserUpdateTrigger"
       class="org.springframework.scheduling.quartz.CronTriggerBean">

     <!-- 생성했던 인스턴스 id를 레퍼런스 해준다. -->
         <property name="jobDetail" ref="bizUserUpdateJob"/>
         <property name="cronExpression" value="0 0 22 * * ?"/> 

         <!-- 시간 설정 부분이다. 이렇게 설정하면 매일 밤 10시에 실행된다. -->
     </bean>
     <!-- cronExpression 설정:End -->



      <!-- scheduler 설정:Begin -->
      <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no">
          <property name="triggers">
              <list>

    <!--
           최종적으로 반복될 작업에 대한 인스턴스에 대한 레퍼런스를 설정한다. 
           여러가지 클래스를 동시에 작업 진행할 수도 있다.
     -->

                   <ref bean="bizUserUpdateTrigger"/>
              </list>
          </property>
          <property name="quartzProperties">
              <props>

              <!-- 기타 설정들. -->
                  <prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
                  <prop key="org.quartz.threadPool.threadCount">5</prop>
                  <prop key="org.quartz.threadPool.threadPriority">4</prop>
                  <prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</prop>
                  <prop key="org.quartz.jobStore.misfireThreshold">60000</prop>
               </props>
          </property>
     </bean>
      <!-- scheduler 설정:End -->

3. 반복 작업을 하게 될 클래스를 생성(현재 제 회사는 BizImpl로 합니다.)

//QuartzJobBean 클래스를 상속받아 구현한다. 당연히 applicationContext에 설정되어 있는 정보와 맵핑이 되야한다.

public class QuartzService extends QuartzJobBean{

     private QuartzDao quartzDao;

     public void setQuartzDao(QuartzDao quartzDao) {
          this.quartzDao = quartzDao;
     }
     @Override
      protected void executeInternal(JobExecutionContext jobExecutionContext)
             throws JobExecutionException {
             // 반복할 작업 구현

     }
}

Thread 에서의 run 메소드라 생각하면 되겠다.. 이 메소드 내부의 내용이 설정한 시간마다 반복 수행된다.


출처 : http://msgzoro.egloos.com/3034871
728x90

'Tip' 카테고리의 다른 글

Appfuse 설치  (0) 2010.04.05
내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
CVS 접속 프로젝트 다운  (0) 2010.03.10
editer 설정  (0) 2010.03.10
Posted by 미스터네오
,
728x90

가위바위보 게임
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
public class Game1 {
 public static void main(String[] args) {
  InputStreamReader sr = new InputStreamReader(System.in);
  BufferedReader br = new BufferedReader(sr);
  
  try {
   System.out.print("입력하세요(가위(1), 바위(2), 보(3)) : ");
   
   int user = Integer.parseInt(br.readLine());
   Random rn = new Random();
   int com = Math.abs(rn.nextInt(3))+1;
   
    System.out.println(com);
    
   switch (user){
    case 1:
     user=1;
     System.out.println("가위를 입력하셨습니다.");
     switch(com){
      case 1:
       com=1;
       System.out.println("컴퓨터는 가위입니다. 비겼습니다.");
       break;
      case 2:
       com=2;
       System.out.println("컴퓨터는 바위입니다. 컴퓨터가 이겼습니다.");
       break;
      case 3:
       com=3;
       System.out.println("컴퓨터는 보입니다. 사용자가 이겼습니다.");
       break;
     }
     break;
    case 2:
     user=2;
     System.out.println("바위를 입력하셨습니다.");
     switch(com){
     case 1:
      com=1;
      System.out.println("컴퓨터는 가위입니다. 사용자가 이겼습니다.");
      break;
     case 2:
      com=2;
      System.out.println("컴퓨터는 바위입니다. 비겼습니다.");
      break;
     case 3:
      com=3;
      System.out.println("컴퓨터는 보입니다. 컴퓨터가 이겼습니다.");
      break;
    }
     break;
    case 3:
     user=3;
     System.out.println("보를 입력하셨습니다.");
     switch(com){
     case 1:
      com=1;
      System.out.println("컴퓨터는 가위입니다. 컴퓨터가 이겼습니다.");
      break;
     case 2:
      com=2;
      System.out.println("컴퓨터는 바위입니다. 사용자가 이겼습니다.");
      break;
     case 3:
      com=3;
      System.out.println("컴퓨터는 보입니다. 비겼습니다.");
      break;
    }
     break;
   }
   
  } catch (IOException e) {
   System.out.println("숫자를 제대로 입력하세요");
  }
 }
}

369게임
public class Sam {
    public static void main(String[] args)
    {
          String number = "";
          for(int i=1; i <= 100; i++) {
                number = i + "";
                if(number.indexOf("3")!=-1 || number.indexOf("6")!=-1 || number.indexOf("9")!=-1) {
                 if(i/10 == 3 || i/10 == 6 || i/10 == 9) {
                  if(i%10 == 3 || i%10 == 6 || i%10 == 9){
                   System.out.print("짝");
                  }
                 }
                      System.out.println("짝");
                } else {
                      System.out.println(i);
                }
          }
    }      
}          

 
728x90
Posted by 미스터네오
,

이클립스 단축키 정리

Tip 2010. 3. 22. 09:40
728x90

출처 : http://calmmass.tistory.com/126

1. Editing( 편집 )

1-1 커서 이동 / Windows 이동
  • Ctrl + D :  줄 삭제
  • Ctrl + Alt + ↑(위)/↓(아래) : 줄 복사
  • Ctrl + Shift + Enter : 현재 줄에서 새줄 추가
  • Shift + Enter : 다음 줄에 새줄 추가
  • Ctrl + L : 원하는 라인으로 이동
  • Ctrl + →(Right) : 다음 문자로 이동 
  • Ctrl + →(Left) : 이전 문자로 이동
  • F10 : 메뉴창을 활성화
  • Ctrl + F8 : 다음 Perspective로 이동
  • Ctrl + N :  새로운 파일 및 프로젝트 생성
  • Ctrl + Shift + ↓(Down) : Java Editor에서 다음 member로 이동
  • Alt + < : 이전 작업 화면
  • Alt + > : 다음 작업 화면
  • Ctrl + 1 : 컴파일 에러가 발생한 곳에서 Ctrl + 1을 누를 경우 컴파일 에러에 대한 해결책을 제시
1-2 주석
  • Ctrl + Shift + / : 주석 처리 
  • Ctrl + Shift + \ : 주석 풀기
  • Ctrl + / : 라인별로 주석처리

1-3 검색
  • Ctrl + J : 점증적 검색(키 수행 후 원하는 단어 입력하면 이클립스 하단바에서 찍히고 바로 검색 가능
  • Ctrl + K : 다음 찾기
  • Ctrl + Shift + K : 이전 찾기 
  • Ctrl + H : 검색 다이얼로그(메서드, 타입, 패키지 등 검색 가능
1-4 Tab 기능 / 코드어시스트
  • Tab : 들여 쓰기
  • Shift + Tab : 내여 쓰기
  • Ctrl + Space bar : 코드어시스트(키보드 Type3을 쓸 경우에는 왼쪽 Ctrl을 누른 상태에서 오른쪽 Ctrl을 누르고 왼쪽 Ctrl을 뗀 후에(오른쪽  Ctrl은 누른 상태) Space를 눌러 준다.)
1-5 기타
  • Ctrl + Shift + M : 특정 클래스  Import 시키기
  • Ctrl + Shift + O : 자동으로 Import 시키기
  • Ctrl + Shift + F : 코드 자동으로 정리 시키기
  • Ctrl + Shift + G : 특정 메써드나 필드를 Reference하고 있는 곳을 찾는다.
1-6 Information
  • Ctrl + Shift + R : 리소스 찾기
  • Ctrl + O : 레이어로 현재 파일의 Outline 보여줌
  • Ctrl + T : 레이어로 계층 구조 보여짐
  • F3 : 해당 메서드나 클래스가 정의된 곳으로 이동




2. Navigation 

2-1 에디터간의 이동
  • Ctrl + E : 에디터안에서 열린 파일간의 이동(작은 레이어로 뜬다.)
  • Ctrl + Shift + E : 에디터안에서 열린 파일간의 이동
  • Ctrl + F6 : 에디터안에 열린 파일간 이동하는데 F6 누를 때마다 하나씩 순차적으로 넘어감
  • Ctrl + F7  :  다음 View로 이동
  • Ctrl + Shift + F7 +  :  이전 View로 이동
  • Ctrl + F8 : 퍼스펙티브 간 전환
  • F12 : 컴파일 중 에러 등으로 포커스가 다른데로 갔을 때 Editor로 커서 이동

3. Debugging(디버깅)

3-1 디버깅 단축키

  • Ctrl + Shift + B : 현 커서의 위치에 브레이크 포인터 설정/해제
  • F11 : 디버깅 시작
  • F8 :  디버깅 계속
  • F6 : 한줄씩 실행(Step Over)
  • F5 : 한줄씩 실행 하되 함수일 경우 그 함수 내부로 들어감(Step Into)
  • Ctrl + R : 현재 라인까지 실행(Run to Line)

4. Run (컴파일 및 실행)

  • Ctrl + S : 자동으로 컴파일
  • Alt + Shift + X , J : Run Java Application (Alt + Shift + X 그외 여러가지 옵션이 있다.)


728x90

'Tip' 카테고리의 다른 글

내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
CVS 접속 프로젝트 다운  (0) 2010.03.10
editer 설정  (0) 2010.03.10
ERWin으로 DB모델링 하기  (0) 2010.02.24
Posted by 미스터네오
,

JRebel Tools

Tools 2010. 3. 10. 19:06
728x90
rmfja
1. http://www.zeroturnaround.com/ 싸이트에 접속

2. JRebel 에서 다운로드 클릭

3. 우측의 downloads archive를 클릭

4. 맨위의 파일을 다운

5. 압축을 풀고 압축을 푼 파일을 아래 그림과 같은 경로로 복사한다.

6  처음에 받아서 풀었던 압축파일에서 .jar파일을 추가해준다.


7 복사를 한 후에 Help -> install new software를 클릭한후 아래 싸이트를 추가한다.
    http://www.zeroturnaround.com/update-site/

8 위의 사이트에서 업그레이드를 끝내면 적용시킬 해당프로젝트에 마우스 우클릭후 그림과 같은 xml을 클릭한다.

9 xml설정은 아래의 경로와 같이 추가 시킨다.

10. xml설정이 끝나면 아래 서버를 더블클릭한다.

11. 더블클릭 후 서버 설정이 나오는데 아래 그림과 같이 체크를 해주고 ctrl+s 저장을 해준다.

12. 저장 후 이클립스 설정에서 아래와같이 추가한다.


13. 그림과 같이 추가

14. 설치가 완료되면 아래와 같은 화면이 뜬다.
저는 JBoss에서 실행하기 때문에 직접 적용된 화면을 보여드리겠습니다.

적용이 완료된 화면입니다. 근데 JRebel은 기간이 30일 정도밖에 안됩니다;; 그래서 기간이 지나면 재설치 해주어야 하는데
재설치는 1~6번과 8~13까지 다시하면 되겠습니다. 새로 다운받은 파일을 이전것을 지우고 덮어씌우고 재설정 해주면 제대로 적용되겠습니다. 그리고 서버 시작시 남은 기간 날짜가 나오게 되는데 위 사진에서 8번째 즈음에 보면 23 days라고 나와있습니다. 이 기간이 지나면 설치가 되어있어도 JRebel이 적용이 안되니 다시 설치하시기 바랍니다^^

728x90

'Tools' 카테고리의 다른 글

Apach ANT 설치  (0) 2010.04.05
JBoss 설정  (0) 2010.03.09
Posted by 미스터네오
,

CVS 접속 프로젝트 다운

Tip 2010. 3. 10. 18:02
728x90
1. Pakage Explorer에서 마우스 오른쪽 클릭 -> new -> Project클릭

2. CVS-Projects from CVS 클릭

728x90

'Tip' 카테고리의 다른 글

내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
editer 설정  (0) 2010.03.10
ERWin으로 DB모델링 하기  (0) 2010.02.24
Posted by 미스터네오
,

editer 설정

Tip 2010. 3. 10. 17:03
728x90
1. window -> properties

2. 왼쪽 메뉴 Editors -> File Association -> 중간 메뉴에서 *.proterties -> 우특아래 Default버튼 클릭 -> OK 클릭

728x90

'Tip' 카테고리의 다른 글

내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
CVS 접속 프로젝트 다운  (0) 2010.03.10
ERWin으로 DB모델링 하기  (0) 2010.02.24
Posted by 미스터네오
,

JBoss 설정

Tools 2010. 3. 9. 18:14
728x90
1. jboss.org 접속, Projects-Server-Application Server에서 Downloads 클릭
2. Name : 원하는 버전 다운로드
3. 받은 압축파일을 압축해제 후 Server로 등록할 경로에 가져다 놓기

JBoss테스트
1. 이클립스 실행
2. 이클립스에서 Window-Proferences에서 Server 를 클릭하면 다음과 같은 창이 뜨게된다.
    아래의 화면에서 Add 버튼을 클릭한다.

3. Add버튼을 클릭하면 아래와 같은 화면이 뜨게 되는데 아래의 화면에서 JBoss맞는 버전을 선택 한 후 Next

4. Next버튼을 누르게 되면 아래와 같은 화면이 뜨는데 Browser를 클릭

5. 설치해놓은 JBoss서버 경로를 지정한 후 확인 버튼 클릭

6. 아래와 같은 화면을 확인 후 Finish

7. OK 클릭

8. 실행시킬 프로젝트를 마우스 오른쪽으로 클릭하여 Properties 클릭

9. 왼쪽 메뉴의 Targeted Runtimes 클릭 -> JBoss체크 -> Apply 클릭

10. 왼쪽메뉴의 Java Build Path 클릭 -> Source 클릭 -> Default output folder 경로를 설정

11. Libraries클릭 -> Add Library 클릭

12. Server Runtime 클릭 -> Next 클릭

13. JBoss 클릭 -> Finish 클릭

14. Server창에서 마우스 오른쪽 클릭 -> new -> Server 클릭

15. JBoss 설치 버전 선택 -> Next

16. Default JRE 선택 -> Next 

17. Finsh 클릭 

18. Server창에 생긴 JBoss서버를 마우스 오른쪽 클릭 -> Add and Remove 클릭

19. 추가하려는 프로젝트를 Add 시킨 후 Finish

20. JBoss Start!! ㄱㄱㄱ



728x90

'Tools' 카테고리의 다른 글

Apach ANT 설치  (0) 2010.04.05
JRebel Tools  (0) 2010.03.10
Posted by 미스터네오
,