반응형

아래와 같은 jsp 소스가 있습니다.


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>taglib</title>
</head>
<body>

</body>
</html>


네... 스프링 커스텀 태그를 사용하려고 합니다.


이 페이지를 불르면 톰켓 7에서는 아래와 같은 로그가 출력되고 정상적으로 작동됩니다. (다른 WAS는 모르겠슴 -_-/)


정보: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.


뭐... 알아서 TLD 파일 찾았다는 거죠 ㄷㄷ;;;


하지만 웹로직 환경에서 페이지를 불르면 에러가 나게 됩니다.


index.jsp:2:5: No tag library could be found with this URI. Possible causes could be that the URI is incorrect, or that there were errors during parsing of the .tld file. 


<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

        ^----^


이런 경우 tld 파일을 추출해서 적당한 곳에 넣은 후 web.xml 에 등록을 해줘야 합니다.


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="taglib" version="2.5">

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

	<!-- 여기 -->
	<jsp-config>
		<taglib>
			<taglib-uri>http://www.springframework.org/tags/form</taglib-uri>
			<taglib-location>/WEB-INF/tlds/spring-form.tld</taglib-location>
		</taglib>
	</jsp-config>

</web-app>


꼭 웹로직 환경이 아니라도  tld 를 찾지 못한다고 하면 web.xml 에 위와 같이 추가해 주면 됩니다.


<taglib-location> 값에 jar 안의 경로를 직접 지정해줄 수 있으면 더 깔끔할텐데....


반응형
//

Eclipse + WebLogic 추가 설정 사항들...

Posted at 2011. 8. 23. 11:40 | Posted in Server/WebLogic
반응형
이클립스 콘솔에서 한글이 깨짐

Eclipse + WebLogic 연동해서 쓰고.....



Workspace 기본 인코딩(encoding)을 UTF-8로 설정하게 되면



서버를 띄운 후 콘솔(Console) 내용 중에 한글이 깨져서 나오게 됩니다.

<2010. 8. 22 ���� 12�� 46�� 49�� KST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 17.0-b16 from Sun Microsystems Inc.>
<2010. 8. 22 ���� 12�� 46�� 54�� KST> <Notice> <Se................

웹로직 로그파일이 UTF-8이 아니라서 그런데 설정을 해줘야합니다.

"......\user_projects\domains\domain1(도메인명)\bin" 폴더에서 setDomainEnv.cmd 파일을 수정합니다.

227 라인 정도 부분에 JAVA_PROPERTIES 환경 변수에 추가해줍니다.

set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME%
 -Dfile.encoding=UTF8 -Dfile.client.encoding=UTF8

다시 웹로직을 시작 시키면 한글이 제대로 나옵니다.

서버 시작시 윕에서 적용한 옵션이 나오는 것을 확인할 수 있습니다.

.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http:\\hostname:port\console        *
***************************************************
starting weblogic with Java version:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)
Starting WLS with line:
C:\PROGRA~1\Java\JDK16~1.0_2\bin\java -client   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m  -XX:MaxPermSize=128m -Dweblogic.Name=AdminServer -Djava.security.policy=C:\oracle\MIDDLE~1\11112~1.X\WLSERV~1.3\server\lib\weblogic.policy  -Xverify:none  -da -Dplatform.home=C:\oracle\MIDDLE~1\11112~1.X\WLSERV~1.3 -Dwls.home=C:\oracle\MIDDLE~1\11112~1.X\WLSERV~1.3\server -Dweblogic.home=C:\oracle\MIDDLE~1\11112~1.X\WLSERV~1.3\server -Dfile.encoding=UTF8 -Dfile.client.encoding=UTF8  -Dweblogic.management.discover=true  -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\oracle\MIDDLE~1\11112~1.X\patch_wls1032\profiles\default\sysext_manifest_classpath;C:\oracle\MIDDLE~1\11112~1.X\patch_jdev1111\profiles\default\sysext_manifest_classpath  weblogic.Server
<2010. 8. 19 오후 4시 19분 03초 KST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) Client VM Version 17.0-b17 from Sun Microsystems Inc.>
<2010. 8. 19 오후 4시 19분 04초 KST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.2.0  Tue Oct 20 12:16:15 PDT 2009 1267925 >
<2010. 8. 19 오후 4시 19분 06초 KST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
<2010. 8. 19 오후 4시 19분 06초 KST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>
<2010. 8. 19 오후 4시 19분 07초 KST> <Notice> <LoggingService> <BEA-320400> <The log file .....




