Eclipse + WebLogic 10.3

Posted at 2009.03.15 07:51 | Posted in Server/WebLogic

시작전 설정


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 클릭



- 왼쪽 상단의 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



- 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 클래스에 작성되어있고 이걸 상속 받는군요...
public class HelloWorld extends GenericSessionBean implements SessionBean
{



중요한 부분은 @ 가 있는 부분입니다.

@JndiName은 클라이언트에서 lookup하는 JNDI 이름을 설정합니다.
@FileGenerration은 remoteClass, remoteHome, localClass, localHome 클래스 파일을 자동 생성할지 설정합니다.

@Session(ejbName = "HelloWorld")
@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) 클래스에 메소드가 추가됩니다.
@RemoteMethod
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 에 저장합니다.

※ 링크가 바뀌는 바람이 링크 수정 하면서 여기에다 wlfullclient.jar 파일 생성법 올립니다. 이래서 링크는 싫어... ㅠ_ㅠ
Creating a wlfullclient.jar File for a Client Application
Use the following steps to create a wlfullclient.jar file for a client application:

1.Change directories to the server/lib directory.
cd WL_HOME/server/lib

2.Use the following command to create wlfullclient.jar in the server/lib directory:

java -jar ../../../modules/com.bea.core.jarbuilder_X.X.X.X.jar

where X.X.X.X is the version number of the jarbuilder module in the WL_HOME/server/lib directory. For example:

java -jar ../../../modules/com.bea.core.jarbuilder_1.0.1.0.jar

3.You can now copy and bundle the wlfullclient.jar with client applications.

4.Add the wlfullclient.jar to the client application’s classpath.




간단한 세션 빈 테스트 - 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

  1. 김의섭
    와~~
    알토란 정보로 꽉 찼네요...
    잘보구 갑니다.
    즐겨 찾기에 등록해 놓았구요.
    자주 들어와서 많이 배울 생각입니다.
    ^^
  2. 델리스
    잘 정리해 놓은 자료를 쏙 빼먹고가서 죄송한 마음이 드네요..
    덕분에 정리가 잘 되었습니다. 감사합니다~
  3. 고생하셨네요~ 밤세우신건 아니시죠~?ㅎㅎ
    너무 좋은 정보 감사히 쓰겠습니다.
    이제부턴 저도 삽질한번해봐야겠네요^^
    즐겨찾기 해놨어요~ 자주놀러올께요~
  4. kun
    좋은 정보 감사드립니다.
    덕분에 많은 도움 되었습니다.^^
  5. TestMD
    좋은정보 감사합니다. 출처 노출하여 스크랩 하겠습니다.
  6. Jibro
    전 왜 서버목록에서 검색할때 Oracle WebLogic Support 이게 안뜨고
    Oracle WebLogic Server Tool 이 뜰까요
    그 이후로 설정이 달라져서 어떻게 하질 못하고 이틀째 이러고 있네요..ㅠㅠ

    웹로직 사용하는건 왜이리 어려운건가요ㅣ..ㅠ
    • 2011.05.20 15:35 신고 [Edit/Del]
      지금 이 포스트는 이클립스에서 웹로직을 지원하는 초창기(10.3)의 버젼입니다.

      현재는 버젼이 많이 올라가서 약간 다를 것입니다. (10.3.5)

      현재 이클립스 3.6(helios)에서는 Marketpalce(Help - Eclipse Marketplace)에도 등록되어 있어서 더 쉽게 설치할 수 있습니다.

      설치법:
      http://download.oracle.com/docs/cd/E15315_07/help/oracle.eclipse.tools.common.doc/html/install.html

      쉽게 나옴:
      http://download.oracle.com/docs/cd/E15315_06/help/oracle.eclipse.tools.common.doc/html/install.html

      사용법:
      http://download.oracle.com/docs/cd/E15315_07/help/oracle.eclipse.tools.weblogic.doc/html/conFeatureOverview.html
    • Jibro
      2011.05.20 17:02 신고 [Edit/Del]
      그렇구나 헐 빠른 답변 고마워요

      오늘 안에 해결할수있겠어요 이제 드디어 맘편히 퇴근할수있겠구나..ㅠㅠ
      감사합니다 ㅎㅎ
  7. Jibro
    헬리오스 3.6 으로 사용법 링크 걸어주신거 보고 대강하다가 또 막혔는데..
    어쨌든 겸사겸사 설치는 다했어도 그럼 설정은 어떻게 하죠~?
    위에 포스트 대로 나오지를 않아서 .. 설정도 못하고 확인도 못하고
    전혀쓰질 못하네요 ...
    차라리 제 생각인데 포스트에 있는 버전으로 이클립스 버전 맞춰서 설치 하면안될까요?
    이클립스 제께 3.6이니까 포스트가 3.2 이면 그렇게 만들면 포스트와 같이 되지 않을까 싶어서요
    오늘 안에 이러다 끝이 날런지..ㅠㅠ
  8. 임형구
    정말 꼭 필요한 정보였어요. 웹라직 많이 사용해보지 않아서 잘 몰랐는데, 이렇게 좋은 방법이 있는줄 몰랐습니다. 정말로 감사드립니다.
  9. 비밀댓글입니다
  10. 공갈사기
    혼자 했으면, 여러번 삽질하시면서 짜증 났을텐데 덕분에 수고를 많이 줄입니다. 감사합니다.
  11. agapeuni
    좋은글 출처를 표시하고 블로그에 담아갑니다. ^^

댓글 (Comment)

Name*

Password*

Link (Your Website)

Comment

SECRET | 비밀글로 남기기