2010. 5. 6. 10:06


-- BlazeDS세팅(Spring BlazeDS Integration 1.0.0 M2 version)
     참고로 작년 09.04 월 기준이므로 현재 나와있는 version 세팅법과 차이가 많이 난다.
     spring blazeDS 의 연동 모듈이 나온지 얼마되지 않아 M1, M2, 정식버전 간의 추가 내용
     혹은 deprecated 된 것이 많기 때문이다.


# BlazeDS 공식 홈페이지 : http://opensource.adobe.com/wiki/display/blazeds/BlazeDS
# Spring BlazeDS Integration Site :  http://www.springsource.org/spring-flex

1. BlazeDS를 다운 받는다 
       -> Blaze 는 http://opensource.adobe.com/wiki/display/blazeds/Release+Builds 에서 받을 수 있다.
 -------------------------------------------
 Turnkey - BlazeDS 전체파일

 Binary Distribution - BlazeDS.war 파일 포함

 Source - BlazeDS 오픈 소스
 -------------------------------------------

2. 받은 BlazeDS-war 파일을 해당 프로젝트에 import 해줘야 된다.
  properties -> Flex Server -> Deploy Flex WAR 에서 받은 BlazeDS의 경로를 설정하여
   Flex 서버로 BlazeDS가 돌아가도록 잡아준다

3. 이렇게하면 WEB-INF 아래에 flex 라는 폴더가 생성되는데 services-config.xml 의
 <services> 테그안에 다음과 같은 내용을 추가한다.
  ->  <default-channels>
           <channel ref="my-amf"/>
      </default-channels>

  ## 해당 세팅이 제대로 안잡힐 경우 trunkey 로 BlazeDS 를 받았을 경우 샘플이 있기 때문에
 그것을 복사하여 붙여넣으면 된다.
 -> tomcat - webapps - blazeds - WEB-INF - flex 에 해당 파일들이 들어있다

4. BlazeDS 와 spring 과 연동

4-1. Spring BlazeDS Integration M2를 받는다
 Get the latest Spring BlazeDS Integration releases here
 http://www.springsource.org/ 에서 download 를 한다.
 압축파일 안에 spring-flex-1.0.xsd 와 org.springframework.flex-sources-1.0.0.M2.jar 파일이 있는데
 *.xsd 파일은 <flex:~ /> 테그를 사용하기 위해 eclipse 에 설정을 잡아줘야 하는 파일이고
 *.jar 파일은 <flex:~ ?> 테그를 사용하기 위한 jar 파일로 lib 폴더에 넣어주면된다.
 (09.04 기준으로  M2 의 경우 다음버전이 나오기 전까지 웹에서 spring-flex-1.0.xsd 파일을 제공해주지 않으므로
  설정을 잡아야 spring 과의 연동을 할 수 있다.)

 경로1 : spring-flex-1.0.0.M2 (spring-flex-1.0.0.M2.zip 파일 기준
  /projects/org.springframework.flex/src/main/java/org/springframework/flex/messaging/config/xml
 경로2 : spring-flex-1.0.0.M2/src/org.springframework.flex-sources-1.0.0.M2.jar)

4-2. *.xsd 파일을 workspase의 적당한 부분에 넣고 설정을 잡는다.
  1) windows -> preferences -> xml -> xml catalog -> ADD 버튼
  2) Location 에 해당 위치를 지정해주고 Key Type 을 Schema Location 으로 잡는다
  3) Key 는 http://www.springframework.org/schema/flex/spring-flex-1.0.xsd 으로 잡는다
    ( 이렇게 해주면 xmlns:flex="http://www.springframework.org/schema/flex",
       xsi:schemaLocation= http://www.springframework.org/schema/flex
       http://www.springframework.org/schema/flex/spring-flex-1.0.xsd"> 에서 설정잡은 것을 인식한다.)

4-3. web.xml 에 BlazeDS 를 사용할 xml 을 설정잡는다(init-param 은 각자취향에 따라서..)
  1) servlet 등록
 <servlet>
  <servlet-name>blazeDS</servlet-name>
  <servlet-class>
   org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
    /WEB-INF/blazeDS.xml,
    /WEB-INF/blazeDS-Jo.xml,
    /WEB-INF/blazeDS-Jun.xml,
    /WEB-INF/blazeDS-Ju.xml,
    /WEB-INF/blazeDS-An.xml,
    /WEB-INF/blazeDS-Lee.xml
   </param-value>
  </init-param>
  
  <load-on-startup>3</load-on-startup>
 </servlet>
  2) servlet mapping 등록
 - servlet mapping 은 기존의 spring 을 등록한 servlet 과 별개로 mapping 을 잡아줘야 한다.
 (스프링은 *.rose로, blazeDS는 /messagebroker/* 으로 들어올 때 인식되도록)
 ------------------------------------------
 <servlet-mapping>
  <servlet-name>mvc</servlet-name>
  <url-pattern>*.rose</url-pattern>
 </servlet-mapping>
 ------------------------------------------
 <servlet-mapping>
  <servlet-name>blazeDS</servlet-name>
  <url-pattern>/messagebroker/*</url-pattern>
 </servlet-mapping>
 
5. 이렇게 등록한 blazeDS.xml 에 설정을 잡아준다.
5-1. 맨위 beans xmls 에 xmlns:flex="http://www.springframework.org/schema/flex" 을 등록
5-2. xsi:schemaLocation= 에 http://www.springframework.org/schema/flex
       http://www.springframework.org/schema/flex/spring-flex-1.0.xsd 을 추가
5-3. <flex:message-broker/> 을 적어준다.
5-4. 연결할 dao 가 있는 xml 을 import 시켜준다.
 - <import resource="applicationContext.xml"/>
5-5. flex 에서 destination 으로 등록한 bean의 id를 적어준다.
 - <flex:remote-service ref="deptDAO"/>

해당 deptDAO 등으로 테스트 해보면 성공
추후에 현재 나와있는 1.0.3 으로 다시 잡아봐야할 듯 하다..

 
 

Posted by silver0r