PermGen space 에러.

잘 사용하다가 "java.lang.OutOfMemoryError" 에러가 나면서 서버가 뻣어 버리니는 경우가 많이 일어납니다...

이클립스가 뻣는게 아니라 웹로직 서버가 뻣는 것입니다.

이유는 여러가지가 있겠지만 어쨋든 메모리가 딸린겁니다... -_-;;

이때는  PerGen 사이즈를 늘려주면 좀 더 오래 버팁니다 ㅠㅠ

해결법 1)

웹로직을 직접 죽입니다. 작업관리자에서 웹로직을 띄우고 있는 java.exe 를 죽이면 됩니다.


해결법 2)

메모리 사이즈를 늘려서 좀 더 오래 버티게 하는 방법이 있습니다.

서버를 띄울때 로그를 잘 보면 처음에 아래와 같은 로그를 볼 수 있습니다.

Starting WLS with line:
C:\PROGRA~1\Java\JDK16~1.0_2\bin\java -client   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m  -XX:MaxPermSize=128m ....

이 크기를 늘려주면 됩니다.

이클립스와 연결된 도메인 폴더로 이동합니다. (이하 %DOMAIN_HOME%)

%DOMAIN_HOME%\bin\setDomainEnv.cmd 파일을 수정합니다.

187 라인 쯤에 변경할 수 있는 부분이 있습니다.

아래의 값을 변경하면 됩니다. 자신의 OS 비트에 따라 변경하세요~

set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m

set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m

반응형
//

웹로직 ZIP 배포판 설치 (윈도우)

Posted at 2011. 7. 14. 09:33 | Posted in Server/WebLogic
반응형
단순히 이클립스 + OEPE + 웹로직을 돌리기 위해서 웹로직을 따로 설치하는게 그래서...

ZIP 버젼으로 간단하게 설치하는 방법을 알아 봅시다.

http://www.oracle.com -> Downloads -> Weblogic Server



다운로드 받은 "wls1035_dev.zip" 파일을 적당한 곳에 받아서 압축을 풉니다.

전 이제부터 "D:\server\wls1035_dev" 폴더에 풀겠습니다.

이제 모든 작업은 프롬프트 창에서 이루어 집니다.

 



일단 경로를 이동합니다.

어디인가> d:

d:\> cd server\wls1035_dev

d:\server\wls1035_dev> _ 


환경변수를 설정합니다.

> set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_26
> set MW_HOME=d:\server\wls1035_dev

> echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_26

>echo %MW_HOME%
d:\server\wls1035_dev


설정 프로그램을 실행합니다.

> configure.cmd

"Setting up proper ACLs for d:\server\wls1035_dev ... (operation takes awhile)"

CLASSPATH=C:\PROGRA~1\Java\JDK16~1.0_2\lib\tools.jar;d:\server\WLS103~1\wlserver\server\lib\weblogic_sp.jar;d:\server\WLS103~1\wlserver\server\lib\weblogic.jar;d:\server\WLS103~1\modules\features\weblogic.server.modules_10.3.5.0.jar;d:\server\WLS103~1\wlserver\server\lib\webservices.jar;d:\server\WLS103~1\modules\ORGAPA~1.1/lib/ant-all.jar;d:\server\WLS103~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;

