본문 바로가기

WAS/Weblogic

[EJB] Weblogic 에서 SessionBean Test

EJB 는 딴거 다 필요없다.
명세에 충실할것!!!

이클립스에서 EJB + Weblogic 을 만들어 봅시다.

http://antop.tistory.com/8 참고해서 Eclipse + weblogic 을 연동하세요

1. 연동및 준비사항이 끝났으면 EJB  프로젝트를 만들도록 하겠습니다.
마우스 오른쪽 클릭하여 file - new- Project 를 선택합니다.
EJB - EJB Project  가 보이네요. 선택합니다.


2. project name 을 씁니다.
전 EjbSessionTest 라고 명시했습니다.
(이건 EjbSession 이라고 쓰다가 캡쳐했군요)

 Target Runtime 은 tomcat 이 깔려있는 사람은  tomcat6 이 설정되어 있을지도 모르니
확인하시구요..
참고로 tomcat 은 ejb 컨테이너가 아니라  servlet 컨테이너 랍니다.
weblogic 은 ejb 컨테이너이지요.....

EJB Module version 은 3.0  이네요

자, next 를 누릅니다.


3. java  파일이 위치할  source folder name 입니다.
기본 default 로 ejbModule 이라고 하네요.
다 했으면 finish!



4. 다음과 같은 EJB Project  구조가 생성 되었는지 확인합니다.



5.  자, 이제 java coding 을 할 차례입니다.
먼저,
Session bean class 를 만들기 위해서는 꼭!! 3개의 java 파일이 필요합니다.
1. 세션빈의 홈 인터페이스 - HelloWorldBean
2. 세션빈의 원격 인터페이스 - HelloWorld
3. 세션빈의 빈 클래스 - HelloWorldBean

입니다. 잊어버리시면 안되요!!! 중요!!!
그 중에서 먼저 원격 인터페이스를 생성해 보겠습니다.



6. 이번에는 세션빈의 홈 인터페이스를 생성해 보겠습니다.



7. 이번에는 세션빈의 세션빈 클래스 생성



8. 이번에는 weblogic 의 배치 디스크립터인 ejb-jar.xml 과 weblogic-ejb.jar.xml 을 생성하도록 하겠습니다.

먼저 ejb-jar.xml 생성


9. weblogic-ejb-jar.xml 생성

 


10. 이렇게 한 후 이클립스에서  weblogic을 재가동 시킵니다.



11.웹로직의 admin console 로 들어가 EjbSessionTest.jar 파일이 배치(deploy)가 되었는지 확인합니다.
별도의 설정없이 이클립스 연동시에는 자동으로 배치 된답니다.





이번에는 클라이언트부분을 만들어 보겠습니다.

1 . file- new - project 를 해서 web 의  dynamic Webproject 를 생성합니다.


2. Hello World 를 띄울 jsp 파일을 작성합니다

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="javax.naming.Context"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.rmi.PortableRemoteObject"%>
<%@page import="ejb.session.example.*"%>
<%@page import="java.util.Properties"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
try {
  Context ctx = null;
 String t3url = "t3://localhost:7001";
  java.util.Properties p = new java.util.Properties();
 p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
 p.put(Context.PROVIDER_URL, t3url);
 ctx = new InitialContext(p);
 
 Object h = ctx.lookup("EjbSessionTest");   //EJB-XML 에서 설정한 JNDI 이름에 유의!
 HelloWorldHome home = (HelloWorldHome)
 PortableRemoteObject.narrow(h, HelloWorldHome.class);
 HelloWorld helloWorld = home.create();
 out.println(helloWorld.helloWorld());
 
 
} catch (Exception e) {
 // TODO: handle exception
 out.println(e.toString());
}
%>
</body>
</html>


3. 그 전에  wlfullclient.jar 파일과 아까 만든 EJBSession.jar 파일을 추가합니다
wlfullclient.jar 파일은  C:\bea\wlserver_10.3\server\lib\jarbuilder.properties 파일이 있을겁니다.
properties 파일을 열어보면
--------------------------------------------
# To use this tool:
# java -jar wljarbuilder.jar -profile wlfullclient
--------------------------------------------
라고 주석이 달려 있습니다.

cmd  창을 열어 ,  C:\bea\wlserver_10.3\server\lib  경로에서
 java -jar wljarbuilder.jar -profile wlfullclient
라고 치게 되면 lib  안에 wljarbuilder.jar 파일이 생길 것 입니다. 이것을 tomcat\lib 폴더 안에 넣어주시구요

아까만든 EJBProject 의  EjbSessionTest 를 export  시키셔서 [현재프로젝트\WEB-INF\lib] 폴더 안에 넣어주세요



그리고는 작성한 jsp 에서 ctrl + f11 누르셔서 서버를 재 가동 합니다.


그럼 그토록 보고 싶었던...
Hello World 페이지를 감상 하실수 있으실 겁니다.



참고로 EJB 파일과 TEST Dynamic WebProjec 첨부