-- 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 으로 다시 잡아봐야할 듯 하다..