PATH=;d:\server\WLS103~1\wlserver\server\native\win\32;d:\server\WLS103~1\wlserver\server\bin;d:\server\WLS103~1\modules\ORGAPA~1.1\bin;C:\PROGRA~1\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~1\Java\JDK16~1.0_2\bin;C:\Program Files\Common Files\NetSarang;D:\oracle\11.2.0\client_1;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;d:\server\WLS103~1\wlserver\server\native\win\32\oci920_8

Your environment has been set.
Buildfile: d:\server\WLS103~1\configure.xml

registry:
     [copy] Copying 1 file to d:\server\WLS103~1

detect.os:

product.property:

product.property.unix:

product.property.windows:

all:

BUILD SUCCESSFUL
Total time: 3 seconds

현재 프롬프트(cmd) 창에 웹로직 환경을 적용합니다.

> %MW_HOME%\wlserver\server\bin\setWLSEnv.cmd

CLASSPATH=C:\PROGRA~1\Java\JDK16~1.0_2\lib\tools.jar;d:\server\WLS103~1\wlserver\server\lib\weblogic_sp.jar;d:\server\WLS103~1\wlserver\server\lib\weblogic.jar;d:\server\WLS103~1\modules\features\weblogic.server.modules_10.3.5.0.jar;d:\server\WLS103~1\wlserver\server\lib\webservices.jar;d:\server\WLS103~1\modules\ORGAPA~1.1/lib/ant-all.jar;d:\server\WLS103~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;C:\PROGRA~1\Java\JDK16~1.0_2\lib\tools.jar;d:\server\WLS103~1\wlserver\server\lib\weblogic_sp.jar;d:\server\WLS103~1\wlserver\server\lib\weblogic.jar;d:\server\WLS103~1\modules\features\weblogic.server.modules_10.3.5.0.jar;d:\server\WLS103~1\wlserver\server\lib\webservices.jar;d:\server\WLS103~1\modules\ORGAPA~1.1/lib/ant-all.jar;d:\server\WLS103~1\modules\NETSFA~1.0_1/lib/ant-contrib.jar;

PATH=;d:\server\WLS103~1\wlserver\server\native\win\32;d:\server\WLS103~1\wlserver\server\bin;d:\server\WLS103~1\modules\ORGAPA~1.1\bin;C:\PROGRA~1\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~1\Java\JDK16~1.0_2\bin;;d:\server\WLS103~1\wlserver\server\native\win\32;d:\server\WLS103~1\wlserver\server\bin;d:\server\WLS103~1\modules\ORGAPA~1.1\bin;C:\PROGRA~1\Java\JDK16~1.0_2\jre\bin;C:\PROGRA~1\Java\JDK16~1.0_2\bin;C:\Program Files\Common Files\NetSarang;D:\oracle\11.2.0\client_1;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;d:\server\WLS103~1\wlserver\server\native\win\32\oci920_8;d:\server\WLS103~1\wlserver\server\native\win\32\oci9
20_8

Your environment has been set.


도메인을 생성합니다.

> %MW_HOME%/wlserver/common/bin/config.cmd


뭐... 거의 Next 연타 수준입니다...


















이클립스와 연동하는 부분은 여기에서 "플러그인 설치"와 "서버 등록" 부분만 보면 되겠습니다.

이 링크에 거의 대부분 들어가 있지만 ZIP 파일 설치 부분을 좀 더 자세히 다뤘습니다.
반응형
//

installation Oracle Enterprise Pack for Eclipse

Posted at 2011. 5. 22. 13:02 | Posted in Tools/Eclipse
반응형
http://download.oracle.com/docs/cd/E15315_07/help/oracle.eclipse.tools.common.doc/html/index.html

현재까지 나와있는 Eclipse 3.6.2 + Oracle Enterprise Pack for Eclipse 11.1.1.7.2 설치하는 방법입니다.

OS는 Windows 7 x86 (32bit), 웹로직(WebLogic)은 현재 최신 버젼(10.3.5)를 기준으로 합니다.

먼저 이클립스웹로직을 다운로드 합니다.

