SVN에서 Commit 오퍼레이션이 시간이 오래 소요되서 이클립스를 강제 종료했더니,

SVN 디렉토리에 lock이 걸려버렸다.

다시 Commit하려고 했더니, 다음과 같은 예외가 발생하였다.

org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir

svn: Working copy 'xxx' locked

org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir
svn: Working copy 'xxx' locked

at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.update(AbstractJhlClientAdapter.java:1010)
at org.tigris.subversion.subclipse.core.commands.UpdateResourcesCommand.run(UpdateResourcesCommand.java:68)
at org.tigris.subversion.subclipse.ui.operations.UpdateOperation.execute(UpdateOperation.java:73)
at org.tigris.subversion.subclipse.ui.operations.RepositoryProviderOperation.execute(RepositoryProviderOperation.java:71)
at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:89)
at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:144)
at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:72)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir
svn: Working copy 'xxx' locked

at org.tigris.subversion.javahl.SVNClient.update(Native Method)
at org.tigris.subversion.javahl.SVNClient.update(SVNClient.java:491)
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.update(AbstractJhlClientAdapter.java:1006)
... 8 more


이 경우 lock이 걸린 디렉토리에서 Team -> Cleanup을 실행해주면 된다.

참고:
http://blog.outsider.ne.kr/253

'Tip' 카테고리의 다른 글

Eclipse-JadClipse 설정  (0) 2010.05.14
이클립스 줄 번호 보기  (0) 2010.05.12
이클립스 속도 올리기  (0) 2010.04.08
Appfuse 설치  (0) 2010.04.05
내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Posted by 미스터네오
,

Eclipse-JadClipse 설정

Tip 2010. 5. 14. 11:25

1. http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download에 접속하여 최신버전 다운로드

2. Eclipse Jad Plugin(net.sf.jadclipse_3.3.0.jar)을 설치되 있는 Eclipse/plugin 폴더에 저장

3. http://www.varaneckas.com/jad에 접속하여 jad.exe 파일을 다운

4. 이클립스 재시작

5. JAD 설정
   Window > Preferences.. > Java > JadClipse
       |- Path to Decompiler : C:\jad\jad.exe
       |- directory for temporary files : C:\_decompiler    > 역 컴파일러 폴더
       |- Reuse code buffer : 역컴파일된 코드를 Buffer에 기록

6. 설정확인
   Window > Preferences.. > General > Editors > File Associations
        : "*.class"의 설정값이 "jadClipse Class file Viewer"로 설정 되어 있는지 확인

7. 한글이 깨질경우 
        :    Window > Preferences.. > Java > JadClipse > Misc
                  |-Convert Unicode strings into ANSI strings 체크
Posted by 미스터네오
,

이클립스 줄 번호 보기

Tip 2010. 5. 12. 10:31

Window -> General -> Editors -> Text Editors -> Show Line numbers
Posted by 미스터네오
,
1 메모리를 정리해 주자


Window > Perference > General에 보면 Show heap status라는 옵션이 있습니다.

이걸 켜 주시면, 화면 오른쪽 하단에 아래와 같은 아이콘이 생깁니다.

사용하다가, 메모리가 많이 올라 갔다 싶거나, 느려졌네 싶을때 마다, 옆에 쓰레기통 아이콘을 눌러 주세요. 메모리가 확 줄어 듭니다. 그러면 좀 더 쾌적하게 작업을 하 실 수 있을 겁니다.

추가로 메모리는 좀 들긴 하지만 자동 가비지 컬랙션 해주는 플러그인을 설치 하셔도 됩니다.

출처 : http://gyuha.tistory.com/289

'Tip' 카테고리의 다른 글

Eclipse-JadClipse 설정  (0) 2010.05.14
이클립스 줄 번호 보기  (0) 2010.05.12
Appfuse 설치  (0) 2010.04.05
내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
Posted by 미스터네오
,

Appfuse 설치

Tip 2010. 4. 5. 18:15

1. https://appfuse-light.dev.java.net/ 싸이트 접속하여 다운로드 클릭

2. 최신버전을 클릭해서 다운 받는다.

3. 자신의 임의 경로에 압축을 풀어 놓는다. 경로 -> D:\dev\workspace_new\appfuse-light-1.8.2

4. 설치를 한 후에 build.xml파일을 열어본다. 제가 체크한 부분에서 CATALINA_HOME만 복사한다.

5. 복사한 후에 시스템 변수를 다시 추가해 준다. 가동할 톰캣서버 경로 설정한다.

6. 경로 설정이 되었으면 cmd창을 열어서 빌드 한다. 위에 3번에 자신이 설치해 놓은 경로로 찾아간다.
찾아간 후에 ant deploy 명령을 입력한다.(처음 실행하시는 분들은 시간이 조금 걸릴 수 있습니다.)

7. 빌드가 다 됬으면 appfuse를 설치해 놓은 경로로 다시 돌아가 보면 아래와 같은 폴더가 생겼다

8. 생긴 폴더 안쪽의 경로를 찾아가다 보면 appfuse-light 라고 폴더가 있는데 그것을 복사한다.
 D:\dev\workspace_new\appfuse-light-1.8.2\${env.CATALINA_HOME}\webapps

9. 복사한 폴더를 설치 되어 있는 톰캣 폴더로 가져간다. 톰캣폴더안에 webapps 폴더안에 붙여 넣는다.
D:\dev\server\apache-tomcat-5.5.28\webapps

10. 붙여넣기가 끝났으면 cmd 창을 열어서 톰캣이 설치되 있는 경로로 찾아간다. 찾아가는데 설치되어 있는 폴더까지가 아니라 bin폴더로 들어간다. 경로로 찾아왔으면 다음 명령어를 넣는다. catalina.bat run

11. 위의 명령을 치면 톰캣 서버가 실행된다. 실행 화면은 아래와 같다

12. 정상적으로 서버가 실행이 되었다면 http://localhost:8080/appfuse-light 로 들어간다.
아래와 같은 화면이 뜬다면 성공이다.

'Tip' 카테고리의 다른 글

이클립스 줄 번호 보기  (0) 2010.05.12
이클립스 속도 올리기  (0) 2010.04.08
내가 정리한 쿼츠 + 스프링 프레임웍  (0) 2010.03.30
Java StringFramework Quartz 사용  (0) 2010.03.30
이클립스 단축키 정리  (0) 2010.03.22
Posted by 미스터네오
,

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

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


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

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

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

'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 미스터네오
,


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

'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 미스터네오
,

이클립스 단축키 정리

Tip 2010. 3. 22. 09:40

출처 : 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 그외 여러가지 옵션이 있다.)


'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 미스터네오
,

CVS 접속 프로젝트 다운

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

2. CVS-Projects from CVS 클릭

'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
1. window -> properties

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

'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 미스터네오
,