3. 웹로직과 이클립스 연동하기 - 마지막
Eclipse 가 deploy 등등 조작(?)을 하려면 서버 설정을 하나 해줘야 합니다.
- 서버 시작
시작 → 프로그램 → Oracle WebLogic → User Projects → base_domain → Start Admin Server for Weblogic Server Domain
- Administration Console 실행 → 상단에 Preferences 클릭
- 마지막 Automatically Acquire Lock and Activate Changes를 체크해제하고 Save 클릭
-_- ; 웹로직 10.1 과 달랐던 부분. 크 따라하다가 결국 다시 10.3으로 설치를...
- 왼쪽 상단의 Change Center가 수동으로 바뀌었습니다.
- Release Configuration을 클릭하여 Lock & Edit 버튼이 활성화되게 바꿉니다.
이 상태가 되어야 Eclipse가 자동 배포 등이 가능하게 됩니다..
Eclipse에 Runtime Server 추가하기
- Eclipse IDE for Java EE Developers로 시작합니다... File → New → Other... 선택
- Server → Server 선택. Next 클릭
- 처음에는 WebLogic이 없습니다. Download additional server adapters 클릭
- 기다리면 정보를 받아와 목록이 생깁니다. Oracle WebLogic Support 선택. Next 클릭
- 라이선스에 동의. Finish 클릭
- 프로그램을 다운로드 받아 설치한다고 합니다. OK 클릭
- 다운로드 및 설치 중... 설치가 완료되면 자동으로 Eclipse를 재시작합니다.
- JDK 버젼 어쩌고 나오는군요... Yes 클릭
- 다시 File → New → Other... 그리고 Server → Server
서버 목록에 Oracle WebLogic Server v10.3 이 생겼습니다. 선택 후 Next
- 전 처음에 서버 목록 중 BEA Systems에서 한참 찾았습니다. 아무리 봐두 10.0만...
무심코 진행했는데 조금 구동 스크립트가 다른지 에러가...
다시 확인해보니 10.3은 오라클 밑에 있네요. 오라클 밑에 10.3을 선택하세요...(*_*)
- WebLogic Server 의 위치를 설정합니다.
- 도메인을 설정합니다.
- 적용시킬 프로젝트를 추가시킵니다. 현재는 프로젝트가 하나도 없군요...
- 아래 Servers 탭에 WebLogic Server 가 추가되었습니다.
간단한 세션 빈 테스트 - Server(WebLogic)
※ 컴퓨터 2대(Tomcat 6.0.18, WegLogic 10.3)로 분산환경에서 테스트 합니다.
File → New → Other... 그리고 General → Faceted Project 선택. Next 클릭
- 프로젝트 이름 설정. Next 클릭
- Facet 를 조합합니다. WebLogic에 맞는 EJB Porject를 생성하기 위해서는 아래와 같이 조합합니다.
오른쪽 Runtimes 탭에서 꼭 Oracle Weblogic Server v10.3을 체크해주세요.
체크하지 않으면 "Failed to retrieve WLS runtime for EJB processing" 에러가 납니다.
- Source Folder를 설정합니다.
- 잘 만들어 졌다네요..(아닌가?)
- Project Explorer를 보게되면 아래와같이 EJB Project가 만들어졌습니다.
- New → Package. 패키지를 하나 만듭니다.
- New → WebLogic Session Bean 선택. 여기서 만드는 파일이 빈(Bean) 클래스 파일이 됩니다.
- 소스 코드를 완성합니다.(샘플코드는 첨부파일로...)
기본적으로 세션빈에서 만들어져야 하는 명세는 GenericSessionBean 클래스에 작성되어있고 이걸 상속 받는군요...
{
중요한 부분은 @ 가 있는 부분입니다.
@JndiName은 클라이언트에서 lookup하는 JNDI 이름을 설정합니다.
@FileGenerration은 remoteClass, remoteHome, localClass, localHome 클래스 파일을 자동 생성할지 설정합니다.
@JndiName(remote = "ejb.HelloWorldRemoteHome")
@FileGeneration(remoteClass = Constants.Bool.TRUE, remoteHome = Constants.Bool.TRUE,
localClass = Constants.Bool.FALSE, localHome = Constants.Bool.FALSE)
remoteClass를 TRUE로 설정시, 사용자가 추가하는 메소드에는 꼭 @RemoteMethod를 적어줘야 원격(Remote) 클래스에 메소드가 추가됩니다.
public String helloWorld() {
return "Hello World!!";
}
빈(Bean) 클래스 파일만 작성하면 원격(Remote) 클래스, 홈(Home) 클래스, 기타파일(ejb-jar.xml, weblogic-ejb-jar.xml) 등을 알아서 만들어줍니다.
ex)
빈(Bean) 클래스 : HelloWorld.java
원격(Remote) 클래스 : HelloWorldRemote.java ← 자동생성
홈(Home) 클래스 : HelloWorldRemoteHome.java ← 자동생성
배치 디스크립터 파일 : ejb-jar.xml , weblogic-ejb-jar.xml ← 자동생성
- 아래 Servers 탭에서 WebLogic을 선택후 마우스 우클릭 → Add and Remove Projects...
현재 만든 프로젝트를 Configured projects 목록에 추가시킵니다.
- 서버 아래에 HelloWorld 프로젝트가 추가되었습니다.
- Run → Run 선택. Run on Server 선택 후 OK
- 서버 확인 후 Finish
- 서버가 실행되면서 자동으로 배치(재배치) 합니다.
※ 프로젝트의 State가 둘다 "Republish", "Synchronized"가 아니면 배치가 안된거니 확인하세요.
(명세에 안맞거나 기탕 등등 에러)
※ 여기서 이런 오류가 나온다면, 위에 "시작전설정" 이 제대로 안되서 나오는 오류 입니다.
- Administration Console 실행 후 Deployments에서 배치가 되어있으면 성공!
※ 이클립스 프로젝트가 삭제되거나 서버의 프로젝트 목록에 없으면 배치가 안되니 다 완성후에는
수동으로 배치 시켜줘야겠죠?;;
클라이언트 설정하기
- 서버에서 작성된 EJB jar 파일이 클라이언트에서 필요합니다.
프로젝트 최상위 루트에서 마우스 우클릭 → Export → EJB JAR File 선택 후 적당한 위치에 저장합니다.
이 파일(HelloWorld.jar)은 클라이언트 프로젝트의 WebContent\WEB-INF\lib 에 저장합니다.
- 클라이언트가 서버와 다른 컴퓨터. 다른 JVM, 다른 컨테이너 등등 다를 경우 서버(WebLogic)의 라이브러리가 필요합니다
wlfullclient.jar 파일은 [톰켓설치폴더]\lib 에 저장합니다.
간단한 세션 빈 테스트 - Client(Tomcat)
※ 컴퓨터 2대(Tomcat 6.0.18, WegLogic 10.3)로 분산환경에서 테스트 합니다.
- File → New → Dynamic Web Project 선택. 프로젝트 이름, Target Runtime 설정
- 소스 코드를 완성합니다.(샘플코드는 첨부파일로)
소스의 내용은 JNDI로 룩업해서 Hello World!!! 찍는거...
wlfullclient.jar과 HelloWorld.jar 파일이 아래와 같이 라이브러이에 등록되어있어야 합니다.
wlfullclient.jar : [톰켓설치폴더]\lib
HelloWorld.jar : [프로젝트]\WebContent\WEB-INF\lib
- Run → Run. Server 확인 후 Finish
- 잘 실행되었습니다!! ㅠ_ㅠv
역시 antop님의 블로그에서 퍼온글입니다.
'개발 이야기 > 이클립스' 카테고리의 다른 글
[플러그인] 이클립스에서 jd-eclipse가 열리지 않을 때 (0) | 2009.06.29 |
---|---|
[플러그인] JD-Eclipse 사용하기 (0) | 2009.03.31 |
2. 웹로직과 이클립스 연동하기 - 웹로직 테스트 (0) | 2009.03.27 |
1. 웹로직과 이클립스 연동하기 - 웹로직 10.3 설치 (0) | 2009.03.27 |
[이클립스] 이클립스에서 아파치 톰캣 연동하기 vol2. (0) | 2008.09.23 |