웹로직은 설치형을 다운로드 받아서 설치해도 됩니다. 하지만 전 무설치(zip) 버젼을 설치 하겠습니다.



Install Oracle Enterprise Pack for Eclipse

이클립스 실행 후 Help - Eclipse Markerplace 클릭.



Eclipse Marketplace 선택.



oracle
검색.



가장 최신버전의 Install 버튼을 클릭합니다.



Next 버튼 클릭.



라이센스 동의 후 Finish 버튼 클릭.



설치 중...



중간에 경고가 나옵니다. 그냥 Yes...



설치 완료 후 다시 시작합니다.



다시 시작 후 Help - About Eclipse 으로 보면 OEPE 가 설치되어 있습니다.


설치된 내역을 보면 아래와 같이 여러가지가 설치된 것을 볼 수 있습니다.


이 중에서 Oracle WebLogic Server Tools 플러그인의 기능을 사용해 보겠습니다.



도메인 생성

이클립스에서 사용할 기본 도메인을 하나 생성하겠습니다.

명령 프롬프트 창에서 아래와 같이 입력합니다.

// 자바 홈 환경변수 설정
> set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_24

// 미들웨어 홈 환경변수 설정

> set MW_HOME=D:\stage\wls1035_dev

// 환경설정 스크립트 실행

> %MW_HOME%\configure.cmd

// 웹로직 환경변수 세팅 스트립트 실행

> %MW_HOME%\wlserver\server\bin\setWLSEnv.cmd

// 도메인 생성

> %MW_HOME%\wlserver\common\bin\config.cmd


새 WebLogic 도메인 만들기 선택



기본 웹로직 도메인은 선택이 되어있습니다.



도메인 이름 설정.


관리자 아이디와 비밀번호 설정.


도메인 모드 및 JDK 설정.


특별한 추가 설정은 하지 않습니다.


구성 요약.


도메인 생성 완료.





이클립스에서 서버 등록

이클립스에서 웹로직 서버를 등록 하겠습니다.

이클립스 실행 후 File - New - Other... 클릭.

 



Server 선택.



서버의 종류를 선택합니다. 여기서 잘 선택해야 합니다.

  • Oracle WebLogic Server 11gR1 PatchSet 4 - 10.3.5
  • PatchSet 3 - 10.3.4
  • PatchSet 2 - 10.3.3
  • PatchSet 1 - 10.3.1

이런식으로 버젼이 되어있습니다.

웹로직 10.3.5 를 사용하려고 하니 PatchSet 4 를 선택합니다.



Weblogic home: 웹로직 설치 경로의 wlserver 폴더 선택.

Java home: jdk 위치 선택.



전에 생성 했던 도메인의 위치를 선택합니다.



Server 탭에 보면 웹로직 서버가 등록되어 있습니다.

기본적으로 제공되는 톰켓(tomcat)처럼 켰다 끄고 프로젝트를 등록하고 할 수 있습니다.






서버 시작 후에 웹로직 콘솔에 접속해 봅니다.

http://localhost:7001/console

반응형

'Tools > Eclipse' 카테고리의 다른 글

Eclipse JVM 경로 지정하기  (0) 2016.09.13
Eclipse + SVN Plugin  (1) 2012.03.29
Maven Integration for Eclipse  (0) 2012.02.20
Eclipse + TPTP Remote  (1) 2012.01.20
Eclipse + TPTP (Eclipse Test & Performance Tools Platform)  (4) 2012.01.01
Eclipse + MyBatis Generator  (1) 2011.07.04
Eclipse + STS (SpringSource Tool Suite)  (1) 2011.01.16
Eclipse Plugins for JBoss technology  (1) 2011.01.11
Properties Editor  (1) 2009.11.17
UTF-8 설정  (0) 2009.11.16
//
반응형
이번에 회사에서 본격적으로 SOA(Service Oriented Architecture) 라는 걸 하게 되었습니다.

BPEL(Business Process Execution Language for Web Services) 이라는 것을 사용하는 프로젝트라고 합니다.

