입력 JAR 또는 EAR 파일에 CMP Bean이 있는 경우 EJB 전개 도구는
전개 코드를 생성할 때 사용할 기존 스키마 및 맵을 찾습니다. 기존 스키마 및 맵이 없으면
하향식 맵핑 규칙을 사용하여 스키마 및 맵을 작성합니다.
하향식 맵핑 접근법에서는 이미
기존 Enterprise Bean을 가지고 있고 해당 디자인을 통해 데이터베이스 디자인을
결정합니다. 생성된 스키마는 각 CMP 엔티티 Bean에 해당하는 테이블을 하나씩 포함하고 있습니다.
이러한 테이블에서 각 열은 Enterprise Bean의 CMP 필드에 해당하고
생성된 맵핑은 필드를 열에 맵핑합니다.
구문
스키마 및 맵이
입력 EAR 또는 JAR 파일에 제공될 때 다음 명령 및 선택적 매개변수를
사용하십시오.
ejbdeploy input_EAR_name|input_JAR_name working_directory output_EAR_name|output_JAR_name [-bindear "options"] [-cp classpath]
[-codegen] [-debug] [-keep] [-ignoreErrors]
[-quiet] [-nowarn] [-noinform] [-rmic "options"]
[-target name] [-trace] [-sqlj]
스키마 및 맵을 입력 EAR 또는 JAR 파일에서
사용할 수 없고 하향식 맵핑 접근법이 필요할 때 다음 명령 및 선택적
매개변수를 사용하십시오.
ejbdeploy input_EAR_name|input_JAR_name working_directory output_EAR_name|output_JAR_name [-bindear "options"] [-cp classpath]
[-codegen] [-dbname "name"] [-dbschema "name"]
[-dbvendor name] [-debug] [-keep]
[-ignoreErrors] [-quiet] [-nowarn] [-noinform]
[-rmic "options"] [-35] [-40]
[-target name] [-trace] [-sqlj][-OCCColumn]주: - -dbschema, -dbname, -dbvendor,?-OCCColumn, -35 및 -40 옵션은
하향식 연산 모드에서 데이터베이스 정의를 작성할 때만
사용됩니다. 그런 다음, 데이터베이스 정보는 JAR 또는 EAR 파일의 스키마 문서에
저장되므로 다시 옵션을 지정할 필요가
없습니다. 또한 JAR 또는 EAR을 나중에 변경할 수 없으므로 이 파일을 생성할 때
올바른 데이터베이스를 정의해야 합니다.
- 기본적으로, ejbdeploy명령을 실행할 때 백엔드 ID가 DB2UDB_V81인 경우
Windows® 및
UNIX®용
DB2® V8.1로
백엔드가 설정된 DDL(Data Definition Language) 파일이 작성됩니다.
다른 데이터베이스 백엔드를 설정하려면 -dbname, -dbschema
및 -dbvendor 옵션을 사용하여 선택사항을 지정하십시오. 그러나 한 개의
백엔드만 정의할 수 있습니다. JAR 파일에 이미 DB2 백엔드가
있고 두 번째 백엔드를 가져오지 않고 명령행에 -dbvendor ORACLE을 지정하면
dbvendor 스펙이 무시됩니다.
- ejbdeploy
- 전개 코드를 생성하는 명령입니다. 인수없이 실행하면
ejbdeploy 명령은 해당 명령과 함께 실행할 수 있는 인수의
목록을 표시합니다.
- input_JAR_name 또는 input_EAR_name
- 전개 코드를 생성할 Enterprise Bean을 포함하는 입력 JAR 또는 EAR
파일의 완전한 이름입니다(예: c:\ejb\inputJARs\myEJBs.jar).
(이 인수는 필수입니다.)
ejbdeploy 명령은 더 이상
시스템 클래스 경로에 지정된 내용을 사용하지 않습니다. 대신, 종속 클래스를
JAR 파일에 포함하거나 -cp 옵션을 사용하는 명령 처리에
포함해야 합니다. 각 Enterprise Bean 홈 및 원격 클래스의 .class
파일이 입력 JAR 또는 EAR 파일에 패키지화되어 있어야 합니다.
입력 JAR 또는 EAR 파일에
소스 파일을 포함시키지 않아야 합니다. 입력 JAR 또는 EAR 파일에 소스 파일이 있는 경우 EJBDeploy
도구는 전개 코드를 생성하기 전에 다시 빌드합니다. 권장사항:
소스 파일을 제거하거나 클래스 경로의 모든 종속 클래스 및 자원 파일을
포함하십시오. 그렇지 않으면 서버에 응용프로그램을 다시 빌드하는 동안
문제가 발생할 수 있습니다.
- working_directory
- 코드 생성에 필요한 임시 파일이 저장되는 디렉토리의
이름입니다. (이 인수는 필수입니다.) 지정한 작업 디렉토리가
ejbdeploy 명령을 실행하기 전에 이미 존재하면
임시 파일이 작업 디렉토리(Eclipse 작업공간)에 생성됩니다. 그러나 명령을 실행하기 전에
작업 디렉토리가 없으면 디렉토리가 생성되고 이 디렉토리에 Eclipse 작업공간이
생성됩니다. 모든 경우, -keep 옵션을 지정하지 않으면
전개 코드 생성이 완료될 때 작업공간과 모든 파일이 자동으로
제거됩니다. (작업공간을 보유하면 문제점 판별 시 유용합니다.)
- output_JAR_name 또는 output_EAR_name
- ejbdeploy 명령으로 작성되고 전개에 필요한 생성된
클래스를 포함하는 출력 JAR 또는 EAR 파일의 완전한 이름입니다(예:
c:\ejb\outputJARs\myEJBs.jar).?(이 인수는
필수입니다.) ejbdeploy 명령을 실행하기 전에
완전한 이름으로 지정된 디렉토리가 이미 존재해야 합니다.
(출력 JAR 또는 EAR 파일의 이름을 지정한 다음
ejbdeploy 명령을 실행할 때, 동일한 이름의 기존 출력 JAR 또는 EAR
파일은 경고없이 겹쳐 쓰여집니다.)
- -cp classpath
- 다른 ZIP 또는 JAR 파일에 종속된 JAR 또는 EAR 파일에 대해
ejbdeploy 명령을 실행하려는 경우,
-cp 옵션을 사용하여 다른 JAR 또는 ZIP 파일의 클래스
경로를 지정할 수 있습니다. -cp 옵션을 사용하여
여러 개의 ZIP 및 JAR 파일을 인수로 지정할 수 있습니다. 그러나 ZIP 및
JAR 파일 이름이 완전한 이름이어야 하며 세미콜론으로 구분되고 큰따옴표로
묶어야 합니다(예: -cp "path\myJar1.jar;path\myJar2.jar;
path\myJar3.jar").
팁: SQLJ 변환기 클래스인
sqlj.zip의 위치를 지정해야 합니다. 이 파일의
기본 경로는 x:\java입니다. 여기서 x는
DB2의 설치 디렉토리입니다(예: Windows에서 d:\sqllib\java\sqlj.zip).
- -codegen
- ejbdeploy 명령을 (a) 입력 JAR 또는 EAR 파일에서
코드 가져오기, (b) 전개 코드 생성하기 및 (c) 출력 JAR 또는 EAR
파일로 코드 내보내기로 제한합니다. 이것은 생성된
전개 코드를 컴파일하거나 RMIC(Remote Method Invocation Compiler)를 실행하지 않습니다.
일반적으로 Java™
소스 코드를 출력 EAR 또는 JAR로 내보내지 않으므로 이 방법으로만 생성된 코드를 저장할 수 있습니다.
- -bindear "options"
- EAR 파일을 바인딩으로 채울 수 있습니다. 이 인수는 EAR 파일에만
적용됩니다. 또한 어떤 옵션도 지정하지 않고 이 명령을 사용할 수 있습니다.
이 옵션은 공백으로 구분되고 큰따옴표로 묶어야 합니다(예: -bindear "xx yy zz").
이러한 옵션에 대한 자세한 정보는 WebSphere® Application Server 문서를 참조하십시오.
- -dbname "name"
- 생성된 DDL(Data Definition Language) 파일에 정의할 데이터베이스의
이름입니다. 데이터베이스 이름에 공백이 포함되어 있는 경우
전체 이름을 큰따옴표로 묶어야 합니다(예: -dbname "my
database").
- -dbschema "name"
- 작성할 스키마의 이름입니다. 스키마 이름에 공백이 포함되어 있는 경우
전체 이름을 큰따옴표로 묶어야 합니다(예: -dbschema "my
schema").
- -dbvendor name
- 데이터베이스 열 유형, 맵핑 정보, Table.ddl 및 기타 정보를 결정하는 데 사용되는
데이터베이스 벤더의 이름입니다. 유효한 데이터베이스 벤더 이름은 다음과 같습니다.
- DB2UDB_V81(Windows 및
UNIX용
DB2 Universal Database V8.1)
- DB2UDB_V82(Windows 및
UNIX용
DB2 Universal Database V8.2)
- DB2UDBOS390_V7(z/OS® 및
OS/390®용
DB2 Universal Database™ V7)
- DB2UDBOS390_V8(z/OS 및 OS/390용
DB2 Universal Database V8)
- DB2UDBISERIES(iSeries™용
DB2)
- DB2UDBISERIES_V52(iSeries V5R2용
DB2)
- DB2UDBISERIES_V53(iSeries V5R3용
DB2)
- ORACLE_V8 (Oracle, V8.0)
- ORACLE_V9I (Oracle, V9i)
- ORACLE_V10G (Oracle, V10g)
- INFORMIX_V73(Informix® Dynamic Server.2000, V7.3)
- INFORMIX_V93(Informix Dynamic Server.2000, V9.3)
- INFORMIX_V94(Informix Dynamic Server.2000, V9.4)
- SYBASE_V1200(Sybase Adaptive Server Enterprise, V12.0)
- SYBASE_V1250(Sybase Adaptive Server Enterprise, V12.5)
- MSSQLSERVER_2000(Microsoft® SQL Server 2000)
- MSSQLSERVER_V7(Microsoft SQL Server, V7.0)
- CLOUDSCAPE_V5(Cloudscape™, V5.1)
- DERBY_V10 (Derby, V10)
다음 백엔드 ID는 유효하지 않습니다.
- SQL92(1992 SQL 표준)
- SQL99(1999 SQL 표준)
SQL92 및 SQL99가 유효하지 않더라도 SQL92 및 SQL99 옵션을 그대로
사용할 수 있습니다. SQL92 또는 SQL92 옵션을 사용한 경우,
Cloudscape V5용
SQL이 생성됩니다. 유효하지 않은 SQL92 또는 SQL99 백엔드 ID를 사용하려고 선택한 경우,
SQL에 대한 EJB 조회 구문 주제를 참조하면
유효하지 않은 SQL92 및 SQL99 백엔드를 더 이상 사용할 수 없을 때 차후에 사용해야
할 백엔드를 결정하는 데 도움이 됩니다.
지원되지 않는
데이터베이스를 사용할 경우, SQL에 대한 EJB
조회 구문 주제를 참조하면 지원되지 않는 전개 환경에 거의 일치하는 유효한 데이터베이스
벤더 백엔드 ID를 선택하는 데 도움이 됩니다.
주: - 기본값은 DB2UDB_V81(Windows 및
UNIX용
DB2 V8.1)입니다.
- -sqlj가 지정된 경우
DB2UDB_V82(Windows 및
UNIX용
DB2 V8.2),
DB2UDB_V81(Windows 및
UNIX용
DB2 V8.1),
DB2UDBOS390_V8(OS/390용
DB2 V8) 및
DB2UDBOS390_V7(OS/390용 DB2 V7)을 지원합니다.
- -debug
- 전개 코드가 디버그 정보로 컴파일됨을 지정합니다.
- -keep
- ejbdeploy 명령을 실행했을 때 작성되는
임시 파일(Eclipse 작업공간)의 처리를 제어합니다. 이 옵션이 없으면 명령이
완료될 때 Eclipse 작업공간은 삭제됩니다.
- -ignoreErrors
- 유효성 검증 오류가 발견되어도 처리를 계속해야 함을 지정합니다.
- -quiet
- 유효성 검증 중에 상태 메시지를 억제합니다. (그러나 오류 메시지는 억제하지 않습니다.)
- -nowarn
- 유효성 검증 중에 경고 및 정보 메시지를 억제합니다.
- -noinform
- 유효성 검증 중에 정보 메시지를 억제합니다.
- -rmic "options"
- RMIC 옵션을 RMIC에 전달할 수 있습니다. Sun의 RMI 도구 문서에 설명된 옵션은 공백으로
구분되고 큰따옴표로 묶어야 합니다(예: -rmic "-nowarn
-verbose").
- -35
- WebSphere Application Server, 버전
3.5에 제공되는 EJB 전개 도구에 사용되는 CMP 엔티티 Bean의 하향식 맵핑
규칙을 사용하려면 -35 옵션을 지정하십시오. 일부 상황에서
이 옵션이 필요할 수 있습니다. 그러나 -35 옵션을 지정하지 않으면
이전에 사용할 수 있었던 것보다 향상된 하향식 맵핑의 양식이 사용됩니다.
- -40
- WebSphere Application
Server 4.0 하향식 맵핑 규칙을 사용합니다.
- -target name
- 응용프로그램을 컴파일할 특정 WebSphere 런타임 환경을
지정합니다. 런타임 대상을 지정하는 것은 사용할 JRE 라이브러리를
구성할 뿐만 아니라 WebSphere 런타임 라이브러리를
포함할 프로젝트의 클래스 경로를 구성합니다. 유효한 서버 이름은 다음과 같습니다.
- WAS510(WebSphere Application Server, 버전 5.1)
- WAS502(WebSphere Application Server, 버전 5.02)
- WAS501(WebSphere Application Server, 버전 5.01)
- WAS500(WebSphere Application Server, 버전 5.0)
- -trace
- 콘솔에 대한 추가 진행 상태 메시지를 생성합니다.
- -sqlj
주: 이 옵션은 2.0 스펙을 준수하는 Enterprise Bean에서만
유효합니다.
JDBC 대신 SQLJ를 사용하여
DB2 데이터베이스를
호출할 수 있습니다.
-sqlj 옵션을 지정한 상태에서 EJB 전개 도구는
CMP Bean이 SQLJ를 사용하여 데이터베이스에 액세스할 수 있도록 SQLJ 코드를
생성합니다. 또한 SQLJ 변환기를 자동으로 호출하여 SQLJ 소스 파일을
변환합니다. 마지막으로 EJB 전개 도구에서 Ant 스크립트가 작성되어
SQLJ 프로파일을 쉽게 사용자 정의할 수 있도록 도움을 줍니다. 프로파일에 대해 Ant
스크립트를 실행하여 DB2 패키지를 생성할 수 있습니다. 이러한 DB2 패키지는 런타임 시 사용되어 방대한
런타임 검사를 피할 수 있습니다. 일단 EJB 전개 도구를 사용하여 SQLJ의 전개 코드를
생성하면, 생성된 .ser 파일에 대해 DB2 SQLJ 프로파일 사용자 정의 프로그램인
db2sqljcustomize를 실행해야 합니다.
생성된 .ser 파일은 DB2 백엔드와 연관된 websphere_deploy
폴더의 서브폴더에 있습니다. DB2 SQLJ
프로파일 사용자 정의 프로그램 실행에 대한 자세한 정보는 DB2 문서를 참조하거나
www7b.boulder.ibm.com/dmdd/zones/java/bigpicture.html(SQLJ
support 섹션)을 참조하십시오.
- -OCCColumn
주: 이 옵션은 하향식 맵핑을 생성할 때 EJB 2.x CMP 엔티티 Bean에서만
유효합니다.
충돌 검출을 위해 열을 관계형 데이터베이스 테이블에
추가할 수 있습니다. 충돌 검출 열은 레코드가 갱신되었는지
판별하기 위해 예약된 추가 데이터베이스 열입니다.
충돌 검출을 위한 열을 추가하는 것은 변경이 예상되지 않는 액세스 목적의
술부의 속성을 포함하는 다른 변경이 예상되지 않는 동시성 제어
설계입니다. 충돌 검출 열을 관리하려면 고유의 데이터베이스 트리거
구현을 제공해야 합니다. 다음은 충돌 검출을 위한 열을 추가한 결과입니다. - 충돌 검출 열의 데이터 유형은 64비트 정수입니다.
- 충돌 검출 열의 이름 지정 규칙은 OCC_bean_name 형식을 가집니다.
- 하향식 맵핑은 추가 관계형 열을 생성합니다. 이 열은 Enterprise Bean에 맵핑될 수 없습니다.
예: ejbdeploy 명령 실행:
ejbdeploy AccessEmployee.ear d:\deploydir AccessEmployee_sqlj.ear -dbvendor DB2UDB_V81 -keep -sqlj -cp "e:\sqllib\java\sqlj.zip"
설명: DB2 Universal Database(Windows 및 UNIX용 버전 8.1)를
e:\sqllib에 설치했습니다.
ejbdeploy 명령은
AccessEmployee.ear 파일(EJB 2.0 스펙을 준수하는 Enterprise Bean이 있음)을
입력으로 선택하고 AccessEmployee_sqlj.ear을 출력으로
생성합니다. -sqlj 옵션이 사용되므로 생성된 코드에서
JDBC 대신 SQLJ를 사용하여 DB2를 호출합니다.
ejbdeploy가
실행될 때 작업 디렉토리로 지정하는 디렉토리(d:\deploydir)에
Eclipse 작업공간을 작성합니다.
이 명령의 실행을 완료하면 이 작업공간은 삭제됩니다. 그러나 -keep 옵션으로
작업공간은 삭제되지 않은 상태에서 ejbdeploy를 종료합니다.