Spring EJB Integration

From JCFWiKi

Jump to: navigation, search

그림:check.gif

  • 산출물 : Spring 2.5와 EJB 2.0 연동
  • 작성자: 서경진
  • 작성일 : 2009/04/17
  • 버전 : 1.0
  • 개정이력 :

Copyright © 2007 Daewoo Information Systems Co., Ltd.

목차

[편집] EJB 2.0 Maven 프로젝트 생성하기

[편집] EJB 구현을 위한 기본 라이브러리 (아키텍트용, 개발자 단순참고)

  • m2eclipse 플러그인을 적용한 메이븐 아키타입으로 EJB 프로젝트를 재구성하였다.
<plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <source>1.4</source>
          <target>1.4</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ejb-plugin</artifactId>
        <version>2.1</version>
        <configuration>
          <ejbVersion>2.0</ejbVersion>
          <generateClient>true</generateClient>
        </configuration>
      </plugin>
    </plugins>
  • 프로젝트에 있는 pom.xml에 정의하여 라이브러리와 빌드를 관리한다.
  • 해당 라이브러리는 JCF 공용 메이븐 저장소(http://repo.expertvill.net/nexus/)에서 조회하여 다운로드 받을 수 있다.
  • Stateless Session Beans 라이브러리
Stateless Session Beans 필수 라이브러리
Stateless Session Beans 필수 라이브러리

여기에서 EAdjustAnnounce.jar, EAdjustLand.jar, EAdjustCatalog.jar는 세션빈이 사용하는 각 엔티티빈을 패키징한 라이브러리이다. 세션빈의 구동을 위해 엔티티빈을 패키징한 라이브러리가 필요하다.

  • Entity Beans 라이브러리
EAdjustCatalog Entity Beans 필수 라이브러리
EAdjustCatalog Entity Beans 필수 라이브러리
EAdjustLand Entity Beans 필수 라이브러리
EAdjustLand Entity Beans 필수 라이브러리

[편집] Maven 기반 EJB 프로젝트 구성하기 (아키텍트용, 개발자 단순참고)

  • JCF 스타트킷을 사용하여 메이븐 기반의 개발환경을 구성한다.
  • SAdjust 세션빈과 EAdjustAnnounce, EAdjustCatalog, EAdjustLand 엔티티빈 소스 샘플을 참고하여 프로젝트를 구성하고 JCF와 EJB 연동을 개발한다.

[편집] Stateless Session Beans (SLSBs) 개발 및 빌드

[편집] SLSB 개발

  • 메이븐 기반 EJB 프로젝트에서 기존 소스 코드 임포트

[편집] SLSB 빌드

  • 메이븐 빌드 (maven-ejb-plugin 적용)
  • maven ejb:ejb 실행

[편집] Spring의 applicationContext에 SLSB 설정하기

  • 원격시스템 (Remote System)에서 웹로직서버에 디플로이된 SLSB를 사용하기 위해 다음과 같이 applicationContext.xml에 설정한다.
    <jee:remote-slsb id="ejbRemoteAdjust" jndi-name="ejb/mp.SAdjustHome"
		business-interface="onbid.ejb.adjust.sadjust.SAdjust"
    	cache-home="true"
    	lookup-home-on-startup="true"
    	resource-ref="true"
    	home-interface="onbid.ejb.adjust.sadjust.SAdjustHome"
    	refresh-home-on-connect-failure="true">
    	<jee:environment>
    		java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory
			java.naming.provider.url=t3://대상서버 IP주소:포트
			java.naming.security.principal=웹로직서버 사용자ID
			java.naming.security.credentials=패스워드
    	</jee:environment>
    </jee:remote-slsb>
  • 로컬에서 웹로직서버에 디플로이된 SLSB를 사용하기 위해 다음과 같이 applicationContext.xml에 설정한다.
	<jee:local-slsb id="ejbSAdjustHome" jndi-name="ejb/mp.SAdjustHome"
		business-interface="onbid.ejb.adjust.sadjust.SAdjustLocal"
		cache-home="true"
		lookup-home-on-startup="true"
		resource-ref="true"
		expose-access-context="false" />

[편집] Entity Beans (CMP) 개발 및 빌드

[편집] maven-ejb-plugin으로 EJB 빌드하기

[편집] EJB 2.0 모듈 웹로직 8.1 서버에 디플로이하기

  • startWebLogic.cmd 스크립트 수정하기

[편집] Spring 2.5 기반의 테스트케이스로 EJB 테스트하기