샘플 좀 보니까 그림 뚝딱 그리면 완성 되는거 같은데... 전혀 아니더군염!! ㅠㅠ..

Oracle SOA Suite 를 이용해서 SOA를 구현해봅시다.



Download Files

http://www.oracle.com/technology/software/products/middleware/htdocs/fmw_11_download.html

JDK 6 Update 18

Oracle Database 10g Release 2 (10.2.0.1) Express Edition

Oracle WebLogic Server 11gR1 (10.3.2)

Repository Creation Utility (11.1.1.2.0)

SOA Suite (11.1.1.2.0)

Oracle JDeveloper 11g (11.1.1.2.0) (Build 5536)



Install Oracle Database 10g Release 2 (10.2.0.1) Express Edition

OracleXEUniv.exe 실행






"C:\Oracle\Database" 에 설치하겠습니다.




sys 관리자 암호를 입력합니다.








설치 완료 후 sqlplus로 들어가서 설정을 해줘야 합니다.

>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 수 1월 27 16:42:57 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn sys as sysdba
암호 입력:
연결되었습니다.
SQL> alter system reset sessions scope=spfile sid='*';

시스템이 변경되었습니다.

SQL> alter system set processes=200 scope=spfile;

시스템이 변경되었습니다.

SQL> shutdown immediate
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area  805306368 bytes
Fixed Size                  1289996 bytes
Variable Size             209715444 bytes
Database Buffers          591396864 bytes
Redo Buffers                2904064 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL> exit
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production에서 분리되었습니다.



Install WebLogic server

wls1032_win32.exe 실행. 특별한거는 없고 계속 다음만 누르시면 됩니다.




"C:\Oracle\Middleware" 에 설치하겠습니다.




등록하실 분은 등록 하세요~












Quickstart 실행 체크 해제하고 완료 클릭





Configure Schema - Repository Creation Utility (11.1.1.2.0)

SOA를 하기 위한 정보들이 들어갈 스키마를 만들어줘야 합니다.

ofm_rcu_win_11.1.1.2.0_disk1_1of1.zip 압축 풀고 rcuHome\BIN\rcu.bat 실행합니다.

에러가 나면 폴더가 한글이거나 공백이 있는지 확인해주세요.




생성 선택 - 다음 클릭




데이터베이스 접속 정보와 sys 계정 정보를 입력 - 다음 클릭




데이터베이스 버젼이 낮다고 경고(XE는 10.2.0.1.0)하는데 무시 클릭






접두어를 입력하고 SOA and BPM Infrastructure 를 체크합니다. (나머지도 체크 됨)






만들어질 계정에 대한 비밀번호를 지정합니다.






테이블 스페이스 생성






생성 클릭




생성 완료





Install SOA Suite (11.1.1.2.0)

ofm_soa_generic_11.1.1.2.0_disk1_1of1.zip 압출 푼 후 Disk1\setup.exe 실행

JRE/JDK 위치를 지정하라고 하면 C:\Oracle\Middleware\jdk160_14_R27.6.5-32 를 입력합니다.

다음만 쭈욱 눌러주면 됩니다.















Create Domain

시작 메뉴 → 모든 프로그램 → Oracle SOA 11g - 홈1 → Application Server 구성 실행

또는 C:\Oracle\Middleware\Oracle_SOA1\common\bin\config.cmd 실행






SOA, EM(Enterprise Manager), BAM(Business Activity Monitoring) 만 선택하라고 하는데 불안해서 전부다 선택 ㄷㄷ




도메인 이름을 입력합니다.




콘솔 관리자 이름과 비밀번호를 입력합니다.






저장소 생성 유틸리티(rcu)로 만들었던 스키마 정보를 입력합니다.

※ 스키마 소유자와 스키마 비밀번호는 체크된 것만 변경됩니다.




스키마 테스트. 모두 다 통과되어야 합니다.











Install Oracle JDeveloper 11g (11.1.1.2.0)

jdevstudio11112install.exe 실행

















Update JDevloper with lastest SOA

JDeveloper를 실행 합니다.




Help - Check for Update 클릭

Oracle Fusion Middleware Products 체크 - Next 클릭




Oracle SOA Composite Editor 11.1.1.2.1.12.16 체크 - Next 클릭




업데이트 파일 다운로드 받을때 오라클 웹 계정을 물어보는데 입력




다운로드 후 설치 합니다.




설치 완료 되었습니다.




재시작이 필요하다고 합니다. Yes 클릭





Additional actions


Setting memory limits

C:\Oracle\Middleware\user_projects\domains\soa_domain\bin\setSOADomainEnv.cmd 수정
set DEFAULT_MEM_ARGS=-Xms512m -Xmx512m


Starting and stopping

Start the Admin Server

C:\Oracle\Middleware\user_projects\domains\soa_domain\startWebLogic.cmd

<BEA-0365> <Server state changed to RUNNING> 가 나와야 서버가 제대로 실행된 겁니다.




start the SOA Managerd Server

C:\Oracle\Middleware\user_projects\domains\soa_domain\bin\startManagedWebLogic.cmd soa_server1

Admin Server 유저암호를 입력합니다.



Admin Server 와 마찬가지로 서버온 확인하시구요~




Start the BAM Managed Server

C:\Oracle\Middleware\user_projects\domains\soa_domain\bin\startManagedWebLogic.cmd bam_server1

SOA 서버와 마찬가지로 유저, 비밀번호 입력하시고 <BEA-0365> 확인하세요


Server URLS

Weblogic console - http://localhost:7001/console

EM console - http://localhost:7001/em

SOA worklist app - http://localhost:8001/integration/worklistapp

B2B - http://localhost:8001/b2b

BAM (must use IE browser) - http://localhost:9001/OracleBAM


WebLogic Server console setting

웹로직 콘솔(http://localhost:7001/console)에 접속합니다.

왼쪽 메뉴에서 배치 클릭




이 테이블 사용자 정의 클릭




페이지당 표시되는 행수 100으로 설정

배치를 표시할 때 라이브러리 제외 체크

적용 클릭




왼쪽 메뉴에서 도메인 클릭




구성 - 일반 탭에서 내부 응용 프로그램의 요구 시 배치 사용 체크 후 저장 클릭





EM setting for development

EM 콘솔(http://localhost:7001/em)에 접속합니다.

왼쪽 메뉴 SOA - soa-infra(soa_server1) 에서 마우스 오른쪽 버튼 클릭

SOA 관리 - 공통 속성 클릭




감사 레벨 : 개발

조합 인스턴스 상태 캡처 체크

적용 클릭





이제 겨우 설치 및 기본 설정이 끝났네요.. ㅠ_ㅠ

Oracle XE → WebLogic → SOA → (BAM) 그리고 JDeveloper 를 띄우게 되는데..

메모리 4기가에서 95이상 찹니다..... ㅠ_ㅠ

이제 뭔가 만들어봅시다~ 다음에.. -_-/

반응형
//
반응형
WebLogic EJBGen을 이용해 CMP를 만들 때 Oracle Sequence 를 사용하는 방법입니다.

Eclipse 3.4.2 + Oracle WebLogic Server Support 1.0.0.2 에서 테스트 했습니다.

스키마는 간단하게...

CREATE TABLE INFO (
   SEQ NUMBER PRIMARY KEY,
   DATA VARCHAR(200) NOT NULL
);

CREATE SEQUENCE INFO_SEQ INCREMENT BY 1;


WebLogic 프로젝트 만드는 법은 여기를 참조하시구요~ -_-+

시퀀스를 그려봤는데 당연히 틀렸겠죠? -_-



문제는 SessionBean에서 EntityBean한테 create() 할 때 시퀀스를 적용시켜야 한다는거죵~

InfoBean.java - Entity Bean

package ejb;

import javax.ejb.EntityBean;
import javax.ejb.CreateException;
import weblogic.ejb.GenericEntityBean;
import weblogic.ejbgen.AutomaticKeyGeneration;
import weblogic.ejbgen.Entity;
import weblogic.ejbgen.JndiName;
import weblogic.ejbgen.FileGeneration;
import weblogic.ejbgen.Constants;
import weblogic.ejbgen.CmpField;
import weblogic.ejbgen.LocalMethod;
import weblogic.ejbgen.AutomaticKeyGeneration.AutomaticKeyGenerationType;
import weblogic.ejbgen.CmpField.ColumnType;
import weblogic.ejbgen.Entity.DatabaseType;

@Entity (
  ejbName = "InfoBean",
  dataSourceName = "ejbTest",
  databaseType = DatabaseType.ORACLE,
  tableName = "info",
  primKeyClass = "java.lang.Integer"
)

@JndiName(local = "ejb.Info")

@FileGeneration(
  localClass = Constants.Bool.TRUE, localClassName = "Info",
  localHome = Constants.Bool.TRUE, localHomeName = "InfoHome",
  remoteClass = Constants.Bool.FALSE, remoteHome = Constants.Bool.FALSE,
  valueClass = Constants.Bool.FALSE
)

// Sequence 설정 부분
@AutomaticKeyGeneration(
  type = AutomaticKeyGenerationType.SEQUENCE,
  name = "info_seq",
  cacheSize = "1"
)

abstract public class InfoBean extends GenericEntityBean implements EntityBean
{
  private static final long serialVersionUID = 1L;

  public java.lang.Integer ejbCreate(java.lang.String data) throws CreateException
  {
    // setSeq(seq)
    setData(data);
    
    return null;
  }

  public void ejbPostCreate(java.lang.String data) { }

  @CmpField(column = "seq", primkeyField = Constants.Bool.TRUE, columnType = ColumnType.LONG_STRING)
  @LocalMethod
  public abstract java.lang.Integer getSeq();
  public abstract void setSeq(java.lang.Integer seq);

  @CmpField(column = "data", columnType = ColumnType.LONG_STRING)
  @LocalMethod
  public abstract java.lang.String getData();
  @LocalMethod
  public abstract void setData(java.lang.String data);
}


이렇게 Entity Bean 을 만들고, mysql 이나 mssql 에서 쓰듯이 시퀀스 부분 빼고 데이터를 넣어주면 자동으로 번호가 생성됩니다.

test.jsp - 클라이언트

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import="javax.naming.*, javax.rmi.*, ejb.*, java.util.Properties" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>

<%
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL, "t3://localhost:7001");

Context ctx = new InitialContext(p);
Object h = ctx.lookup("ejb.InfoManage");
InfoManageHome home = (InfoManageHome)PortableRemoteObject.narrow(h, InfoManageHome.class);
InfoManage im = home.create();

// 테이터1 등록
InfoData info1 = im.insert("테이터1");
out.print(info1.getSeq() + " - " + info1.getData() + "<br>");

//테이터2 등록
InfoData info2 = im.insert("테이터2");
out.print(info2.getSeq() + " - " + info2.getData() + "<br>");
%>

</body>
</html>


InfoManageBean.java - 세션 빈

package ejb;

import javax.ejb.SessionBean;
import javax.naming.Context;
import javax.naming.InitialContext;

import weblogic.ejb.GenericSessionBean;
import weblogic.ejbgen.RemoteMethod;
import weblogic.ejbgen.Session;
import weblogic.ejbgen.JndiName;
import weblogic.ejbgen.FileGeneration;
import weblogic.ejbgen.Constants;

@Session(ejbName = "InfoMenageBean")
@JndiName(remote = "ejb.InfoManage")
@FileGeneration(
  remoteClass = Constants.Bool.TRUE, remoteClassName = "InfoManage",
  remoteHome = Constants.Bool.TRUE, remoteHomeName = "InfoManageHome",
  localClass = Constants.Bool.FALSE,
  localHome = Constants.Bool.FALSE
)

public class InfoManageBean extends GenericSessionBean implements SessionBean
{
  private static final long serialVersionUID = 1L;

  public void ejbCreate() { }

  @RemoteMethod
  public InfoData insert(String data) throws Exception
  {
    Context ctx = new InitialContext();
    InfoHome home = (InfoHome)ctx.lookup("ejb.Info");
    Info info = home.create(data);

    // DTO 클래스로 변환
    return convertData(info);
  }

  // Info -> InfoData
  private InfoData convertData(Info info)
  {
    return new InfoData(info.getSeq(), info.getData());
  }
}


InfoData.java - Data Transfer Object

package ejb;

public class InfoData implements java.io.Serializable

  private Integer seq;
  private String data;
 
  public InfoData(Integer seq, String data) {
    this.seq = seq;
    this.data = data;
  }
 
  public Integer getSeq() {
    return seq;
  }
  public String getData() {
    return data;
  }
  public void setData(String data) {
    this.data = data;
  }
 
  private static final long serialVersionUID = 1L;
}

반응형

'Server > WebLogic' 카테고리의 다른 글

Eclipse + WebLogic 추가 설정 사항들...  (6) 2011.08.23
웹로직 ZIP 배포판 설치 (윈도우)  (1) 2011.07.14
WebLogic 10.3 JDBC 설정(DataSource)  (13) 2009.04.18
Eclipse + WebLogic 10.3  (17) 2009.03.15
Domain 생성 및 테스트  (1) 2009.03.14
Oracle WebLogic Server 10.3 설치  (6) 2009.03.14
//

WebLogic 10.3 JDBC 설정(DataSource)

Posted at 2009. 4. 18. 05:48 | Posted in Server/WebLogic
반응형

- console 접속


- 왼쪽 트리메뉴에서 도메인이름 → Serviews → JDBC → Data Sources 선택





- 현재 등록되어있는 DataSource 목록이 나옵니다. New 클릭



- 기본 속성 입력
Name : 그냥 표시되는 이름
JDI Name : 중요!! DataSource 를 찾을 때 쓰는 이름입니다.
Database Type : 디비 종류
Database Driver : 드라이버





- 트랜잭션 설정 : 잘 모르겠습니다 -_- Next





- SID, 아이디, 비번, 주소 등등 입력합니다. Next





- 접속 테스트 합니다. Test Configuration 클릭





- Connection test succeeded. 가 나와야 성공. Next





- 타겟 서버를 선택합니다. Finish





- 추가된 것 확인




- 등록 완료



테스트

- 간단하게 테스트하기 위해 Server Runtime 을 Orcle WebLogic Server v10.3으로 선택





- 간단한 테스트 페이지 작성

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import="javax.naming.*, javax.sql.*, java.sql.*" %>
<%@ page import="java.util.Properties"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>WebLogic 10.3 JDBC 테스트</title>
</head>
<body>

<%
Context ctx = null;
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

try
{
   ctx = new InitialContext();
   ds = (DataSource)ctx.lookup("AntopTest");

   conn = ds.getConnection();
   stmt = conn.createStatement();

   rs = stmt.executeQuery("select * from tab");

   while(rs.next()) {
      out.print(rs.getString(1) + " - " + rs.getString(2) + "<br>");
   }
}
catch(Exception e)
{
   out.print("error : " + e.getMessage());
}
finally
{
   try { if(rs != null) rs.close(); } catch (SQLException ignore) { }
   try { if(stmt != null) stmt.close(); } catch (SQLException ignore) { }
   try { if(conn != null) conn.close(); } catch (SQLException ignore) { }

   ds = null;
   try { if(ctx != null) ctx.close(); } catch (NamingException ignore) { }
}
%>

</body>
</html>



- 실행 결과





반응형
//

Eclipse + WebLogic 10.3

Posted at 2009. 3. 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

반응형
//