Cosminexus　リファレンス　API編

文法書

3020-3-M42-60

目　　次

前書き

変更内容

はじめに

1.　APIとタグライブラリの概要

1.1　APIとタグライブラリの種類

1.2　APIの記述形式

1.3　タグライブラリの記述形式

2.　統合ユーザ管理フレームワークで使用するAPI

2.1　統合ユーザ管理フレームワークで使用するAPIの一覧

2.2　AttributeEntryクラス

AttributeEntryコンストラクタ

getAliasメソッド

getAttributeNameメソッド

getSubcontextメソッド

setAliasメソッド

setAttributeNameメソッド

setSubcontextメソッド

2.3　ChangeDataFailedExceptionクラス

ChangeDataFailedExceptionコンストラクタ

2.4　DelegationLoginModuleクラス

2.5　LdapSSODataManagerクラス

LdapSSODataManagerコンストラクタ

addSSODataメソッド

addSSODataListenerメソッド

getSSODataメソッド

getSSODataListenersメソッド

listUsersメソッド（形式1）

listUsersメソッド（形式2）

modifySSODataメソッド

removeSSODataメソッド

removeSSODataListenerメソッド

2.6　LdapUserDataManagerクラス

LdapUserDataManagerコンストラクタ

addUserDataメソッド（形式1）

addUserDataメソッド（形式2）

getUserDataメソッド

listUsersメソッド（形式1）

listUsersメソッド（形式2）

modifyUserDataメソッド

removeUserDataメソッド

2.7　LdapUserEnumerationインタフェース

closeメソッド

hasMoreメソッド

hasMoreElementsメソッド

nextメソッド

nextElementメソッド

2.8　LoginUtilクラス

checkメソッド（形式1）

checkメソッド（形式2）

2.9　ObjectClassEntryクラス

ObjectClassEntryコンストラクタ

getObjectClassesメソッド

getSubcontextメソッド

setObjectClassesメソッド

setSubcontextメソッド

2.10　PasswordCryptographyインタフェース

encryptメソッド

2.11　PasswordUtilクラス

changePasswordメソッド

2.12　Principalインタフェース

2.13　SSODataクラス

SSODataコンストラクタ

getMappingメソッド

getMappingRealmsメソッド

getPublicDataメソッド

removeMappingメソッド

setMappingメソッド

setPublicDataメソッド

setSecretDataメソッド

2.14　SSODataEventクラス

SSODataEventコンストラクタ

getOldPublicDataメソッド

getOldSecretDataメソッド

getPublicDataメソッド

getSecretDataメソッド

getUserIdメソッド

2.15　SSODataListenerインタフェース

ssoDataAddedメソッド

ssoDataModifiedメソッド

ssoDataRemovedメソッド

2.16　SSODataListenerExceptionクラス

SSODataListenerExceptionコンストラクタ

getExceptionメソッド

getListenersメソッド

setExceptionメソッド

2.17　UserAttributesインタフェース

addAttributeメソッド

getAttributeメソッド

getAttributeNamesメソッド

getAttributesメソッド

removeAttributeメソッド

sizeメソッド

2.18　UserDataクラス

UserDataコンストラクタ

addAttributeメソッド

getAttributeメソッド

getAttributeNamesメソッド

getAttributesメソッド

removeAttributeメソッド

setPasswordメソッド

sizeメソッド

2.19　WebCertificateCallbackクラス

WebCertificateCallbackコンストラクタ

getAttributeEntriesメソッド

getRequestメソッド

getResponseメソッド

getSubjectIDメソッド

getTagEntryメソッド

getTagIDメソッド

setAttributeEntriesメソッド

setRequestメソッド

setResponseメソッド

setSubjectIDメソッド

setTagEntryメソッド

setTagIDメソッド

2.20　WebCertificateHandlerクラス

WebCertificateHandlerコンストラクタ

handleメソッド

2.21　WebCertificateLoginModuleクラス

2.22　WebLogoutCallbackクラス

WebLogoutCallbackコンストラクタ

getSessionメソッド

getUserIDメソッド

setSessionメソッド

setUserIDメソッド

2.23　WebLogoutHandlerクラス

WebLogoutHandlerコンストラクタ

handleメソッド

2.24　WebPasswordCallbackクラス

WebPasswordCallbackコンストラクタ

getAttributeEntriesメソッド

getNameメソッド

getOptionメソッド

getPasswordメソッド

getRequestメソッド

getResponseメソッド

getTagEntryメソッド

getTagIDメソッド

setAttributeEntriesメソッド

setNameメソッド

setOptionメソッド

setPasswordメソッド

setRequestメソッド

setResponseメソッド

setTagEntryメソッド

setTagIDメソッド

2.25　WebPasswordHandlerクラス

WebPasswordHandlerコンストラクタ

handleメソッド

2.26　WebPasswordJDBCLoginModuleクラス

2.27　WebPasswordLDAPLoginModuleクラス

2.28　WebPasswordLoginModuleクラス

2.29　WebSSOCallbackクラス

WebSSOCallbackコンストラクタ

getRequestメソッド

getResponseメソッド

getTagEntryメソッド

getTagIDメソッド

setRequestメソッド

setResponseメソッド

setTagEntryメソッド

setTagIDメソッド

2.30　WebSSOHandlerクラス

WebSSOHandlerコンストラクタ

handleメソッド

2.31　WebSSOLoginModuleクラス

2.32　例外クラス

3.　統合ユーザ管理フレームワークで使用するタグライブラリ

3.1　タグライブラリのタグの一覧

3.2　<ua:attributeEntries>Entries</ua:attributeEntries>タグ

3.3　<ua:attributeEntry/>タグ

3.4　<ua:login/>タグ

3.5　<ua:logout/>タグ

3.6　<ua:notLogin>Body</ua:notLogin>タグ

3.7　<ua:exception>Body</ua:exception>タグ

3.8　<ua:getPrincipalName/>タグ

3.9　<ua:getAttribute/>タグ

3.10　<ua:getAttributes/>タグ

3.11　<ua:getAttributeNames/>タグ

3.12　<ua:chpw/>タグ

4.　EJBクライアントアプリケーションで使用するAPI

4.1　EJBクライアントアプリケーションで使用するAPIの一覧

4.2　EJBClientInitializerクラス

initializeメソッド

4.3　LoginInfoManagerクラス

getLoginInfoManagerメソッド

loginメソッド

logoutメソッド

4.4　RequestTimeoutConfigFactoryクラス

getRequestTimeoutConfigメソッド

4.5　RequestTimeoutConfigクラス

setRequestTimeoutメソッド（形式1）

setRequestTimeoutメソッド（形式2）

unsetRequestTimeoutメソッド

4.6　UserTransactionFactoryクラス

getUserTransactionメソッド

4.7　例外クラス

5.　ユーザログ機能で使用するAPI

5.1　ユーザログ機能で使用するAPIの一覧

5.2　CJLogRecordクラス

createメソッド（形式1）

createメソッド（形式2）

createメソッド（形式3）

createメソッド（形式4）

createメソッド（形式5）

createメソッド（形式6）

createメソッド（形式7）

createメソッド（形式8）

createメソッド（形式9）

createメソッド（形式10）

createpメソッド（形式1）

createpメソッド（形式2）

createpメソッド（形式3）

createpメソッド（形式4）

createpメソッド（形式5）

createpメソッド（形式6）

createpメソッド（形式7）

createpメソッド（形式8）

createpメソッド（形式9）

createpメソッド（形式10）

createrbメソッド（形式1）

createrbメソッド（形式2）

createrbメソッド（形式3）

createrbメソッド（形式4）

createrbメソッド（形式5）

createrbメソッド（形式6）

createrbメソッド（形式7）

createrbメソッド（形式8）

createrbメソッド（形式9）

createrbメソッド（形式10）

6.　性能解析トレースで使用するAPI

6.1　性能解析トレースで使用するAPIの一覧

6.2　CprfTraceクラス

getRootApInfoメソッド

7.　監査ログ出力で使用するAPI

7.1　監査ログ出力で使用するAPIの一覧

7.2　AuditLogRecordクラス

getAfterInfoメソッド

getAuthorityメソッド

getBeforeInfoメソッド

getCategoryメソッド

getDetectionPointメソッド

getHaidメソッド

getLocationメソッド

getMessageメソッド

getMessageIdメソッド

getObjectInfoメソッド

getObjectLocationメソッド

getOperationメソッド

getOutputPointメソッド

getReceiverHostメソッド

getReceiverPortメソッド

getResultメソッド

getSenderHostメソッド

getSenderPortメソッド

getServiceInstanceメソッド

getSubjectIdメソッド

getSubjectPointメソッド

setAfterInfoメソッド

setAuthorityメソッド

setBeforeInfoメソッド

setCategoryメソッド

setDetectionPointメソッド

setHaidメソッド

setLocationメソッド

setMessageメソッド

setMessageIdメソッド

setObjectInfoメソッド

setObjectLocationメソッド

setOperationメソッド

setOutputPointメソッド

setReceiverHostメソッド

setReceiverPortメソッド

setResultメソッド

setSenderHostメソッド

setSenderPortメソッド

setServiceInstanceメソッド

setSubjectIdメソッド

setSubjectPointメソッド

7.3　UserAuditLoggerクラス

getLoggerメソッド

isEnabledメソッド

isLoggableメソッド

logメソッド

7.4　例外クラス

8.　JavaVMで使用するAPI

8.1　JavaVMで使用するAPIの一覧

8.2　MemoryInfoクラス

getEdenFreeMemoryメソッド

getEdenMaxMemoryメソッド

getEdenTotalMemoryメソッド

getPermFreeMemoryメソッド

getPermMaxMemoryメソッド

getPermTotalMemoryメソッド

getSurvivorFreeMemoryメソッド

getSurvivorMaxMemoryメソッド

getSurvivorTotalMemoryメソッド

getTenuredFreeMemoryメソッド

getTenuredMaxMemoryメソッド

getTenuredTotalMemoryメソッド

9.　Cosminexus DABroker Libraryで使用するAPI

9.1　Cosminexus DABroker Libraryで使用するAPIの一覧

9.2　Driverクラス

9.3　Connectionクラス

9.4　Statementクラス

getExecuteDirectModeメソッド

setExecuteDirectModeメソッド

9.5　PreparedStatementクラス

getBlockUpdateメソッド

setBlockUpdateメソッド

9.6　CallableStatementクラス

9.7　ResultSetクラス

9.8　ResultSetMetaDataクラス

9.9　DatabaseMetaDataクラス

9.10　DataSourceクラス

getBlockUpdateメソッド

getBufferPoolSizeメソッド

getBufSizeメソッド

getDBEnvメソッド

getDBHostNameメソッド

getDatabaseNameメソッド

getDescriptionメソッド

getEncodLangメソッド

getExecuteDirectModeメソッド

getHiRDBCursorModeメソッド

getJDBC_IF_TRCメソッド

getLONGVARBINARY_Accessメソッド

getNetworkProtocolメソッド

getNotErrorOccurredメソッド

getOSAuthorizeメソッド

getPasswordメソッド

getPortNumberメソッド

getRowSizeメソッド

getSQLWarningIgnoreメソッド

getSV_EVENT_TRCメソッド

getServerNameメソッド

getTRC_NOメソッド

getUapNameメソッド

getUserメソッド

setBlockUpdateメソッド

setBufferPoolSizeメソッド

setBufSizeメソッド

setDBEnvメソッド

setDBHostNameメソッド

setDatabaseNameメソッド

setDescriptionメソッド

setEncodLangメソッド

setExecuteDirectModeメソッド

setHiRDBCursorModeメソッド

setJDBC_IF_TRCメソッド

setLONGVARBINARY_Accessメソッド

setNetworkProtocolメソッド

setNotErrorOccurredメソッド

setOSAuthorizeメソッド

setPasswordメソッド

setPortNumberメソッド

setRowSizeメソッド

setSQLWarningIgnoreメソッド

setSV_EVENT_TRCメソッド

setServerNameメソッド

setTRC_NOメソッド

setUapNameメソッド

setUserメソッド

getRMIDメソッド

getXACloseStringメソッド

getXALocalCommitModeメソッド

getXAOpenStringメソッド

getXAThreadModeメソッド

setRMIDメソッド

setXACloseStringメソッド

setXALocalCommitModeメソッド

setXAOpenStringメソッド

setXAThreadModeメソッド

9.11　Blobインタフェース

10.　Cosminexusが対応しているアノテーションおよびDependency Injection

10.1　Cosminexusが対応しているアノテーション

10.2　Cosminexusが対応するDependency Injection

11.　アプリケーション開発時に使用できるプロパティ

11.1　バッチアプリケーションで使用できるプロパティ

ejbserver.batch.currentdirプロパティ

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.

前書き

■ 対象製品

●適用OS：Windows Server 2003，Windows Server 2003 R2，Windows Server 2003（x64），Windows Server 2003 R2（x64）

P-2443-7D74　 uCosminexus Application Server Standard　 07-60
P-2443-7K74　 uCosminexus Application Server Enterprise　 07-60
P-2443-7M74　 uCosminexus Web Redirector　 07-60
P-2443-7S74　 uCosminexus Service Platform　 07-60※

●適用OS：Windows Server 2003，Windows Server 2003 R2，Windows Vista，Windows XP

P-2443-7E74　 uCosminexus Developer Standard　 07-60
P-2443-7F74　 uCosminexus Developer Professional　 07-60
P-2443-7T74　 uCosminexus Service Architect　 07-60※
P-2443-7U74　 uCosminexus Operator　 07-60※

●適用OS：Windows Server 2003，Windows Server 2003 R2，Windows Server 2003（x64），Windows Server 2003 R2（x64），Windows Vista，Windows XP

P-2443-7H74　 uCosminexus Client　 07-60

●適用OS：AIX 5L V5.2，AIX 5L V5.3

P-1M43-7D71　 uCosminexus Application Server Standard　 07-60※
P-1M43-7K71　 uCosminexus Application Server Enterprise　 07-60※
P-1M43-7M71　 uCosminexus Web Redirector　 07-60※
P-1M43-7S71　 uCosminexus Service Platform　 07-60※

●適用OS：HP-UX 11i V2（IPF），HP-UX 11i V3（IPF）

P-1J43-7D71　 uCosminexus Application Server Standard　 07-60※
P-1J43-7K71　 uCosminexus Application Server Enterprise　 07-60※
P-1J43-7M71　 uCosminexus Web Redirector　 07-60※

●適用OS：Red Hat Enterprise Linux AS 3（x86），Red Hat Enterprise Linux AS 4（x86），Red Hat Enterprise Linux ES 3（x86），Red Hat Enterprise Linux ES 4（x86），Red Hat Enterprise Linux AS 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux AS 4（AMD64 & Intel EM64T），Red Hat Enterprise Linux ES 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux ES 4（AMD64 & Intel EM64T）

P-9S43-7D71　 uCosminexus Application Server Standard　 07-60※
P-9S43-7K71　 uCosminexus Application Server Enterprise　 07-60※
P-9S43-7M71　 uCosminexus Web Redirector　 07-60※

●適用OS：Red Hat Enterprise Linux AS 3（x86），Red Hat Enterprise Linux AS 4（x86），Red Hat Enterprise Linux 5 Advanced Platform（x86），Red Hat Enterprise Linux ES 3（x86），Red Hat Enterprise Linux ES 4（x86），Red Hat Enterprise Linux 5（x86），Red Hat Enterprise Linux AS 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux AS 4（AMD64 & Intel EM64T），Red Hat Enterprise Linux 5 Advanced Platform（AMD/Intel 64），Red Hat Enterprise Linux ES 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux ES 4（AMD64 & Intel EM64T），Red Hat Enterprise Linux 5（AMD/Intel 64）

P-9S43-7S71　 uCosminexus Service Platform　 07-60※

●適用OS：Red Hat Enterprise Linux AS 3（IPF），Red Hat Enterprise Linux AS 4（IPF），Red Hat Enterprise Linux 5 Advanced Platform（Intel Itanium）

P-9V43-7D71　 uCosminexus Application Server Standard　 07-60※
P-9V43-7K71　 uCosminexus Application Server Enterprise　 07-60※
P-9V43-7M71　 uCosminexus Web Redirector　 07-60※

●適用OS：Solaris 9，Solaris 10

P-9D43-7D71　 uCosminexus Application Server Standard　 07-60※
P-9D43-7K71　 uCosminexus Application Server Enterprise　 07-60※
P-9D43-7M71　 uCosminexus Web Redirector　 07-60※
P-9D43-7S71　 uCosminexus Service Platform　 07-60※

※印の製品については，サポート時期をご確認ください。
これらのプログラムプロダクトのほかにもこのマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。
本製品では日立トレース共通ライブラリをインストールします。

■ 輸出時の注意

本製品を輸出される場合には，外国為替および外国貿易法ならびに米国の輸出管理関連法規などの規制をご確認の上，必要な手続きをお取りください。
なお，ご不明な場合は，弊社担当営業にお問い合わせください。

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
AMDは，Advanced Micro Devices, Inc.の商標です。
CORBAは，Object Management Groupが提唱する分散処理環境アーキテクチャの名称です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
IIOPは，OMG仕様によるORB(Object Request Broker)間通信のネットワークプロトコルの名称です。
Intelは，Intel Corporationの会社名です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems, Inc.の商標または登録商標です。
JDKは，米国 Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Microsoft SQL Serverは，米国Microsoft Corp.の商品名称です。
OMG，CORBA，IIOP，UML，Unified Modeling Language，MDA，Model　Driven　Architectureは，Object Management Group, Inc.の米国及びその他の国における登録商標または商標です。
ORACLEは，米国Oracle Corporationの登録商標です。
Oracleは，米国Oracle Corporation及びその子会社，関連会社の登録商標です。
Oracle8iは，米国Oracle Corporationの商標です。
Oracle9iは，米国Oracle Corporationの商標です。
Oracle 10gは，米国Oracle Corporationの商標です。
PA-RISCは，米国Hewlett-Packard Companyの商標です。
Red Hatは，米国およびその他の国でRed Hat, Inc. の登録商標若しくは商標です。
SOAP（Simple Object Access Protocol）は，分散ネットワーク環境においてXMLベースの情報を交換するための通信プロトコルの名称です。
Solarisは，米国Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
SQL Serverは，米国法人Sybase，Inc.の商標です。
Sun，Sun Microsystems，Javaは，米国Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
UNIXは，X/Open Company Limited が独占的にライセンスしている米国ならびに他の国における登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国Microsoft Corporationの米国及びその他の国における登録商標です。
Windows Vistaは，米国Microsoft Corporationの米国及びその他の国における登録商標です。
X/Openは，X/Open Company Limited の英国ならびに他の国における登録商標です。
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
プログラムプロダクト「P-9D43-7D71，P-9D43-7K71，P-9D43-7M71，P-9D43-7S71」には，米国Sun Microsystems,Inc.が著作権を有している部分が含まれています。
プログラムプロダクト「P-9D43-7D71，P-9D43-7K71，P-9D43-7M71，P-9D43-7S71」には，UNIX System Laboratories,Inc.が著作権を有している部分が含まれています。

■ 発行

2006年4月 (第1版) 3020-3-M42
2007年12月 (第4版) 3020-3-M42-60

■ 著作権

All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.

変更内容

変更内容（3020-3-M42-60）uCosminexus Application Server Standard 07-60，uCosminexus Developer Standard 07-60，uCosminexus Developer Professional 07-60，uCosminexus Client 07-60，uCosminexus Application Server Enterprise 07-60，uCosminexus Web Redirector 07-60，uCosminexus Service Platform 07-60，uCosminexus Service Architect 07-60，uCosminexus Operator 07-60

追加・変更内容
変更個所

バッチアプリケーションで使用できるAPIの説明を追加した。
1.1，5.1，7.1，7.2，7.3，9.5

@ResourceのmappedNameで次の設定条件を使用できるようにした。

javax.jms.ConnectionFactory

javax.jms.TopicConnectionFactory

javax.jms.Topic

10.1

@Resourceで次のタイプのリソースをDIできるようにした。

javax.jms.ConnectionFactory

javax.jms.TopicConnectionFactory

javax.jms.Topic

管理対象オブジェクトの独自のインタフェース

10.2

バッチアプリケーションで使用できるプロパティejbserver.batch.currentdirを追加した。
11.1

次の製品の適用OSに，Red Hat Enterprise Linux 5 Advanced Platform（x86），Red Hat Enterprise Linux 5（x86），Red Hat Enterprise Linux 5 Advanced Platform（AMD/Intel 64），およびRed Hat Enterprise Linux 5（AMD/Intel 64）を追加した。

uCosminexus Service Platform

－

次の製品の適用OSにLinux（IPF）を追加した。

uCosminexus Application Server Standard

uCosminexus Application Server Enterprise

uCosminexus Web Redirector

－

次の製品の適用OSにSolarisを追加した。

uCosminexus Application Server Standard

uCosminexus Application Server Enterprise

uCosminexus Web Redirector

uCosminexus Service Platform

－

HP-UX（PA-RISC）のサポート中止に伴い，このOSに適応していた次の製品の記述を削除した。

uCosminexus Application Server Standard

uCosminexus Application Server Enterprise

uCosminexus Web Redirector

－

次の製品の適用OSからHP-UX（IPF）を削除した。

uCosminexus Service Platform

－

単なる誤字・脱字などはお断りなく訂正しました。

変更内容（3020-3-M42-40）uCosminexus Application Server Standard 07-50，uCosminexus Developer Standard 07-50，uCosminexus Developer Professional 07-50，uCosminexus Client 07-50，uCosminexus Application Server Enterprise 07-50，uCosminexus Web Redirector 07-50，uCosminexus Service Platform 07-50，uCosminexus Service Architect 07-50，uCosminexus Operator 07-50

追加・変更内容

監査ログで使用するAPIを追加した。

セキュリティフィルタで使用するAPIについての記述を削除した。

アノテーション参照抑止機能を追加した。

AIX 5L V5.1のサポート中止に伴い，このOSに適応していた次の製品の記述を削除した。

uCosminexus Application Server Enterprise

uCosminexus Application Server Standard

uCosminexus Service Platform

uCosminexus Web Redirector

Microsoft(R) Windows(R) 2000 Advanced Server Operating System，Microsoft(R) Windows(R) 2000 Datacenter Server Operating System，およびMicrosoft(R) Windows(R) 2000 Server Operating Systemのサポート中止に伴い，これらのOSに適応していた次の製品の記述を削除した。

uCosminexus Application Server Enterprise

uCosminexus Application Server Standard

uCosminexus Client

uCosminexus Developer Professional

uCosminexus Developer Standard

uCosminexus Operator

uCosminexus Service Architect

uCosminexus Service Platform

uCosminexus Web Redirector

Microsoft(R) Windows(R) 2000 Professional Operating Systemのサポート中止に伴い，このOSに適応していた次の製品の記述を削除した。

uCosminexus Client

uCosminexus Developer Professional

uCosminexus Developer Standard

uCosminexus Operator

uCosminexus Service Architect

次の製品の適用OSに，HP-UX（IPF）を追加した。

uCosminexus Service Platform

次の製品の適用OSに，HP-UX 11i V3（IPF）を追加した。

uCosminexus Application Server Enterprise

uCosminexus Application Server Standard

uCosminexus Web Redirector

次の製品の適用OSに，Red Hat Enterprise Linux ES 3（AMD64 & Intel EM64T），およびRed Hat Enterprise Linux ES 4（AMD64 & Intel EM64T）を追加した。

uCosminexus Application Server Enterprise

uCosminexus Application Server Standard

uCosminexus Service Platform

uCosminexus Web Redirector

次の製品の適用OSに，Windows Vistaを追加した。

uCosminexus Client

uCosminexus Developer Professional

uCosminexus Developer Standard

uCosminexus Operator

uCosminexus Service Architect

変更内容（3020-3-M42-20）uCosminexus Application Server Standard 07-10，uCosminexus Application Server Enterprise 07-10，uCosminexus Developer Standard 07-10，uCosminexus Developer Professional 07-10，uCosminexus Client 07-10，uCosminexus Web Redirector 07-10，uCosminexus Service Platform 07-10，uCosminexus Service Architect 07-10，uCosminexus Operator 07-10

追加・変更機能

DataSourceクラスに次のメソッドを追加した。

getBufferPoolSizeメソッド

setBufferPoolSizeメソッド

@AroundInvoke，@ExcludeDefaultInterceptors，@ExcludeClassInterceptorsおよび@Interceptorsのパッケージを，javax.interceptorに変更した。

Java Typeによって異なるDDの対応の説明に，type属性としてjavax.xml.ws.Serviceとjavax.jws.WebServiceを追加した。

uCosminexus Application Server Standard，uCosminexus Application Server EnterpriseおよびuCosminexus Web Redirectorの適用OSに，HP-UX（PA-RISC）を追加した。

uCosminexus Application Server Standard，uCosminexus Application Server EnterpriseおよびuCosminexus Web Redirectorの適用OSに，Linux（IPF）を追加した。

uCosminexus Service Platformの適用OSに，AIXを追加した。

はじめに

このマニュアルは，Cosminexus（コズミネクサス）のアプリケーション開発で使用するAPI／タグライブラリについて説明したものです。

Cosminexusでは，次に示すプログラムプロダクトを使用してアプリケーションサーバを構築，運用します。なお，これらのプログラムプロダクトを使用して構築したシステムを，Cosminexusシステムといいます。

P-1J43-7D71　uCosminexus Application Server Standard

P-1J43-7K71　uCosminexus Application Server Enterprise

P-1J43-7M71　uCosminexus Web Redirector

P-1M43-7D71　uCosminexus Application Server Standard

P-1M43-7K71　uCosminexus Application Server Enterprise

P-1M43-7M71　uCosminexus Web Redirector

P-1M43-7S71　uCosminexus Service Platform

P-2443-7D74　uCosminexus Application Server Standard

P-2443-7E74　uCosminexus Developer Standard

P-2443-7F74　uCosminexus Developer Professional

P-2443-7H74　uCosminexus Client

P-2443-7K74　uCosminexus Application Server Enterprise

P-2443-7M74　uCosminexus Web Redirector

P-2443-7S74　uCosminexus Service Platform

P-2443-7T74　uCosminexus Service Architect

P-2443-7U74　uCosminexus Operator

P-9D43-7D71　uCosminexus Application Server Standard

P-9D43-7K71　uCosminexus Application Server Enterprise

P-9D43-7M71　uCosminexus Web Redirector

P-9D43-7S71　uCosminexus Service Platform

P-9S43-7D71　uCosminexus Application Server Standard

P-9S43-7K71　uCosminexus Application Server Enterprise

P-9S43-7M71　uCosminexus Web Redirector

P-9S43-7S71　uCosminexus Service Platform

P-9V43-7D71　uCosminexus Application Server Standard

P-9V43-7K71　uCosminexus Application Server Enterprise

P-9V43-7M71　uCosminexus Web Redirector

このマニュアルでは，これらのプログラムプロダクトの構成ソフトウェアのうち，次に示す構成ソフトウェアの機能で使用するファイルについて説明しています。

Cosminexus Component Container

Cosminexus Component Container - Client

Cosminexus Operator Plug-in

Cosminexus Component Container - Redirector

Cosminexus Component Transaction Monitor

Cosminexus DABroker Library

Cosminexus Developer's Kit for Java

Cosminexus Performance Tracer

Cosminexus TPBroker

なお，オペレーティングシステム（OS）の種類によって，機能が異なる場合があります。OSごとの違いがある場合の表記方法については，「適用OSの違いによる機能相違点の表記」を参照してください。

対象読者

このマニュアルは，Cosminexusが提供するAPIまたはタグライブラリを使用してアプリケーションを開発する方を対象としています。

なお，次の内容を理解されていることを前提としています。

WindowsまたはUNIXの基本操作に関する知識

Javaによるプログラム開発に関する基本的な知識

CORBAに関する基本的な知識

J2EEに関する知識

SQLおよびリレーショナルデータベースに関する基本的な知識

使用するIDEに関する基本的な知識

また，このマニュアルは，マニュアル「Cosminexus　機能解説」を理解していることを前提としていますので，あらかじめお読みいただくことをお勧めします。

マニュアルの構成

このマニュアルは，次に示す章から構成されています。

第1章　APIとタグライブラリの概要

Cosminexusで使用するAPIとタグライブラリの種類，およびこのマニュアルでの記述形式について説明しています。

第2章　統合ユーザ管理フレームワークで使用するAPI

統合ユーザ管理フレームワークで使用するAPIおよび例外クラスについて説明しています。

第3章　統合ユーザ管理フレームワークで使用するタグライブラリ

統合ユーザ管理フレームワークで使用するJSPタグライブラリについて説明しています。

第4章　EJBクライアントアプリケーションで使用するAPI

EJBクライアントアプリケーションで使用するAPIおよび例外クラスについて説明しています。

第5章　ユーザログ機能で使用するAPI

ユーザログ機能で使用するAPIについて説明しています。

第6章　性能解析トレースで使用するAPI

性能解析トレースのルートアプリケーション情報取得機能で使用するAPIについて説明しています。

第7章　監査ログ出力で使用するAPI

J2EEアプリケーションまたはバッチアプリケーションで監査ログを出力する場合に使用するAPIについて説明しています。

第8章　JavaVMで使用するAPI

JavaVMで使用するAPIについて説明しています。

第9章　Cosminexus DABroker Libraryで使用するAPI

Cosminexus DABroker Libraryで使用するJDBCインタフェースおよびAPIについて説明しています。

第10章　Cosminexusが対応しているアノテーションおよびDependency Injection

Cosminexusが対応しているアノテーションおよびDependency Injectionについて説明しています。

第11章　アプリケーション開発時に使用できるプロパティ

アプリケーションを開発するときに使用できるプロパティについて説明しています。

関連マニュアル

Cosminexusのマニュアル体系について，次の図に示します。

マニュアル体系図で示した関連マニュアルについて，それぞれの位置づけを次に示します。

Cosminexus　概説

Cosminexusの製品概要について説明しています。

Cosminexus　機能解説

Cosminexus Component Containerの機能を中心に，uCosminexus Application Serverの概要と提供する機能について説明しています。

Cosminexus　システム設計ガイド

システム設計時に，システムの目的に応じたシステム構成や運用方法を検討するための指針について説明しています。また，チューニングの方法についても説明しています。

Cosminexus　簡易構築・運用ガイド

セットアップウィザードおよびSmart Composer機能を使用して，システムを構築・運用する手順について説明しています。また，セットアップウィザードおよびSmart Composer機能が提供するコマンドやファイルについても説明しています。

Cosminexus　システム構築ガイド

システム構築時に必要な機能の設定方法について説明しています。

Cosminexus　システム運用ガイド

Cosminexusを使用したシステムの運用方法のうち，Smart Composer機能を使用する運用以外の方法について説明しています。

Cosminexus　アプリケーション設定操作ガイド

Cosminexus Component Containerのサーバ管理コマンド，およびServer Plug-inを使用した操作について説明しています。

Cosminexus　運用管理操作ガイド

Cosminexus Component Containerの運用管理ポータルの使用方法について説明しています。

Cosminexus　リファレンス　コマンド編

Cosminexusのシステムを構築・運用するときに使用するコマンドについて説明しています。

Cosminexus　リファレンス　定義編

Cosminexusのシステムを構築・運用するとき，またはアプリケーションを開発するときに，使用するファイルの形式について説明しています。

Cosminexus　メッセージ 1　KAWS／KDAL／KDJE編，Cosminexus　メッセージ 2　KEOS／KEUC／KFCB編，Cosminexus　メッセージ 3　KFCT／KFDB／KFDJ編

Cosminexusで出力されるメッセージについて説明しています。

Hitachi Web Server

Hitachi Web Server（Webサーバ）の構築，管理方法について説明しています。

TPBroker　ユーザーズガイド

Cosminexus TPBrokerの概要，機能，運用方法について説明しています。

Cosminexus Reliable Messaging

Cosminexus RMを使用したメッセージの非同期通信によるアプリケーションの連携方法について説明しています。

Cosminexus　アプリケーション開発ガイド

構築したCosminexusのシステムで動作させる，アプリケーションの開発方法について説明しています。

また，マニュアル体系図に示したマニュアル以外で，このマニュアルと関連するマニュアルを次に示します。必要に応じてお読みください。

スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド（3020-6-356）

スケーラブルデータベースサーバ HiRDB Version 7 UAP開発ガイド（UNIX(R)/Windows(R)用）（3000-6-276）

スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス（3020-6-357）

スケーラブルデータベースサーバ HiRDB Version 7 SQLリファレンス（UNIX(R)/Windows(R)用）（3000-6-277）

なお，このマニュアルでは，次のマニュアルについて，対象OSおよびバージョン番号を省略して表記しています。マニュアルの正式名称とこのマニュアルでの表記を次の表に示します。

正式名称 | このマニュアルでの表記
スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド | HiRDB UAP開発ガイド
スケーラブルデータベースサーバ HiRDB Version 7 UAP開発ガイド（UNIX(R)/Windows(R)用）
スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス | HiRDB SQLリファレンス
スケーラブルデータベースサーバ HiRDB Version 7 SQLリファレンス（UNIX(R)/Windows(R)用）

マニュアル体系の変更について

07-00では，06-70のマニュアル「Cosminexus Version 6　リファレンス（Windows(R)用）（3020-3-E56）」と「Cosminexus Version 6　リファレンス（UNIX(R)用）（3000-3-987）」の内容を3分冊して，マニュアル体系を変更しました。

目次構成の対応は次のようになっています。

06-70のマニュアル | 07-00以降のマニュアル
第1編　コマンド | マニュアル「Cosminexus　リファレンス　コマンド編」へ移動
第2編　ファイル | マニュアル「Cosminexus　リファレンス　定義編」へ移動
第3編　オプション | マニュアル「Cosminexus　リファレンス　定義編」へ移動
第4編　API／タグライブラリ | マニュアル「Cosminexus　リファレンス　API編」へ移動
付録A　ログ出力のデフォルトの設定 | 削除
付録B　TPBrokerの運用支援機能用定義ファイル | 削除
付録C　Naming Manager定義ファイル | 削除
付録D　拡張MIBオブジェクト定義ファイル | マニュアル「Cosminexus　リファレンス　定義編」へ移動
付録E　CMPのマッピング一覧 | 削除
付録F　Webアプリケーション用DD（web.xml） | マニュアル「Cosminexus　リファレンス　定義編」へ移動
付録G　csecanalyzコマンドによるシステムのセキュリティ設定のチェック内容 | 削除
付録H　dabsetup（Cosminexus DABroker Libraryのセットアップ）※ | マニュアル「Cosminexus　リファレンス　コマンド編」へ移動

注※

マニュアル「Cosminexus Version 6　リファレンス（UNIX(R)用）」だけにある目次項目です。

ご利用製品ごとの用語の読み替えについて

ご利用の製品によっては，マニュアルで使用している用語を，ご利用の製品名に読み替える必要があります。

次の表に従って，マニュアルで使用している用語をご利用の製品名に読み替えてください。

ご利用の製品名 | マニュアルで使用している用語
uCosminexus Developer Professional※1 | Application ServerおよびApplication Server Enterprise
uCosminexus Developer Standard※1※2 | Application Server
uCosminexus Service Architect※1 | Application ServerおよびApplication Server Enterprise
uCosminexus Service Platform

注※1　テスト環境で使用している場合にだけ読み替えが必要です。

注※2　uCosminexus Developer StandardとApplication Serverには一部機能差があります。機能差については，マニュアル「Cosminexus　アプリケーション開発ガイド」のDeveloper Standard使用時の注意事項に関する説明を参照してください。

このマニュアルでの表記

このマニュアルで使用する表記と，対応する製品名を次に示します。

表記 | 製品名
Application Server | Application Server Enterprise | uCosminexus Application Server Enterprise
Application Server Standard | uCosminexus Application Server Standard
Developer | Developer Professional | uCosminexus Developer Professional
Developer Standard | uCosminexus Developer Standard
HiRDBまたはHiRDBサーバ | HiRDB/Parallel Server | HiRDB/Parallel Server Version 7
HiRDB/Parallel Server Version 8
HiRDB/Single Server | HiRDB/Single Server Version 7
HiRDB/Single Server Version 8
HiRDB Run TimeまたはHiRDBクライアント | HiRDB/Run Time Version 7
HiRDB/Run Time Version 8
IPF | Itanium(R) Processor Family
Oracle | Oracle9i | Oracle9i
Oracle9i R2
Oracle10g | Oracle 10g
Oracle 10g R2
SQL Server | SQL Server 2000 | Microsoft(R) SQL Server(TM) 2000
SQL Server 2005 | Microsoft(R) SQL Server(TM) 2005
SQL ServerのJDBCドライバ | SQL Server 2000 Driver for JDBC | Microsoft(R) SQL Server(TM) 2000 Driver for JDBC
SQL Server 2005 JDBC Driver | Microsoft(R) SQL Server(TM) 2005 JDBC Driver
UNIX | AIX | AIX 5L V5.2
AIX 5L V5.3
HP-UX | HP-UX（IPF） | HP-UX 11i V2（IPF）
HP-UX 11i V3（IPF）
Linux | Linux（IPF） | Red Hat Enterprise Linux AS 3（IPF）
Red Hat Enterprise Linux AS 4（IPF）
Red Hat Enterprise Linux 5 Advanced Platform（Intel Itanium）
Linux（x86／AMD64 & Intel EM64T） | Red Hat Enterprise Linux AS 3（x86）
Red Hat Enterprise Linux AS 4（x86）
Red Hat Enterprise Linux 5 Advanced Platform（x86）
Red Hat Enterprise Linux ES 3（x86）
Red Hat Enterprise Linux ES 4（x86）
Red Hat Enterprise Linux 5（x86）
Red Hat Enterprise Linux AS 3（AMD64 & Intel EM64T）
Red Hat Enterprise Linux AS 4（AMD64 & Intel EM64T）
Red Hat Enterprise Linux 5 Advanced Platform（AMD/Intel 64）
Red Hat Enterprise Linux ES 3（AMD64 & Intel EM64T）
Red Hat Enterprise Linux ES 4（AMD64 & Intel EM64T）
Red Hat Enterprise Linux 5（AMD/Intel 64）
Solaris | Solaris 9
Solaris 10
Web Redirector | uCosminexus Web Redirector
Windows Server 2003 | Windows Server 2003 Enterprise Edition | Microsoft(R) Windows Server(R) 2003，Enterprise Edition Operating System（x86）
Windows Server 2003 Standard Edition | Microsoft(R) Windows Server(R) 2003，Standard Edition Operating System（x86）
Windows Server 2003 R2 | Windows Server 2003 R2 Enterprise Edition | Microsoft(R) Windows Server(R) 2003 R2，Enterprise Edition Operating System（x86）
Windows Server 2003 R2 Standard Edition | Microsoft(R) Windows Server(R) 2003 R2，Standard Edition Operating System（x86）
Windows Server 2003（x64） | Windows Server 2003 Enterprise x64 Edition | Microsoft(R) Windows Server(R) 2003，Enterprise x64 Edition Operating System
Windows Server 2003 Standard x64 Edition | Microsoft(R) Windows Server(R) 2003，Standard x64 Edition Operating System
Windows Server 2003 R2（x64） | Windows Server 2003 R2 Enterprise x64 Edition | Microsoft(R) Windows Server(R) 2003 R2，Enterprise x64 Edition Operating System
Windows Server 2003 R2 Standard x64 Edition | Microsoft(R) Windows Server(R) 2003 R2，Standard x64 Edition Operating System
Windows Vista | Windows Vista Business | Microsoft(R) Windows Vista(R) Business
Windows Vista Enterprise | Microsoft(R) Windows Vista(R) Enterprise
Windows Vista Ultimate | Microsoft(R) Windows Vista(R) Ultimate
Windows XP | Microsoft(R) Windows(R) XP Professional Operating System
XDM/RD E2 | VOS3 XDM/RD E2

なお，Windows Server 2003，Windows Server 2003 R2，Windows Server 2003（x64），Windows Server 2003 R2（x64），Windows Vista，およびWindows XPを総称してWindowsと表記することがあります。

このマニュアルで使用している表記と，対応するCosminexusの機能名を次に示します。

表記 | Cosminexusの機能名
Cosminexus Developer's Kit for Java | Cosminexus Developer's Kit for JavaTM
Cosminexus RM | Cosminexus Reliable Messaging
CTM | Cosminexus Component Transaction Monitor
DB Connector for Cosminexus RM | DB Connector for Cosminexus Reliable Messaging
Management Server | Cosminexus Management Server
PRF | Cosminexus Performance Tracer
Server Plug-in | Cosminexus Server Plug-in
Smart Composer | Cosminexus Smart Composer

このマニュアルで使用している表記と，対応するJava関連用語を次に示します。

表記 | Java関連用語
DI | Dependency Injection
EAR | Enterprise ARchive
EJBまたはEnterprise JavaBeans | Enterprise JavaBeansTM
EJB QL | EJBTM Query Language
J2EEまたはJava 2 Platform, Enterprise Edition | JavaTM 2 Platform, Enterprise Edition
J2SE | JavaTM 2 Platform, Standard Edition
JAAS | JavaTM Authentication and Authorization Service
JAR | JavaTM Archive
Java | JavaTM
Java 2 Runtime Environment, Standard Edition | JavaTM 2 Runtime Environment, Standard Edition
Java 2 SDK, Standard Edition | JavaTM 2 Software Development Kit, Standard Edition
JavaBeans | JavaBeansTM
JavaMail | JavaMailTM
JAXP | JavaTM API for XML Processing
JCA | J2EETM Connector Architecture
JCE | JavaTM Cryptography Extension
JDBC | JDBCTM
JavaTM Database Connectivity
JDK | JavaTM Development Kit
JNDI | Java Naming and Directory InterfaceTM
JNI | JavaTM Native Interface
JSF | JavaServerTM Faces Reference Implementation (RI) Version: 1.1_01 FCS
JSP | JavaServer PagesTM
JTA | JavaTM Transaction API
JTS | JavaTM Transaction Service
Servletまたはサーブレット | JavaTM Servlet
WAR | Web ARchive

適用OSの違いによる機能相違点の表記

このマニュアルは，適用OSがWindows，AIX，HP-UX，Linux，およびSolarisの製品に対応します。OSによって記述を書き分ける場合，次に示す表記を使用して，それぞれの説明にOS名を明記しています。

表記 | 意味
Windowsの場合 | Windowsに該当する表記です。
AIXの場合 | AIXに該当する表記です。
HP-UXの場合 | HP-UXに該当する表記です。
Linuxの場合 | Linuxに該当する表記です。
Solarisの場合 | Solarisに該当する表記です。
UNIXの場合 | UNIX（AIX，HP-UX，Linux，Solaris）に該当する表記です。

このマニュアルで使用している略語

このマニュアルで使用している英略語を次に示します。

英略語 | 英字での表記
API | Application Programming Interface
ASCII | American Standard Code for Information Interchange
BMP | Bean-Managed Persistence
BMT | Bean-Managed Transaction
CA | Certification Authority
CMP | Container-Managed Persistence
CMR | Container-Managed Relationship
CMT | Container-Managed Transaction
CORBA | Common Object Request Broker Architecture
CPU | Central Processing Unit
CR | Carriage Return
CRL | Certificate Revocation List
CSR | Certificate Signing Request
CSV | Comma Separated Value
CUI | Character User Interface
DB | Database
DBMS | Database Management System
DD | Deployment Descriptor
DIT | Directory Information Tree
DMZ | Demilitarized Zone
DN | Distinguished Name
DNS | Domain Name System
DoS | Denial of Service attack
DTD | Document Type Definition
EIS | Enterprise Information System
EJB QL | EJB Query Language
EUC | Extended UNIX Code
FF | Form Feed
GC | Garbage Collection
GUI | Graphical User Interface
HTML | Hyper Text Markup Language
HTTP | Hyper Text Transfer Protocol
HTTPS | Hyper Text Transfer Protocol Security
IDE | Integrated Development Environment
IIOP | Internet Inter-Orb Protocol
ISAPI | Internet Server Application Programming Interface
ISO | International Organization for Standardization
JAR | Java Archive
JDBC | Java Database Connectivity
JIS | Japanese Industrial Standards
LAN | Local Area Network
LDAP | Lightweight Directory Access Protocol
LDIF | LDAP Data Interchange Format
LF | Line Feed
MDA | Model Driven Architecture
MIB | Management Information Base
OID | Object Identifier
OMG | Object Management Group
ORB | Object Request Broker
OS | Operating System
OTS | Object Transaction Service
PIM | Platform Independent Model
POA | Portable Object Adapter
PSM | Platform Specific Model
RAC | Real Application Clusters
RDB | Relational Database
RMI | Remote Method Invocation
RPC | Remote Procedure Call
SFO | Session Fail Over
SHA | Secure Hash Algorithm
SOA | Service Oriented Architecture
SOAP | Simple Object Access Protocol
SPI | Service Provider Interface
SPP | Service Providing Program
SSL | Secure Sockets Layer
TCS | Transaction Context Server
UDDI | Universal Description, Discovery and Integration
UML | Unified Modeling Language
UNC | Universal Naming Convention
URI | Uniform Resource Identifier
URL | Uniform Resource Locator
UTC | Universal Time Coordinated
UTF | UCS Transformation Format
VM | Virtual Machine
WSDL | Web Service Description Language
XML | Extensible Markup Language

このマニュアルで使用している記号

このマニュアルで使用する記号について次に示します。

記号
意　味

　｜
横に並べられた複数の項目に対する項目間の区切りを示し，「または」を意味します。
（例）　A｜B
　AまたはBを指定することを示します。

{ 　 }
この記号で囲まれている複数の項目のうちから一つを選択することを示します。項目が横に並べられ，記号｜で区切られている場合は，そのうちの一つを選択します。
（例）　｛A｜B｜C｝
　A，BまたはCのどれかを指定することを示します。

［　］
この記号で囲まれている項目は省略してもよいことを示します。複数の項目が横に並べて記述されている場合には，すべてを省略するか，記号｛ ｝と同じくどれか一つを選択します。
（例１）　［A］
　「何も指定しない」か「Aを指定する」ことを示します。
（例２）　［B｜C］
　「何も指定しない」か「BまたはCを指定する」ことを示します。

…
記述が省略されていることを示します。
（例）　ABC…
　ABCの後ろに記述があり，その記述が省略されていることを示します。

<　>
この記号で囲まれている項目は，該当する要素を指定することを示します。
（例）　<プロパティ>
　プロパティを記述します。

　...
この記号の直前に示す記号を繰り返し，複数個指定できることを示します。
（例）　<プロパティ>...
　プロパティは複数個，繰り返して指定できます。

このマニュアルで使用している構文要素

このマニュアルで使用する構文要素の種類を次に示します。

種類 | 定義
英字 | A～Z　a～z
英小文字 | a～z
英大文字 | A～Z
数字 | 0～9
英数字 | A～Z　a～z　0～9
記号 | !　"　#　$　%　&　'　(　)　+　,　_　・　.　/　:　;　<　=　>　@　[　]　^　－　｛　｝　￣　タブ　空白

注　すべて半角文字を使用してください。

常用漢字以外の漢字の使用について

このマニュアルでは，常用漢字を使用することを基本としていますが，次に示す用語については，常用漢字以外の漢字を使用しています。

鍵（かぎ）　個所（かしょ）　必須（ひっす）

KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）は，それぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

1.　APIとタグライブラリの概要

この章では，Cosminexusで使用するAPIとタグライブラリの種類，およびこのマニュアルでの記述形式について説明します。

＜この章の構成＞

1.1　APIとタグライブラリの種類

1.2　APIの記述形式

1.3　タグライブラリの記述形式

1.1　APIとタグライブラリの種類

Cosminexusで使用するAPIとタグライブラリの種類について説明します。

このマニュアルでは，アプリケーションごとに使用できるAPIとタグライブラリを二つに分類して説明します。

J2EEアプリケーションで使用できるAPIとタグライブラリ

バッチアプリケーションまたはEJBクライアントアプリケーションで使用できるAPI

J2EEアプリケーションで使用できるAPIとタグライブラリを次の表に示します。

表1-1　J2EEアプリケーションで使用できるAPI

APIとタグライブラリの種類 | APIとタグライブラリの説明 | 参照先
統合ユーザ管理フレームワークで使用するAPI | 統合ユーザ管理機能を使用する場合に，ユーザ認証を実装するために使用する，統合ユーザ管理フレームワークのライブラリです。 | 2章
統合ユーザ管理フレームワークで使用するタグライブラリ | 統合ユーザ管理機能を使用する場合に，ユーザ認証を実装するために使用する，統合ユーザ管理フレームワークのJSPタグライブラリです。 | 3章
EJBクライアントアプリケーションで使用するAPI | EJBクライアントのセキュリティや通信タイムアウトなどを設定するためのAPIです。 | 4章
ユーザログ機能で使用するAPI | J2EEアプリケーションが出力するログ（ユーザログ）を日立トレース共通ライブラリ形式で出力する場合に，ユーザログ出力を実装するためのAPIです。 | 5章
性能解析トレースで使用するAPI | 性能解析トレースでCosminexusシステムの処理性能を解析する場合に，ルートアプリケーション情報を文字列表現で取得するためのAPIです。 | 6章
監査ログ出力で使用するAPI | J2EEアプリケーションで監査ログを出力するためのAPIです。 | 7章
JavaVMで使用するAPI | Javaプログラムから直接ガーベージコレクションのメモリ情報を取得するためのAPIです。 | 8章
Cosminexus DABroker Libraryで使用するAPI | Cosminexus DABroker Libraryを使用してデータベースに接続する場合に，データベースの情報などを設定するためのAPIです。 | 9章

なお，APIとタグライブラリのほかに，アノテーションとDependency Injectionも使用できます。アノテーションとDependency Injectionについては，「10.　Cosminexusが対応しているアノテーションおよびDependency Injection」を参照してください。

バッチアプリケーションまたはEJBクライアントアプリケーションで使用できるAPIを次の表に示します。

表1-2　バッチアプリケーションまたはEJBクライアントアプリケーションで使用できるAPI

APIとタグライブラリの種類 | APIとタグライブラリの説明 | 参照先
EJBクライアントアプリケーションで使用するAPI | EJBクライアントアプリケーションのセキュリティや通信タイムアウトなどを設定するためのAPIです。 | 4章
ユーザログ機能で使用するAPI | バッチアプリケーションまたはEJBクライアントアプリケーションが出力するログ（ユーザログ）を日立トレース共通ライブラリ形式で出力する場合に，ユーザログ出力を実装するためのAPIです。 | 5章
性能解析トレースで使用するAPI | 性能解析トレースでCosminexusシステムの処理性能を解析する場合に，ルートアプリケーション情報を文字列表現で取得するためのAPIです。 | 6章
監査ログ出力で使用するAPI | バッチアプリケーションまたはEJBクライアントアプリケーションで監査ログを出力するためのAPIです。 | 7章
JavaVMで使用するAPI | Javaプログラムから直接ガーベージコレクションのメモリ情報を取得するためのAPIです。 | 8章
Cosminexus DABroker Libraryで使用するAPI | Cosminexus DABroker Libraryを使用してデータベースに接続する場合に，データベースの情報などを設定するためのAPIです。 | 9章

参考

サーブレットエンジンモードで使用するAPIの種類を次に示します。

統合ユーザ管理フレームワークで使用するAPI

統合ユーザ管理フレームワークで使用するタグライブラリ

ユーザログ機能で使用するAPI

性能解析トレースで使用するAPI

JavaVMで使用するAPI

Cosminexus DABroker Libraryで使用するAPI

1.2　APIの記述形式

2章，および4章から9章では，APIについて次の形式で説明します。なお，各APIは，アルファベットの順に説明します。

説明

APIの機能について説明します。

形式

APIの記述形式を示します。

パラメタ

APIのパラメタについて説明します。

例外

APIを利用する際に発生する例外について説明します。

戻り値

APIの戻り値について説明しています。

注意事項

APIを利用する上での注意事項について説明します。

1.3　タグライブラリの記述形式

3章では，タグライブラリについて次の形式で説明します。なお，各タグライブラリは，アルファベットの順に説明します。

説明

タグライブラリの機能について説明します。

タグ属性

タグライブラリの属性について，表で説明します。

2.　統合ユーザ管理フレームワークで使用するAPI

この章では，統合ユーザ管理フレームワークで使用するAPIおよび例外クラスについて説明します。

＜この章の構成＞

2.1　統合ユーザ管理フレームワークで使用するAPIの一覧

2.2　AttributeEntryクラス

2.3　ChangeDataFailedExceptionクラス

2.4　DelegationLoginModuleクラス

2.5　LdapSSODataManagerクラス

2.6　LdapUserDataManagerクラス

2.7　LdapUserEnumerationインタフェース

2.8　LoginUtilクラス

2.9　ObjectClassEntryクラス

2.10　PasswordCryptographyインタフェース

2.11　PasswordUtilクラス

2.12　Principalインタフェース

2.13　SSODataクラス

2.14　SSODataEventクラス

2.15　SSODataListenerインタフェース

2.16　SSODataListenerExceptionクラス

2.17　UserAttributesインタフェース

2.18　UserDataクラス

2.19　WebCertificateCallbackクラス

2.20　WebCertificateHandlerクラス

2.21　WebCertificateLoginModuleクラス

2.22　WebLogoutCallbackクラス

2.23　WebLogoutHandlerクラス

2.24　WebPasswordCallbackクラス

2.25　WebPasswordHandlerクラス

2.26　WebPasswordJDBCLoginModuleクラス

2.27　WebPasswordLDAPLoginModuleクラス

2.28　WebPasswordLoginModuleクラス

2.29　WebSSOCallbackクラス

2.30　WebSSOHandlerクラス

2.31　WebSSOLoginModuleクラス

2.32　例外クラス

2.1　統合ユーザ管理フレームワークで使用するAPIの一覧

統合ユーザ管理フレームワークのライブラリを利用してユーザ認証を実装する場合に使用するAPIおよび例外クラスの一覧を次の表に示します。

表2-1　統合ユーザ管理フレームワークで使用するAPIおよび例外クラスの一覧

クラス・インタフェース名 | 機能 | APIの種別
AttributeEntryクラス | 属性名とAliasを対で管理します。 | ユーザ認証ライブラリ
ChangeDataFailedExceptionクラス | SSODataListenerインタフェースの実装クラスが呼び出す例外クラスです。 | シングルサインオンライブラリ（例外クラス）
DelegationLoginModuleクラス | JAASのログインモジュールの実装クラスです。カスタムログインモジュールを呼び出します。 | Cosminexus標準ログインモジュール
LdapSSODataManagerクラス | LDAPディレクトリサーバのシングルサインオン情報リポジトリの情報を参照または更新します。 | シングルサインオンライブラリ
LdapUserDataManagerクラス | LDAPディレクトリサーバの，ユーザ情報リポジトリの情報を参照または更新します。 | ユーザ認証ライブラリ
LdapUserEnumerationインタフェース | ユーザIDの一覧を参照します。 | ユーザ認証ライブラリ
LoginUtilクラス | 統合ユーザ管理のセッション内でログインしているユーザの有無を調べます。 | ユーザ認証ライブラリ
ObjectClassEntryクラス | LDAPディレクトリサーバのエントリのオブジェクトクラスを格納します。 | ユーザ認証ライブラリ
PasswordCryptographyインタフェース | ユーザが入力したパスワードを暗号化します。 | ユーザ認証ライブラリ
PasswordUtilクラス | ユーザが入力したパスワードを変更します。 | ユーザ認証ライブラリ
Principalインタフェース | WebPasswordLoginModuleが認証したときのユーザIDを参照します。 | ユーザ認証ライブラリ
SSODataクラス | シングルサインオン用認証情報を格納します。 | シングルサインオンライブラリ
SSODataEventクラス | シングルサインオン用認証情報の更新内容を格納します。 | シングルサインオンライブラリ
SSODataListenerインタフェース | シングルサインオン用認証情報の更新を通知します。 | シングルサインオンライブラリ
SSODataListenerExceptionクラス | シングルサインオン用認証情報リスナクラスで例外が発生した場合に呼び出される例外クラスです。 | シングルサインオンライブラリ（例外クラス）
UserAttributesインタフェース | WebPasswordLoginModuleが認証したときに作成したCredentialを参照します。 | ユーザ認証ライブラリ
UserDataクラス | ユーザ情報を格納します。 | ユーザ認証ライブラリ
WebCertificateCallbackクラス | JAASのCallbackの実装クラスです。WebサーバのSSL認証した結果の情報を格納します。 | ユーザ認証ライブラリ
WebCertificateHandlerクラス | JAASのCallbackHandlerの実装クラスです。WebサーバのSSL認証した結果で必要な情報を読み込みます。 | ユーザ認証ライブラリ
WebCertificateLoginModuleクラス | JAASのログインモジュールの実装クラスです。Webサーバで認証された証明書からユーザ属性を求めます。 | Cosminexus標準ログインモジュール
WebLogoutCallbackクラス | JAASのCallbackの実装クラスです。ログアウトするユーザを格納します。 | ユーザ認証ライブラリ
WebLogoutHandlerクラス | JAASのCallbackHandlerの実装クラスです。ログアウトに必要なユーザを読み込みます。 | ユーザ認証ライブラリ
WebPasswordCallbackクラス | JAASのCallbackの実装クラスです。パスワードなどの認証情報を格納します。 | ユーザ認証ライブラリ
WebPasswordHandlerクラス | JAASのCallbackHandlerの実装クラスです。パスワード認証に必要な情報を読み込みます。 | ユーザ認証ライブラリ
WebPasswordJDBCLoginModuleクラス | JAASのログインモジュールの実装クラスです。JDBCを使ってデータベースにアクセスし，パスワード認証をします。 | Cosminexus標準ログインモジュール
WebPasswordLDAPLoginModuleクラス | JAASのログインモジュールの実装クラスです。LDAPディレクトリサーバにバインドした結果で認証をします。 | Cosminexus標準ログインモジュール
WebPasswordLoginModuleクラス | JAASのログインモジュールの実装クラスです。Webアプリケーションのためのパスワード認証をします。 | Cosminexus標準ログインモジュール
WebSSOCallbackクラス | シングルサインオンライブラリが提供するJAASのCallbackの実装クラスです。WebSSOLoginModuleで必要な情報を知るために使用します。 | シングルサインオンライブラリ
WebSSOHandlerクラス | シングルサインオンライブラリが提供するJAASのCallbackHandlerの実装クラスです。WebSSOLoginModuleで必要な情報を読み込みます。 | シングルサインオンライブラリ
WebSSOLoginModuleクラス | JAASのログインモジュールの実装クラスです。シングルサインオンをするためにほかのログインモジュールを呼び出します。 | Cosminexus標準ログインモジュール
例外クラス | 統合ユーザ管理で使用するAPIの例外クラスです。 | 例外クラス

2.2　AttributeEntryクラス

説明

ユーザ管理リポジトリから取得する属性の属性名，別名（Alias），およびユーザ管理コンテキストからのサブコンテキストのタプルを表すクラスです。ユーザ認証後，指定した属性はSubjectのPublic Credentialに別名で関連づけられます。別名を指定しなかった場合は，属性名で関連づけられます。

AttributeEntryクラスのパッケージ名は，com.cosminexus.admin.authです。

形式

class AttributeEntry
{
public AttributeEntry(String attr,
                     String alias,
                     String subcontext);
public AttributeEntry(String attr,
                     String alias);
public AttributeEntry(String attr);
public AttributeEntry();

public String getAlias();
public String getAttributeName();
public String getSubcontext();
public void setAlias(String alias);
public void setAttributeName(String attr);
public void setSubcontext(String subcontext);
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
AttributeEntryコンストラクタ | AttributeEntryクラスのインスタンスを生成します。
getAliasメソッド | setAliasメソッドまたはコンストラクタで指定した別名を取得します。
getAttributeNameメソッド | setAttributeNameメソッドまたはコンストラクタで指定した属性名を取得します。
getSubcontextメソッド | setSubcontextメソッドまたはコンストラクタで指定したサブコンテキストを取得します。
setAliasメソッド | パラメタに指定された別名をオブジェクトに保管します。
setAttributeNameメソッド | パラメタに指定された属性名をオブジェクトに保管します。
setSubcontextメソッド | パラメタに指定されたサブコンテキストをオブジェクトに保管します。

＜この節の構成＞

AttributeEntryコンストラクタ

getAliasメソッド

getAttributeNameメソッド

getSubcontextメソッド

setAliasメソッド

setAttributeNameメソッド

setSubcontextメソッド

AttributeEntryコンストラクタ

説明

AttributeEntryクラスのインスタンスを作るためのコンストラクタです。

形式

public AttributeEntry(String attr,
                     String alias,
                     String subcontext);

public AttributeEntry(String attr,
                     String alias);

public AttributeEntry(String attr);

public AttributeEntry();

パラメタ

attr：

リポジトリに格納されている属性名を指定します。

alias：

属性名に対応する別名（Alias）を指定します。

subcontext：

サブコンテキストを指定します。

例外

なし

getAliasメソッド

説明

setAliasメソッドまたはコンストラクタで指定した内容を取得します。値を保管していないときにgetAliasメソッドを呼び出すとnullが返却されます。

形式

public String getAlias();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getAttributeNameメソッド

説明

setAttributeNameメソッドまたはコンストラクタで指定した内容を取得します。値を保管していないときにgetAttributeNameメソッドを呼び出すとnullが返却されます。

形式

public String getAttributeName();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getSubcontextメソッド

説明

setSubcontextメソッドまたはコンストラクタで指定した内容を取得します。値を保管していないときにgetSubcontextメソッドを呼び出すとnullが返却されます。

形式

public String getSubcontext();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

setAliasメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合にsetAliasメソッドを呼び出したときは上書きされます。

形式

public void setAlias(String alias);

パラメタ

alias：

属性名に対応する別名（Alias）を指定します。

例外

なし

戻り値

なし

setAttributeNameメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合にsetAttributeNameメソッドを呼び出したときは上書きされます。

形式

public void setAttributeName(String attr);

パラメタ

attr：

属性名を指定します。

例外

なし

戻り値

なし

setSubcontextメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合にsetSubcontextメソッドを呼び出したときは上書きされます。

形式

public void setSubcontext(String subcontext);

パラメタ

subcontext：

サブコンテキストを指定します。

例外

なし

戻り値

なし

2.3　ChangeDataFailedExceptionクラス

説明

SSODataListenerインタフェースの実装クラスが，データの追加，修正，または削除に失敗したときに呼び出す例外クラスです。

ChangeDataFailedExceptionクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.eventです。

形式

class ChangeDataFailedException extends UAException
{
public ChangeDataFailedException();
public ChangeDataFailedException(String msg);
}

コンストラクタ一覧

コンストラクタ名 | 機能
ChangeDataFailedExceptionコンストラクタ | ChangeDataFailedExceptionクラスのインスタンスを生成します。

＜この節の構成＞

ChangeDataFailedExceptionコンストラクタ

ChangeDataFailedExceptionコンストラクタ

説明

パラメタに指定されたエラーメッセージを使用してインスタンスを生成します。

形式

public ChangeDataFailedException();

public ChangeDataFailedException(String msg);

パラメタ

msg：

エラーメッセージを指定します。

例外

なし

2.4　DelegationLoginModuleクラス

説明

ユーザ認証ライブラリが提供するJAASのログインモジュールの実装クラスです。カスタムログインモジュールを呼び出します。

パッケージ名はcom.cosminexus.admin.auth.loginです。

2.5　LdapSSODataManagerクラス

説明

LDAPディレクトリサーバのシングルサインオン情報リポジトリに格納されている情報を参照または更新するクラスです。

LdapSSODataManagerクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.ldapです。

形式

class LdapSSODataManager
{
 public LdapSSODataManager(String realm);

 public LdapUserEnumeration listUsers()
   throws NamingException;
 public LdapUserEnumeration listUsers(String uid)
   throws NamingException;
 public SSOData getSSOData(String uid)
   throws NamingException;
 public void addSSOData(String uid,
                        SSOData ssoData)
   throws SSODataListenerException, NamingException,
   CryptoException, UnsatisfiedLinkError, SecurityException;
 public void removeSSOData(String uid)
   throws SSODataListenerException, NamingException,
   CryptoException, UnsatisfiedLinkError, SecurityException;
 public void modifySSOData(String uid,
                           SSOData ssoData)
   throws SSODataListenerException, NamingException,
   CryptoException, UnsatisfiedLinkError, SecurityException;
 public SSODataListener[] getSSODataListeners();
 public void addSSODataListener(SSODataListener listener);
 public void removeSSODataListener(SSODataListener listener);
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
LdapSSODataManagerコンストラクタ | LdapSSODataManagerクラスのインスタンスを生成します。
addSSODataメソッド | シングルサインオン用認証情報を追加します。
addSSODataListenerメソッド | シングルサインオン用認証情報リスナを登録します。
getSSODataメソッド | シングルサインオン用認証情報を取得します。
getSSODataListenersメソッド | SSODataListenerオブジェクトの配列を取得します。
listUsersメソッド（形式1） | すべてのユーザIDの一覧を取得します。
listUsersメソッド（形式2） | ユーザIDの一覧を取得します。
modifySSODataメソッド | シングルサインオン用認証情報を修正します。
removeSSODataメソッド | シングルサインオン用認証情報を削除します。
removeSSODataListenerメソッド | SSODataListenerオブジェクトを削除します。

＜この節の構成＞

LdapSSODataManagerコンストラクタ

addSSODataメソッド

addSSODataListenerメソッド

getSSODataメソッド

getSSODataListenersメソッド

listUsersメソッド（形式1）

listUsersメソッド（形式2）

modifySSODataメソッド

removeSSODataメソッド

removeSSODataListenerメソッド

LdapSSODataManagerコンストラクタ

説明

インスタンスを生成します。

形式

public LdapSSODataManager(String realm);

パラメタ

realm：

生成したインスタンスがアクセス対象にするレルム名を指定します。

例外

なし

addSSODataメソッド

説明

指定したユーザのシングルサインオン用認証情報を追加します。指定したユーザのシングルサインオン用認証情報がすでにある場合は，例外が発生します。

このオブジェクトに登録されているすべてのシングルサインオン用認証情報リスナのssoDataAddedメソッドが呼び出されます。

形式

public void addSSOData(String uid,
                      SSOData ssoData)
 throws SSODataListenerException, NamingException,
 CryptoException, UnsatisfiedLinkError, SecurityException;

パラメタ

uid：

ユーザIDを指定します。

ssoData：

シングルサインオン用認証情報を格納したSSODataオブジェクトを指定します。

例外

com.cosminexus.admin.auth.api.repository.event.SSODataListenerException：

他システムの認証情報更新に失敗しました。

com.cosminexus.admin.auth.CryptoException：

暗号鍵ファイルの読み込みに失敗しました。または，誤った暗号鍵ファイルを使用したためSecretDataの復号化に失敗しました。

java.lang.UnsatisfiedLinkError：

シングルサインオンライブラリの読み込みに失敗しました。

java.lang.SecurityException：

SecurityManagerが存在し，SecurityManagerのcheckReadメソッドでファイルへの読み込みアクセスが拒否されました。

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameAlreadyBoundException：

指定したユーザのシングルサインオン用認証情報がすでにあります。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

なし

addSSODataListenerメソッド

説明

シングルサインオン用認証情報を追加，修正，または削除したとき，他システムに変更を通知するためのシングルサインオン用認証情報リスナをこのオブジェクトに登録します。

形式

public void addSSODataListener(SSODataListener listener);

パラメタ

listener：

SSODataListenerオブジェクトを指定します。nullを指定した場合は何もしません。

例外

なし

戻り値

なし

getSSODataメソッド

説明

シングルサインオン用認証情報を取得します。

形式

public SSOData getSSOData(String uid)
 throws NamingException;

パラメタ

uid：

ユーザIDを指定します。

例外

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameNotFoundException：

指定したユーザIDがありません。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

シングルサインオン用認証情報を格納したSSODataオブジェクトを返却します。

getSSODataListenersメソッド

説明

このオブジェクトに登録されているSSODataListenerオブジェクトの配列を取得します。登録されていない場合は大きさ0の配列を返却します。

形式

public SSODataListener[] getSSODataListeners();

パラメタ

なし

例外

なし

戻り値

このオブジェクトに登録されているSSODataListenerオブジェクトの配列を返却します。

listUsersメソッド（形式1）

説明

すべてのユーザIDの一覧を取得します。addSSODataメソッドまたはremoveSSODataメソッドを呼び出した場合，以前に返却されたLdapUserEnumerationオブジェクトにその結果が反映されるかどうかは不定です。

形式

public LdapUserEnumeration listUsers()
 throws NamingException;

パラメタ

なし

例外

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

ユーザIDの一覧を格納したLdapUserEnumerationオブジェクトを返却します。

listUsersメソッド（形式2）

説明

ユーザIDの一覧を取得します。addSSODataメソッドまたはremoveSSODataメソッドを呼び出した場合，以前に返却されたLdapUserEnumerationオブジェクトにその結果が反映されるかどうかは不定です。

形式

public LdapUserEnumeration listUsers(String uid)
 throws NamingException;

パラメタ

uid：

ユーザIDを指定します。ユーザIDにはワイルドカード（*）を含めることができます。このパラメタを省略した場合やnullを指定した場合は，すべてのユーザIDの一覧を取得します。

例外

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

ユーザIDの一覧を格納したLdapUserEnumerationオブジェクトを返却します。

modifySSODataメソッド

説明

シングルサインオン用認証情報を修正します。指定したユーザがない場合は例外が発生します。

このオブジェクトに登録されているすべてのシングルサインオン用認証情報リスナのssoDataModifiedメソッドが呼び出されます。

このメソッドでは，SSODataオブジェクトの生成後，変更された認証情報だけが既存のものに上書きされます。

例えば，リポジトリの既存のシングルサインオン用認証情報が次に示す要素を持っていたとします。

認証情報名 | SecretData | PublicData | マッピング
レルム | ユーザID
値 | secret | public | RealmA | user1
RealmB | admin

このとき，次のコードで生成したSSODataオブジェクトをこのメソッドのパラメタに指定します。

SSOData data = new SSOData();
data.setMapping("RealmA", "user2");

すると，リポジトリのシングルサインオン用認証情報は次のように変更されます。

認証情報名 | SecretData | PublicData | マッピング
レルム | ユーザID
値 | secret | public | RealmA | user2
－ | － | － | －

（凡例）－：情報がないことを示します。

形式

public void modifySSOData(String uid,
                         SSOData ssoData)
 throws SSODataListenerException, NamingException,
 CryptoException, UnsatisfiedLinkError, SecurityException;

パラメタ

uid：

ユーザIDを指定します。

ssoData：

シングルサインオン用認証情報を格納したSSODataオブジェクトを指定します。

例外

com.cosminexus.admin.auth.api.repository.event.SSODataListenerException：

他システムの認証情報更新に失敗しました。

com.cosminexus.admin.auth.CryptoException：

暗号鍵ファイルの読み込みに失敗しました。または，誤った暗号鍵ファイルを使用したためSecretDataの復号化に失敗しました。

java.lang.UnsatisfiedLinkError：

シングルサインオンライブラリの読み込みに失敗しました。

java.lang.SecurityException：

SecurityManagerが存在し，SecurityManagerのcheckReadメソッドでファイルへの読み込みアクセスが拒否されました。

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameNotFoundException：

指定したユーザIDがありません。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

なし

removeSSODataメソッド

説明

シングルサインオン用認証情報を削除します。指定したユーザがない場合は例外が発生します。

このオブジェクトに登録されているすべてのシングルサインオン用認証情報リスナのssoDataRemovedメソッドが呼び出されます。

形式

public void removeSSOData(String uid)
 throws SSODataListenerException, NamingException,
 CryptoException, UnsatisfiedLinkError, SecurityException;

パラメタ

uid：

ユーザIDを指定します。

例外

com.cosminexus.admin.auth.api.repository.event.SSODataListenerException：

他システムの認証情報更新に失敗しました。

com.cosminexus.admin.auth.CryptoException：

暗号鍵ファイルの読み込みに失敗しました。または誤った暗号鍵ファイルを使用したためSecretDataの復号化に失敗しました。

java.lang.UnsatisfiedLinkError：

シングルサインオンライブラリの読み込みに失敗しました。

java.lang.SecurityException：

SecurityManagerが存在し，SecurityManagerのcheckReadメソッドでファイルへの読み込みアクセスが拒否されました。

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameNotFoundException：

指定したユーザIDがありません。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

なし

removeSSODataListenerメソッド

説明

指定したSSODataListenerオブジェクトをこのオブジェクトから削除します。指定したオブジェクトが登録されていない場合は何もしません。

形式

public void removeSSODataListener(SSODataListener listener);

パラメタ

listener：

SSODataListenerオブジェクトを指定します。

例外

なし

戻り値

なし

2.6　LdapUserDataManagerクラス

説明

LDAPディレクトリサーバのユーザ情報リポジトリに格納されている情報を参照または更新するクラスです。

このクラスのオブジェクトごとに，addUserDataメソッド，modifyUserDataメソッド，removeUserDataメソッド，およびgetUserDataメソッドで排他制御をします。異なるオブジェクトで同時に同じリポジトリを操作しないでください。

LdapUserDataManagerクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.ldapです。

形式

class LdapUserDataManager
{
 public LdapUserDataManager(String name)
   throws ConfigError;
 public LdapUserDataManager(String name,
                            AttributeEntry[] aliases)
   throws ConfigError, FormatError;
 public LdapUserDataManager(String name,
                            String aliasesFile)
   throws ConfigError, FormatError, IOException,
          FileNotFoundException,
   SecurityException;
 public LdapUserDataManager(String name,
                            AttributeEntry[] aliases,
                            ObjectClassEntry[] ocEntries)
   throws ConfigError, FormatError;
 public LdapUserDataManager(String name,
                            AttributeEntry[] aliases,
                            String objclassesFile)
   throws ConfigError, FormatError, IOException,
          FileNotFoundException,SecurityException;
 public LdapUserDataManager(String name,
                            String aliasesFile,
                            ObjectClassEntry[] ocEntries)
   throws ConfigError, FormatError, IOException,
          FileNotFoundException,SecurityException;
 public LdapUserDataManager(String name,
                            String aliasesFile,
                            String objclassesFile)
   throws ConfigError, FormatError, IOException,
          FileNotFoundException,SecurityException;

 public LdapUserEnumeration listUsers()
   throws NamingException;
 public LdapUserEnumeration listUsers(String uid)
   throws NamingException;
 public UserData getUserData(String uid)
   throws NamingException;
 public void addUserData(String uid,
                         UserData userData)
   throws ObjectClassError, NamingException;
 public void addUserData(String uid,
                         UserData userData,
                         String name, String value)
   throws ObjectClassError, NamingException;
 public void removeUserData(String uid)
   throws NamingException;
 public void modifyUserData(String uid, UserData userData)
   throws ObjectClassError, NamingException;
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
LdapUserDataManagerコンストラクタ | LdapUserDataManagerクラスのインスタンスを生成します。
addUserDataメソッド（形式1） | ユーザを追加します。ユーザエントリのDNにuidを使用します。
addUserDataメソッド（形式2） | ユーザを追加します。ユーザエントリのDNに任意の属性を使用します。
getUserDataメソッド | ユーザ情報を取得します。
listUsersメソッド（形式1） | すべてのユーザIDの一覧を取得します。
listUsersメソッド（形式2） | ユーザIDの一覧を取得します。
modifyUserDataメソッド | ユーザ情報を修正します。
removeUserDataメソッド | ユーザを削除します。

＜この節の構成＞

LdapUserDataManagerコンストラクタ

addUserDataメソッド（形式1）

addUserDataメソッド（形式2）

getUserDataメソッド

listUsersメソッド（形式1）

listUsersメソッド（形式2）

modifyUserDataメソッド

removeUserDataメソッド

LdapUserDataManagerコンストラクタ

説明

LdapUserDataManagerクラスのインスタンスを生成します。ユーザ属性情報やオブジェクトクラスは，オブジェクトやファイルで指定できます。また，省略もできます。

形式

public LdapUserDataManager(String name)
 throws ConfigError;

public LdapUserDataManager(String name,
                          AttributeEntry[] aliases)
 throws ConfigError, FormatError;

public LdapUserDataManager(String name,
                          String aliasesFile)
 throws ConfigError, FormatError, IOException, FileNotFoundException,
 SecurityException;

public LdapUserDataManager(String name,
                          AttributeEntry[] aliases,
                          ObjectClassEntry[] ocEntries)
 throws ConfigError, FormatError;

public LdapUserDataManager(String name,
                          AttributeEntry[] aliases,
                          String objclassesFile)
 throws ConfigError, FormatError, IOException, FileNotFoundException,
 SecurityException;

public LdapUserDataManager(String name,
                          String aliasesFile,
                          ObjectClassEntry[] ocEntries)
 throws ConfigError, FormatError, IOException, FileNotFoundException,
 SecurityException;

public LdapUserDataManager(String name,
                          String aliasesFile,
                          String objclassesFile)
 throws ConfigError, FormatError, IOException, FileNotFoundException,
 SecurityException;

パラメタ

name：

アクセス対象にするLDAPディレクトリサーバの設定名を指定します。設定名はユーザ管理のコンフィグレーションファイルで定義します。

aliases：

参照または更新するユーザ属性情報として，AttributeEntryオブジェクトの配列を指定します。指定した内容で必要な情報がない場合はFormatError例外が発生します。このパラメタを省略した場合やnullを指定した場合，属性を参照および更新できません。ただし，パスワードは更新できます。

aliasesFile：

参照または更新するユーザ属性情報として，ファイル名を指定します。指定した内容で必要な情報がない場合はFormatError例外が発生します。このパラメタを省略した場合やnullを指定した場合，属性を参照および更新できません。ただし，パスワードは更新できます。

ocEntries：

LDAPディレクトリサーバにエントリを作成したり，修正したりするときに使用するオブジェクトクラスの配列を指定します。指定した内容で必要な情報がない場合はFormatError例外が発生します。このパラメタを省略した場合やnullを指定した場合，ユーザ情報の追加や変更時にObjectClassError例外が発生します。

objclassesFile：

LDAPディレクトリサーバのエントリのオブジェクトクラスが定義されたファイル名を指定します。指定した内容で必要な情報がない場合はFormatError例外が発生します。このパラメタを省略した場合やnullを指定した場合，ユーザ情報の追加や変更時にObjectClassError例外が発生します。

例外

java.io.FileNotFoundException：

ファイルがない，ファイルではなくディレクトリである，またはそれ以外の何かの理由で開くことができません（FileInputStreamクラスのコンストラクタで例外が呼び出された場合）。

java.lang.SecurityException：

SecurityManagerが存在し，SecurityManagerのcheckReadメソッドでファイルへの読み込みアクセスが拒否されました。

java.io.IOException：

ファイルの読み込みに失敗しました。

com.cosminexus.admin.common.ConfigError：

設定名が統合ユーザ管理のコンフィグレーションファイルにありません。

com.cosminexus.admin.common.FormatError：

aliases，aliasesFile，ocEntriesおよびobjclassesFileに指定された内容で必要な情報がありません。または余分に指定されています。

addUserDataメソッド（形式1）

説明

ユーザを追加します。すでにユーザがいる場合は例外が発生します。

LDAPディレクトリサーバに作成するユーザエントリのDNには，ユーザIDの属性（uid）と値が使用されます。

ユーザエントリはベースDNの直下に作成されます。また，コンストラクタで指定したユーザ属性情報にサブコンテキストの属性が含まれる場合，サブコンテキストのエントリも作成されます。

このメソッドを呼び出した結果，サブコンテキストの更新中に例外が発生した場合，ユーザ情報は不完全に更新された状態になっています。その場合，原因を取り除いてからremoveUserDataメソッドで該当ユーザを削除し，再びこのメソッドを呼び出してください。

形式

public void addUserData(String uid,
                       UserData userData)
 throws ObjectClassError, NamingException;

パラメタ

uid：

ユーザIDを指定します。

userData：

ユーザ情報を格納したUserDataオブジェクトを指定します。

例外

com.cosminexus.admin.auth.api.repository.ldap.ObjectClassError：

LDAPディレクトリサーバにエントリを作成するために必要なオブジェクトクラスが指定されていません。

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameAlreadyBoundException：

指定したユーザIDがすでにあります。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

なし

注意事項

getUserDataメソッドで取得したUserDataオブジェクトにパスワードは格納されていません。そのため，getUserDataメソッドで取得したUserDataオブジェクトをそのままaddUserDataメソッドのパラメタに指定しても，ユーザの完全なコピーをすることはできません。パスワードを新たに設定してください。

addUserDataメソッド（形式2）

説明

ユーザを追加します。すでにユーザがいる場合は例外が発生します。

LDAPディレクトリサーバに作成するユーザエントリのDNには，このメソッドで指定した属性名と値が使用されます。

ユーザエントリはベースDNの直下に作成されます。また，コンストラクタで指定したユーザ属性情報にサブコンテキストの属性が含まれる場合，サブコンテキストのエントリも作成されます。

このメソッドを呼び出した結果，サブコンテキストの更新中に例外が発生した場合，ユーザ情報は不完全に更新された状態になっています。その場合，原因を取り除いてからremoveUserDataメソッドで該当ユーザを削除し，再びこのメソッドを呼び出してください。

形式

public void addUserData(String uid,
                       UserData userData,
                       String name,
                       String value)
 throws ObjectClassError, NamingException;

パラメタ

uid：

ユーザIDを指定します。

userData：

ユーザ情報を格納したUserDataオブジェクトを指定します。

name：

ユーザエントリのDNに使用する属性名を指定します。

value：

ユーザエントリのDNに使用する属性値を指定します。

例外

com.cosminexus.admin.auth.api.repository.ldap.ObjectClassError：

LDAPディレクトリサーバにエントリを作成するために必要なオブジェクトクラスが指定されていません。

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameAlreadyBoundException：

指定したユーザIDがすでにあります。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

なし

注意事項

getUserDataメソッドで取得したUserDataオブジェクトにパスワードは格納されていません。そのため，getUserDataメソッドで取得したUserDataオブジェクトをそのままaddUserDataメソッドのパラメタに指定しても，ユーザの完全なコピーをすることはできません。パスワードを新たに設定してください。

getUserDataメソッド

説明

ユーザ情報を取得します。取得したUserDataオブジェクトにパスワードは格納されていません。

形式

public UserData getUserData(String uid)
 throws NamingException;

パラメタ

uid：

ユーザIDを指定します。

例外

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameNotFoundException：

指定したユーザIDがありません。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

ユーザ情報を格納したUserDataオブジェクトを返却します。

listUsersメソッド（形式1）

説明

すべてのユーザIDの一覧を取得します。addUserDataメソッドまたはremoveUserDataメソッドを呼び出した場合，以前に返却されたLdapUserEnumerationオブジェクトにその結果が反映されるかどうかは不定です。

形式

public LdapUserEnumeration listUsers()
 throws NamingException;

パラメタ

なし

例外

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

ユーザIDの一覧を格納したLdapUserEnumerationオブジェクトを返却します。

listUsersメソッド（形式2）

説明

ユーザIDの一覧を取得します。addUserDataメソッドまたはremoveUserDataメソッドを呼び出した場合，以前に返却されたLdapUserEnumerationオブジェクトにその結果が反映されるかどうかは不定です。

形式

public LdapUserEnumeration listUsers(String uid)
 throws NamingException;

パラメタ

uid：

ユーザIDを指定します。ユーザIDにはワイルドカード（*）を含めることができます。このパラメタを省略した場合やnullを指定した場合は，すべてのユーザIDの一覧を取得します。

例外

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

ユーザIDの一覧を格納したLdapUserEnumerationオブジェクトを返却します。

modifyUserDataメソッド

説明

ユーザ情報を修正します。指定したユーザがない場合は例外が発生します。

このメソッドでは，UserDataオブジェクトの生成後，変更された属性だけが既存の属性に上書きされます。

例えば，リポジトリの既存のユーザ情報が次に示す属性を持っていたとします。

属性名 | full name | tel
値 | Hitachi Taro | 111-1111
222-2222

このとき，次のコードで生成したUserDataオブジェクトをこのメソッドのパラメタに指定します。

UserData data = new UserData();
data.addAttribute("tel", "111-2222");

すると，リポジトリのユーザ情報は次のように変更されます。

属性名 | full name | tel
値 | Hitachi Taro | 111-2222
－

（凡例）－：情報がないことを示します。

このメソッドを呼び出した結果，サブコンテキストの更新中に例外が発生した場合，ユーザ情報は不完全に更新された状態になっています。その場合，原因を取り除いてから再びこのメソッドを呼び出してください。

形式

public void modifyUserData(String uid,
                          UserData userData)
 throws ObjectClassError, NamingException;

パラメタ

uid：

ユーザIDを指定します。

userData：

ユーザ情報を格納したUserDataオブジェクトを指定します。

例外：

com.cosminexus.admin.auth.api.repository.ldap.ObjectClassError：

LDAPディレクトリサーバにエントリを作成するために必要なオブジェクトクラスが指定されていません。

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameNotFoundException：

指定したユーザIDがありません。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

なし

removeUserDataメソッド

説明

ユーザを削除します。指定したユーザがない場合は例外が発生します。LDAPディレクトリサーバの，指定したユーザエントリ以下のすべてのエントリが削除されます。

このメソッドを呼び出した結果，サブコンテキストの更新中に例外が発生した場合，ユーザ情報は不完全に更新された状態になっています。その場合，原因を取り除いてから再びこのメソッドを呼び出してください。

形式

public void removeUserData(String uid)
 throws NamingException;

パラメタ

uid：

ユーザIDを指定します。

例外

javax.naming.CommunicationException：

LDAPディレクトリサーバへの接続に失敗しました。

javax.naming.NameNotFoundException：

指定したユーザIDがありません。

その他JNDIの例外：

バインドDNの指定ミスなどです。

戻り値

なし

2.7　LdapUserEnumerationインタフェース

説明

ユーザIDの一覧を参照するためのインタフェースです。

LdapUserEnumerationインタフェースのパッケージ名は，com.cosminexus.admin.auth.api.repository.ldapです。

形式

interface LdapUserEnumeration extends java.util.Enumeration
{
 public boolean hasMore()
   throws NamingException;
 public boolean hasMoreElements();
 public String next()
   throws NamingException;
 public Object nextElement();
 public close()
   throws NamingException;
}

メソッド一覧

メソッド名
機能

closeメソッド
オブジェクトをクローズします。

hasMoreメソッド
一覧に次のユーザIDがあるかどうかを判定します。
（NamingException例外の呼び出し：あり）

hasMoreElementsメソッド
一覧に次のユーザIDがあるかどうかを判定します。
（NamingException例外の呼び出し：なし）

nextメソッド
一覧の次のユーザIDを取得します。
（NamingException例外の呼び出し：あり
　戻り値の型：String型）

nextElementメソッド
一覧の次のユーザIDを取得します。
（NamingException例外の呼び出し：なし
　戻り値の型：Object型）

＜この節の構成＞

closeメソッド

hasMoreメソッド

hasMoreElementsメソッド

nextメソッド

nextElementメソッド

closeメソッド

説明

このオブジェクトをクローズして，使用中のリソースを解放します。falseを返すまでhasMoreメソッドやhasMoreElementsメソッドを呼び出し続けた場合は，このメソッドを呼び出す必要はありません。

形式

public void close()

throws NamingException;

パラメタ

なし

例外

javax.naming.NamingException：

クローズ中にNamingException例外が発生しました。

戻り値

なし

hasMoreメソッド

説明

一覧に次のユーザIDがあるかどうかを判定します。

形式

public boolean hasMore()
 throws NamingException;

パラメタ

なし

例外

javax.naming.NamingException：

次のユーザIDがあるかどうかを判定中にNamingException例外が発生しました。

戻り値

true：

次のユーザIDがありました。

false：

次のユーザIDがありませんでした。

hasMoreElementsメソッド

説明

一覧に次のユーザIDがあるかどうかを判定します。例外が発生した場合はfalseを返却します。

形式

public boolean hasMoreElements();

パラメタ

なし

例外

なし

戻り値

true：

次のユーザIDがありました。

false：

次のユーザIDがありませんでした。

nextメソッド

説明

一覧の次のユーザIDを取得します。

形式

public String next()
 throws NamingException;

パラメタ

なし

例外

java.util.NoSuchElementException：

次のユーザIDがないときにこのメソッドを呼び出しました。

javax.naming.NamingException：

次のユーザIDを取得中にNamingException例外が発生しました。

戻り値

次のユーザIDを返却します。

nextElementメソッド

説明

一覧の次のユーザIDを取得します。nextメソッドとの違いは，NamingException例外が発生しないことと，戻り値の型はObject型であることです。戻り値のObjectオブジェクトをStringにキャストして参照してください。このメソッドを実行中にNamingException例外が発生した場合はnullを返却します。

形式

public Object nextElement();

パラメタ

なし

例外

java.util.NoSuchElementException：

次のユーザIDがないときにこのメソッドを呼び出しました。

戻り値

次のユーザIDを返却します。

2.8　LoginUtilクラス

説明

統合ユーザ管理のセッション内でログインしているユーザの有無を調べます。

LoginUtilクラスのパッケージ名は，com.cosminexus.admin.auth.utilです。

形式

class LoginUtil
{
 public static boolean check(HttpServletRequest request,
                             HttpServletResponse response);
 public static boolean check(HttpServletRequest request,
                              HttpServletResponse response,
                              String realmName);
}

メソッド一覧

メソッド名 | 機能
checkメソッド（形式1） | セッション内でログインしているユーザの有無を調べます。
checkメソッド（形式2） | セッション内でログインしているユーザの有無を調べます。特定のレルム内でログインしているユーザを調べるために使用します。

注意事項

このクラスのcheckメソッドを使わなくても，HttpSessionにログイン時に生成されたSubjectを関連づけ，SubjectのPrincipalの有無によってログインの有無を判断できます。この方式で確認する場合は，統合ユーザ管理の機能を使ってセッションを停止しないでください。

＜この節の構成＞

checkメソッド（形式1）

checkメソッド（形式2）

checkメソッド（形式1）

説明

セッション内でログインしているユーザの有無を調べます。このセッション内でどれかのレルムでログインしているユーザを検索し，一人でもログインしているユーザが見つかればtrueを返却します。

形式

public static boolean check(HttpServletRequest request,
                           HttpServletResponse response);

パラメタ

request：

JSP/Servletに渡されたHttpServletRequestのリファレンスを指定します。nullを指定した場合はNullPointerException例外が発生します。

response：

JSP/Servletに渡されたHttpServletResponseのリファレンスを指定します。nullを指定した場合はNullPointerException例外が発生します。

例外

java.lang.NullPointerException：

このメソッドのパラメタにnullを指定しました。

戻り値

true：

ログインしているユーザが見つかりました。

false：

ログインしているユーザが見つかりませんでした。

checkメソッド（形式2）

説明

セッション内でログインしているユーザの有無を調べます。realmNameは，特定のレルム内でログインしているユーザを調べるために使用します。

形式

public static boolean check(HttpServletRequest request,
                           HttpServletResponse response,
                           String realmName);

パラメタ

request：

JSP/Servletに渡されたHttpServletRequestのリファレンスを指定します。nullを指定した場合はNullPointerException例外が発生します。

response：

JSP/Servletに渡されたHttpServletResponseのリファレンスを指定します。nullを指定した場合はNullPointerException例外が発生します。

realmName：

特定のレルム内でログインしているユーザを調べる場合に指定します。nullを指定した場合はNullPointerException例外が発生します。

例外

java.lang.NullPointerException：

このメソッドのパラメタにnullを指定しました。

戻り値

true：

ログインしているユーザが見つかりました。

false：

ログインしているユーザが見つかりませんでした。

2.9　ObjectClassEntryクラス

説明

LDAPディレクトリサーバに作成するユーザエントリやサブコンテキストのオブジェクトクラスを格納するクラスです。

ObjectClassEntryクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.ldapです。

形式

class ObjectClassEntry
{
public ObjectClassEntry();
public ObjectClassEntry(String[] objectClasses);
public ObjectClassEntry(String subcontext,
                       String[] objectClasses);

public void setObjectClasses(String[] objectClasses);
public String[] getObjectClasses();
public void setSubcontext(String subcontext);
public String getSubcontext();
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
ObjectClassEntryコンストラクタ | ObjectClassEntryクラスのインスタンスを生成します。
getObjectClassesメソッド | setObjectClassesメソッドまたはコンストラクタで指定したオブジェクトクラスを取得します。
getSubcontextメソッド | setSubcontextメソッドまたはコンストラクタで指定したサブコンテキストを取得します。
setObjectClassesメソッド | オブジェクトクラスをオブジェクトに格納します。
setSubcontextメソッド | サブコンテキストをオブジェクトに格納します。

＜この節の構成＞

ObjectClassEntryコンストラクタ

getObjectClassesメソッド

getSubcontextメソッド

setObjectClassesメソッド

setSubcontextメソッド

ObjectClassEntryコンストラクタ

説明

インスタンスを生成します。パラメタにオブジェクトクラスを指定すると，ユーザエントリのオブジェクトクラスとしてこのオブジェクトに格納されます。

形式

public ObjectClassEntry();

public ObjectClassEntry(String[] objectClasses);

public ObjectClassEntry(String subcontext,
                       String[] objectClasses);

パラメタ

subcontext：

サブコンテキストを指定します。このパラメタを省略した場合や，nullや空文字("")を指定した場合は，ユーザエントリを表します。AttributeEntryオブジェクトに指定するサブコンテキストと同じ文字列を指定してください。

objectClasses：

ユーザエントリのオブジェクトクラスをStringの配列で指定します。このパラメタを省略した場合やnullを指定した場合は，何も格納されません。

例外

なし

getObjectClassesメソッド

説明

setObjectClassesメソッドまたはコンストラクタで指定した値を取得します。値が格納されていない場合にgetObjectClassesメソッドを呼び出したときはnullが返却されます。

形式

public String[] getObjectClasses();

パラメタ

なし

例外

なし

戻り値

このオブジェクトに格納されている値を返却します。

getSubcontextメソッド

説明

setSubcontextメソッドまたはコンストラクタで指定した値を取得します。値が格納されていない場合にgetSubcontextメソッドを呼び出したときはnullが返却されます。

形式

public String getSubcontext();

パラメタ

なし

例外

なし

戻り値

このオブジェクトに格納されている値を返却します。

setObjectClassesメソッド

説明

オブジェクトクラスをこのオブジェクト内に格納します。すでに値が格納されている場合にsetObjectClassesメソッドを呼び出したときは上書きされます。

形式

public void setObjectClasses(String[] objectClasses);

パラメタ

objectClasses：

オブジェクトクラスをStringの配列で指定します。

例外

なし

戻り値

なし

setSubcontextメソッド

説明

サブコンテキストをこのオブジェクト内に格納します。すでに値が格納されている場合にsetSubcontextメソッドを呼び出したときは値が上書きされます。

形式

public void setSubcontext(String subcontext);

パラメタ

subcontext：

サブコンテキストを指定します。nullや空文字("")を指定した場合はユーザエントリを表します。AttributeEntryオブジェクトに設定するサブコンテキストと同じ文字列を指定してください。

例外

なし

戻り値

なし

2.10　PasswordCryptographyインタフェース

説明

入力したパスワードを暗号化するためのインタフェースです。

PasswordCryptographyインタフェースのパッケージ名は，com.cosminexus.admin.auth.securityです。

形式

interface PasswordCryptography
{
 public byte[] encrypt(byte[] plain);
}

メソッド一覧

メソッド名 | 機能
encryptメソッド | リポジトリに登録されている暗号化形式に合わせてパスワードを暗号化します。

＜この節の構成＞

encryptメソッド

encryptメソッド

説明

リポジトリに登録されている暗号化形式に合わせてパスワードを暗号化します。

形式

public byte[] encrypt(byte[] plain);

パラメタ

plain：

ログインモジュールがこのメソッドを呼び出すときに，ユーザが指定したパスワード（平文）が格納されます。

例外

なし

戻り値

暗号化した結果を返却します。

2.11　PasswordUtilクラス

説明

ユーザのパスワードを変更するためのクラスです。

PasswordUtilクラスのパッケージ名は，com.cosminexus.admin.auth.utilです。

形式

class PasswordUtil
{
 public static void changePassword(String name,
                                   String uid,
                                   String oldPassword,
                                   String newPassword)
   throws LoginException,
          SecurityException;

}

メソッド一覧

メソッド名 | 機能
changePasswordメソッド | パスワードを変更します。

＜この節の構成＞

changePasswordメソッド

changePasswordメソッド

説明

パラメタで指定されたname，uidおよびoldPasswordで本人の確認をして，その結果に問題がなければ新しいパスワードに変更します。シングルサインオン用認証情報が登録されている場合は，シングルサインオン情報リポジトリの内容も変更されます。

このメソッドはstaticメソッドです。

形式

public static void changePassword(String name,
                                 String uid,
                                 String oldPassword,
                                 String newPassword)
   throws LoginException,
     SecurityException;

パラメタ：

name：

認証に使用するログインモジュール（LoginContext）のアプリケーション名（name）を指定します。

uid：

変更するユーザのユーザIDを指定します。

oldPassword：

変更前のパスワードを指定します。

newPassword：

変更後のパスワードを指定します。

例外

javax.security.auth.login.LoginException：

認証に必要な情報がありません。または，ユーザID／パスワードが誤っています。

java.lang.SecurityException：

アクセス権がありません。

戻り値

なし

注意事項

シングルサインオン用認証情報は，レルム名，暗号鍵ファイル，およびシングルサインオン情報リポジトリにアクセスする情報が定義されている場合だけ変更します。それ以外の状態（シングルサインオン用の定義がない）の場合は変更しません。

シングルサインオン用認証情報が登録されている場合に，リポジトリで例外が発生したり（NamingException例外が発生），暗号化に失敗したりしたとき，このメソッドはLoginException例外で失敗します。このとき，パスワードは元の状態に戻します（ロールバックします）。また，パスワードを元に戻すのに失敗した場合もLoginException例外が発生します。例外クラスの詳細については，「2.32　例外クラス」を参照してください。

nameで指定したアプリケーションでWebPasswordLoginModuleまたはWebPasswordLDAPLoginModuleを使用していない場合，LoginException例外が発生します。

LDAPディレクトリサーバがActive Directoryの場合は，WebPasswordLDAPLoginModuleを使用しているアプリケーションをnameに指定してください。

2.12　Principalインタフェース

説明

WebPasswordLoginModuleが認証したときのユーザIDを参照するときに使用します。日立の実装クラスでは，java.security.Principalインタフェースを継承して作成されたものを認証したSubjectに関連づけます。そのため，Principalを参照する場合は，SubjectからPrincipalを求めてgetNameメソッドで参照してください。

Principalインタフェースのパッケージ名は，java.securityです。

2.13　SSODataクラス

説明

シングルサインオン用認証情報を格納するクラスです。

SSODataクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.ldapです。

形式

class SSOData
{
 public SSOData();

 public void setSecretData(String secretData)
   throws CryptoException, UnsatisfiedLinkError, SecurityException;
 public void setPublicData(String publicData);
 public String getPublicData();
 public Enumeration getMappingRealms();
 public String getMapping(String realm);
 public void setMapping(String realm,
                        String uid);
 public void removeMapping(String realm);
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
SSODataコンストラクタ | SSODataクラスのインスタンスを生成します。
getMappingメソッド | レルム名に対応するユーザIDを取得します。
getMappingRealmsメソッド | レルム名一覧を取得します。
getPublicDataメソッド | PublicDataを取得します。
removeMappingメソッド | 指定したレルムを削除します。
setMappingメソッド | 接続先レルム名とユーザIDを格納します。
setPublicDataメソッド | PublicDataを格納します。
setSecretDataメソッド | SecretDataを格納します。

＜この節の構成＞

SSODataコンストラクタ

getMappingメソッド

getMappingRealmsメソッド

getPublicDataメソッド

removeMappingメソッド

setMappingメソッド

setPublicDataメソッド

setSecretDataメソッド

SSODataコンストラクタ

説明

SSODataクラスのインスタンスを生成します。

形式

public SSOData();

パラメタ

なし

例外

なし

getMappingメソッド

説明

このオブジェクトに格納されているマッピング情報から，レルム名に対応するユーザIDを取得します。指定したレルム名に対応するユーザIDがない場合はnullが返却されます。

形式

public String getMapping(String realm);

パラメタ

realm：

接続先のレルム名を指定します。

例外

なし

戻り値

ユーザIDを返却します。

getMappingRealmsメソッド

説明

このオブジェクトに格納されているマッピング情報から，レルム名一覧を取得します。

レルム名を参照する場合は，まず，このメソッドで取得したEnumerationオブジェクトに対してnextElementメソッドを実行して，Objectオブジェクトを取得します。取得したObjectオブジェクトをStringにキャストして，値を参照してください。

形式

public Enumeration getMappingRealms();

パラメタ

なし

例外

なし

戻り値

レルム名一覧を格納したEnumerationオブジェクトを返却します。

getPublicDataメソッド

説明

このオブジェクトに格納されているPublicDataを取得します。値が格納されていない場合にgetPublicDataメソッドを呼び出したときはnullが返却されます。

形式

public String getPublicData();

パラメタ

なし

例外

なし

戻り値

このオブジェクトに格納されている値を返却します。

removeMappingメソッド

説明

このオブジェクトに格納されているマッピング情報から，指定したレルムを削除します。指定したレルム名が格納されていない場合は何もしません。

形式

public void removeMapping(String realm);

パラメタ

realm：

接続先のレルム名を指定します。

例外

なし

戻り値

なし

setMappingメソッド

説明

パラメタに指定された接続先レルム名とユーザIDをこのオブジェクト内に格納します。すでに同じレルム名でユーザIDが格納されている場合は上書きされます。

形式

public void setMapping(String realm,
                      String uid);

パラメタ

realm：

接続先のレルム名を指定します。

uid：

接続先レルムのユーザIDを指定します。

例外

なし

戻り値

なし

setPublicDataメソッド

説明

パラメタに指定されたPublicDataをこのオブジェクト内に格納します。すでに値が格納されている場合は上書きされます。

形式

public void setPublicData(String publicData);

パラメタ

publicData：

PublicDataを指定します。

例外

なし

戻り値

なし

setSecretDataメソッド

説明

このオブジェクトにSecretDataを格納します。格納するとき，SecretDataは暗号化されます。すでにSecretDataが格納されている場合は上書きされます。

形式

public void setSecretData(String secretData);

パラメタ

secretData：

SecretDataを指定します。

例外

com.cosminexus.admin.auth.CryptoException：

暗号鍵ファイルを読み込めないため，SecretDataの暗号化に失敗しました。

java.lang.UnsatisfiedLinkError：

シングルサインオンライブラリの読み込みに失敗しました。

java.lang.SecurityException：

SecurityManagerが存在し，SecurityManagerのcheckReadメソッドでファイルへの読み込みアクセスが拒否されました。

戻り値

なし

2.14　SSODataEventクラス

説明

シングルサインオン用認証情報の更新内容を格納するクラスです。

SSODataEventクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.eventです。

形式

class SSODataEvent
{
 public SSODataEvent(String uid,
                     String secretData,
                     String publicData,
                     String oldSecretData,
                     String oldPublicData);

 public String getUserId();
 public String getSecretData();
 public String getPublicData();
 public String getOldSecretData();
 public String getOldPublicData();
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
SSODataEventコンストラクタ | SSODataEventクラスのインスタンスを生成します。
getOldPublicDataメソッド | 変更前のPublicDataを取得します。
getOldSecretDataメソッド | 変更前のSecretDataを取得します。
getPublicDataメソッド | PublicDataを取得します。
getSecretDataメソッド | SecretDataを取得します。
getUserIdメソッド | ユーザIDを取得します。

＜この節の構成＞

SSODataEventコンストラクタ

getOldPublicDataメソッド

getOldSecretDataメソッド

getPublicDataメソッド

getSecretDataメソッド

getUserIdメソッド

SSODataEventコンストラクタ

説明

インスタンスを生成し，パラメタに指定されたユーザID，SecretData，PublicData，変更前のSecretData，および変更前のPublicDataを格納します。

形式

public SSODataEvent(String uid,
                   String secretData,
                   String publicData,
                   String oldSecretData,
                   String oldPublicData);

パラメタ

uid：

ユーザIDを指定します。

secretData：

SecretDataを指定します。

publicData：

PublicDataを指定します。

oldSecretData：

変更前のSecretDataを指定します。

oldPublicData：

変更前のPublicDataを指定します。

例外

なし

getOldPublicDataメソッド

説明

このオブジェクトに格納されている変更前のPublicDataを取得します。

形式

public String getOldPublicData();

パラメタ

なし

例外

なし

戻り値

変更前のPublicDataを返却します。設定されていない場合はnullを返却します。

getOldSecretDataメソッド

説明

このオブジェクトに格納されている変更前のSecretDataを取得します。

形式

public String getOldSecretData();

パラメタ

なし

例外

なし

戻り値

変更前のSecretDataを返却します。設定されていない場合はnullを返却します。

getPublicDataメソッド

説明

このオブジェクトに格納されているPublicDataを取得します。

形式

public String getPublicData();

パラメタ

なし

例外

なし

戻り値

PublicDataを返却します。設定されていない場合はnullを返却します。

getSecretDataメソッド

説明

このオブジェクトに格納されているSecretDataを取得します。

形式

public String getSecretData();

パラメタ

なし

例外

なし

戻り値

SecretDataを返却します。設定されていない場合はnullを返却します。

getUserIdメソッド

説明

このオブジェクトに格納されているユーザIDを取得します。

形式

public String getUserId();

パラメタ

なし

例外

なし

戻り値

ユーザIDを返却します。

2.15　SSODataListenerインタフェース

説明

シングルサインオン用認証情報が更新されたときに，更新が通知されるシングルサインオン用認証情報リスナクラスが実装しなければならないインタフェースです。シングルサインオン用認証情報の更新に同期して他システムの認証情報を更新したい場合，このインタフェースを実装したクラスを作成してください。作成したクラスのインスタンス（オブジェクト）をLdapSSODataManagerオブジェクトにaddSSODataListenerメソッドで登録してください。

SSODataListenerインタフェースのパッケージ名は，com.cosminexus.admin.auth.api.repository.eventです。

SSODataListenerインタフェースのメソッドはLdapSSODataManagerクラスのメソッドから呼び出されます。このとき，パラメタとしてSSODataEventオブジェクトが渡されます。

SSODataListenerインタフェースの各メソッドが呼び出されるタイミング（呼び出すLdapSSODataManagerクラスのメソッド）と，パラメタで渡されるSSODataEventオブジェクトに格納される値の内容を，次の表に示します。

表2-2　SSODataEventオブジェクトに格納される値

呼び出すLdapSSODataManagerクラスのメソッド | 呼び出されるSSODataListenerインタフェースのメソッド | SSODataEventオブジェクトに格納される値
ユーザID | SecretData | PublicData | 変更前のSecretData | 変更前のPublicData
addSSODataメソッド | ssoDataAddedメソッド | ○ | ○ | ○ | － | －
modifySSODataメソッド | ssoDataModifiedメソッド | ○ | ○ | ○ | ○ | ○
removeSSODataメソッド | ssoDataRemovedメソッド | ○ | ○ | ○ | － | －

（凡例）

○：格納されます。

－：格納されません。

ssoDataAddedメソッド，ssoDataModifiedメソッド，およびssoDataRemovedメソッドの各メソッドで問題が発生した場合，問題の原因がわかるメッセージが格納されたChangeDataFailedException例外をスローするように，クラスを作成してください。LdapSSODataManagerのメソッド呼び出し元には，それらの例外オブジェクトが格納されたSSODataListenerException例外が発生します。

形式

interface SSODataListener extends java.util.EventListener
{
 public void ssoDataAdded(SSODataEvent event)
   throws ChangeDataFailedException;
 public void ssoDataModified(SSODataEvent event)
   throws ChangeDataFailedException;
 public void ssoDataRemoved(SSODataEvent event)
   throws ChangeDataFailedException;
}

メソッド一覧

メソッド名 | 機能
ssoDataAddedメソッド | シングルサインオン用認証情報が追加されたときに呼び出されます。
ssoDataModifiedメソッド | シングルサインオン用認証情報が変更されたときに呼び出されます。
ssoDataRemovedメソッド | シングルサインオン情報が削除されたときに呼び出されます。

＜この節の構成＞

ssoDataAddedメソッド

ssoDataModifiedメソッド

ssoDataRemovedメソッド

ssoDataAddedメソッド

説明

シングルサインオン用認証情報が追加されたときに呼び出されます。

形式

public void ssoDataAdded(SSODataEvent event)
 throws ChangeDataFailedException;

パラメタ

event：

シングルサインオン用認証情報が格納されます。

例外

com.cosminexus.admin.auth.api.repository.event.ChangeDataFailedException：

他システムの認証情報の更新に失敗しました。

戻り値

なし

ssoDataModifiedメソッド

説明

シングルサインオン用認証情報が変更されたときに呼び出されます。

形式

public void ssoDataModified(SSODataEvent event)
 throws ChangeDataFailedException;

パラメタ

event：

シングルサインオン用認証情報が格納されます。

例外

com.cosminexus.admin.auth.api.repository.event.ChangeDataFailedException：

他システムの認証情報の更新に失敗しました。

戻り値

なし

ssoDataRemovedメソッド

説明

シングルサインオン情報が削除されたときに呼び出されます。

形式

public void ssoDataRemoved(SSODataEvent event)
 throws ChangeDataFailedException;

パラメタ

event：

シングルサインオン用認証情報が格納されます。

例外

com.cosminexus.admin.auth.api.repository.event.ChangeDataFailedException：

他システムの認証情報の更新に失敗しました。

戻り値

なし

2.16　SSODataListenerExceptionクラス

説明

シングルサインオン用認証情報リスナクラスで例外が発生した場合に呼び出される例外クラスです。

SSODataListenerExceptionクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.eventです。

形式

class SSODataListenerException extends UAException
{
 public SSODataListenerException();
 public SSODataListenerException(String msg);

 public void setException(SSODataListener listener,
                          ChangeDataFailedException exception);
 public SSODataListener[] getListeners();
 public ChangeDataFailedException getException(SSODataListener listener);
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
SSODataListenerExceptionコンストラクタ | SSODataListenerExceptionクラスのインスタンスを生成します。
getExceptionメソッド | 例外オブジェクトを取得します。
getListenersメソッド | 例外に格納されているリスナを取得します。
setExceptionメソッド | 例外オブジェクトを格納します。

＜この節の構成＞

SSODataListenerExceptionコンストラクタ

getExceptionメソッド

getListenersメソッド

setExceptionメソッド

SSODataListenerExceptionコンストラクタ

説明

パラメタに指定されたエラーメッセージを使用して,SSODataListenerExceptionクラスのインスタンスを生成します。

形式

public SSODataListenerException();

public SSODataListenerException(String msg);

パラメタ

msg：

エラーメッセージを指定します。

例外

なし

getExceptionメソッド

説明

このオブジェクトに格納されている例外オブジェクトを取得します。指定したリスナの例外オブジェクトが格納されていない場合はnullを返却します。

形式

public ChangeDataFailedException getException(SSODataListener listener);

パラメタ

listener：

例外が発生したリスナオブジェクトを指定します。

例外

なし

戻り値

ChangeDataFailedExceptionオブジェクトを返却します。

getListenersメソッド

説明

この例外に格納されているリスナをすべて取得します。

形式

public SSODataListener[] getListeners();

パラメタ

なし

例外

なし

戻り値

リスナオブジェクトの配列を返却します。

setExceptionメソッド

説明

例外の原因になった例外オブジェクトをこのオブジェクトに格納します。すでに同じリスナの例外が格納されていた場合は上書きします。

形式

public void setException(SSODataListener listener,
                       ChangeDataFailedException exception);

パラメタ

listener：

例外が発生したリスナオブジェクトを指定します。

exception：

リスナで発生したChangeDataFailedExceptionオブジェクトを指定します。

例外

なし

戻り値

なし

2.17　UserAttributesインタフェース

説明

ユーザ認証後，Subjectに関連づけられた属性を取得するためのインタフェースです。

UserAttributesインタフェースのパッケージ名は，com.cosminexus.admin.authです。

形式

interface UserAttributes
{
 public Object getAttribute(String alias)
   throws IllegalStateException;
 public Enumeration getAttributes(String alias)
   throws IllegalStateException;
 public void addAttribute(String alias,
                          Object attr)
   throws IllegalStateException;
 public Enumeration getAttributeNames()
   throws IllegalStateException;
 public void removeAttribute(String alias)
   throws IllegalStateException;
 public int size()
   throws IllegalStateException;
 public Enumeration getAliases()
   throws IllegalStateException;
}

メソッド一覧

メソッド名 | 機能
addAttributeメソッド | Subjectに属性を追加します。
getAttributeメソッド | Subjectに関連づけられた属性を取得します。
getAttributeNamesメソッド | Subjectに関連づけられた属性名の一覧を取得します。
getAttributesメソッド | Subjectに関連づけられた属性をすべて取得します。
removeAttributeメソッド | Subjectに関連づけられた属性を削除します。
sizeメソッド | Subjectに関連づけられた属性の総数を取得します。
getAliasesメソッド | 推奨されていません。getAttributeNamesメソッドを使用してください。

注意事項

このオブジェクトが無効な場合に，各メソッドの呼び出しでjava.lang.IllegalStateException例外が発生します。この例外は，java.lang.RuntimeException例外を継承しているため，catchおよびthrowsに記述しなくてもコンパイルできるので注意してください。

＜この節の構成＞

addAttributeメソッド

getAttributeメソッド

getAttributeNamesメソッド

getAttributesメソッド

removeAttributeメソッド

sizeメソッド

addAttributeメソッド

説明

Subjectに属性を追加します。一つの属性に対して，複数の属性値を関連づけることができます。このメソッドを使用して関連づけた属性は，ユーザ管理リポジトリには反映されません。

形式

public void addAttribute(String alias,
                        Object attr)
 throws IllegalStateException;

パラメタ

alias：

Subjectに関連づける属性名を指定します。

attr：

Subjectに関連づける属性値を指定します。

例外

java.lang.IllegalStateException：

このオブジェクトが無効な場合に発生します。また，この例外は，java.lang.RuntimeException例外を継承しているため，catchおよびthrowsに記述しなくてもコンパイルできるので注意してください。

この例外は，次の条件で発生します。

このオブジェクトを持つSubjectがread-onlyです。

logoutメソッドによってログアウト処理されています。

戻り値

なし

getAttributeメソッド

説明

Subjectに関連づけられた属性を取得します。要求元では，返されたObjectをキャストして値を参照します。同じ属性で複数の値を持つ場合は，最初に見つかったObjectを返却します。

形式

public Object getAttribute(String alias)
 throws IllegalStateException;

パラメタ

alias：

Subjectに関連づけられた属性名を指定します。AttributeEntryクラスに属性の別名を指定した場合は，その別名を指定します。

例外

java.lang.IllegalStateException：

このオブジェクトが無効な場合に発生します。また，この例外は，java.lang.RuntimeException例外を継承しているため，catchおよびthrowsに記述しなくてもコンパイルできるので注意してください。

この例外は，次の条件で発生します。

このオブジェクトを持つSubjectがread-onlyです。

logoutメソッドによってログアウト処理されています。

戻り値

指定したSubjectに関連づけられた属性値を返却します。見つからない場合はnullを返却します。

getAttributeNamesメソッド

説明

Subjectに関連づけられた属性名の一覧を取得します。AttributeEntryクラスに属性の別名を指定した場合は，その別名を返却します。

形式

public Enumeration getAttributeNames()
 throws IllegalStateException;

パラメタ

なし

例外

java.lang.IllegalStateException：

このオブジェクトが無効である場合に発生します。また，この例外は，java.lang.RuntimeException例外を継承しているため，catchおよびthrowsに記述しなくてもコンパイルできるので注意してください。

この例外は，次の条件で発生します。

このオブジェクトを持つSubjectがread-onlyです。

logoutメソッドによってログアウト処理されています。

戻り値

Subjectに関連づけられた属性の名称の一覧を返却します。AttributeEntryクラスに属性の別名を指定した場合は，その別名を返却します。

getAttributesメソッド

説明

Subjectに関連づけられた属性をすべて取得します。要求元では，EnumerationのnextElementメソッドでObjectを取得し，キャストして値を参照します。

形式

public Enumeration getAttributes(String alias)
 throws IllegalStateException;

パラメタ

alias：

Subjectに関連づけられた属性名を指定します。AttributeEntryクラスに属性の別名を指定した場合は，その別名を指定します。

例外

java.lang.IllegalStateException：

このオブジェクトが無効である場合に発生します。また，この例外は，java.lang.RuntimeException例外を継承しているため，catchおよびthrowsに記述しなくてもコンパイルできるので注意してください。

この例外は，次の条件で発生します。

このオブジェクトを持つSubjectがread-onlyです。

logoutメソッドによってログアウト処理されています。

戻り値

指定したSubjectに関連づけられた属性値を返却します。見つからない場合はnullを返却します。

removeAttributeメソッド

説明

Subjectに関連づけられた属性を削除します。このメソッドを使用して削除した属性は，ユーザ管理リポジトリには反映されません。複数の属性値が関連づけられていてもすべて削除されます。

形式

public void removeAttribute(String alias)
 throws IllegalStateException;

パラメタ

alias：

Subjectに関連づけられた属性の名称を指定します。AttributeEntryクラスに属性の別名を指定した場合は，その別名を指定します。

例外

java.lang.IllegalStateException：

このオブジェクトが無効な場合に発生します。また，この例外は，java.lang.RuntimeException例外を継承しているため，catchおよびthrowsに記述しなくてもコンパイルできるので注意してください。

この例外は，次の条件で発生します。

このオブジェクトを持つSubjectがread-onlyです。

logoutメソッドによってログアウト処理されています。

戻り値

なし

sizeメソッド

説明

Subjectに関連づけられた属性の総数を取得します。

形式

public int size()
 throws IllegalStateException;

パラメタ

なし

例外

java.lang.IllegalStateException：

このオブジェクトが無効な場合に発生します。また，この例外は，java.lang.RuntimeException例外を継承しているため，catchおよびthrowsに記述しなくてもコンパイルできるので注意してください。

この例外は，次の条件で発生します。

このオブジェクトを持つSubjectがread-onlyです。

logoutメソッドによってログアウト処理されています。

戻り値

Subjectに関連づけられた属性の総数を返却します。

2.18　UserDataクラス

説明

ユーザ情報を格納するクラスです。

UserDataクラスのパッケージ名は，com.cosminexus.admin.auth.api.repository.ldapです。

形式

class UserData
{
 public UserData();

 public void setPassword(String password);
 public Enumeration getAttributeNames();
 public Object getAttribute(String name);
 public Enumeration getAttributes(String name);
 public void addAttribute(String name,
                          Object attr);
 public void removeAttribute(String name);
 public int size();
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
UserDataコンストラクタ | UserDataクラスのインスタンスを生成します。
addAttributeメソッド | このオブジェクトに属性値を一つ追加します。
getAttributeメソッド | このオブジェクトに格納されている内容から，指定した属性名に対応する属性値の一つを取得します。
getAttributeNamesメソッド | このオブジェクトに格納されている属性名の一覧を取得します。
getAttributesメソッド | このオブジェクトに格納されている内容から，指定した属性名に対応する属性値をすべて取得します。
removeAttributeメソッド | このオブジェクトから属性を削除します。
setPasswordメソッド | パスワードをこのオブジェクトに格納します。
sizeメソッド | このオブジェクトに格納されている属性の総数を取得します。

＜この節の構成＞

UserDataコンストラクタ

addAttributeメソッド

getAttributeメソッド

getAttributeNamesメソッド

getAttributesメソッド

removeAttributeメソッド

setPasswordメソッド

sizeメソッド

UserDataコンストラクタ

説明

インスタンスを生成します。

形式

public UserData();

パラメタ

なし

例外

なし

addAttributeメソッド

説明

このオブジェクトに属性値を一つ追加します。一つの属性に対して複数の属性値を関連づけることができます。

形式

public void addAttribute(String name,
                        Object attr);

パラメタ

name：

属性の名称を指定します。属性に別名がある場合は，その別名を指定します。

attr：

属性の値を指定します。

例外

なし

戻り値

なし

getAttributeメソッド

説明

このオブジェクトに格納されている内容から，指定した属性名に対応する属性値の一つを取得します。属性値が複数の場合は，それらの値のどれか一つを取得します。

形式

public Object getAttribute(String name);

パラメタ

name：

属性の名称を指定します。属性に別名がある場合は，その別名を指定します。

例外

なし

戻り値

属性値を返却します。見つからない場合はnullを返却します。

getAttributeNamesメソッド

説明

このオブジェクトに格納されている属性名の一覧を取得します。

形式

public Enumeration getAttributeNames();

パラメタ

なし

例外

なし

戻り値

属性名の一覧を格納したEnumerationオブジェクトを返却します。

getAttributesメソッド

説明

このオブジェクトに格納されている内容から，指定した属性名に対応する属性値をすべて取得します。要求元では，EnumerationのnextElementメソッドでObjectを取得し，キャストすることで値を参照します。

形式

public Enumeration getAttributes(String name);

パラメタ

name：

属性の名称を指定します。属性に別名がある場合は，その別名を指定します。

例外

なし

戻り値

属性値を格納したEnumerationオブジェクトを返却します。見つからない場合はnullを返却します。

removeAttributeメソッド

説明

このオブジェクトから属性を削除します。複数の属性値が関連づけられている場合，すべて削除されます。

形式

public void removeAttribute(String name);

パラメタ

name：

属性の名称を指定します。属性に別名がある場合は，その別名を指定します。

例外

なし

戻り値

なし

setPasswordメソッド

説明

パスワードをこのオブジェクトに格納します。すでに値が格納されている場合は上書きされます。

形式

public void setPassword(String password);

パラメタ

password：

パスワードを指定します。

例外

なし

戻り値

なし

sizeメソッド

説明

このオブジェクトに格納されている属性の総数を取得します。

形式

public int size();

パラメタ

なし

例外

なし

戻り値

属性の総数を返却します。

2.19　WebCertificateCallbackクラス

説明

Webサーバで認証した結果をCallbackHandlerからログインモジュールに渡すための実装クラスです。

WebCertificateCallbackクラスのパッケージ名は，com.cosminexus.admin.auth.callbackです。

形式

class WebCertificateCallback implements javax.security.auth.callback.Callback
{
 public WebCertificateCallback(String attrName);

 public void setSubjectID(String name);
 public String getSubjectID();
 public void setRequest(HttpServletRequest req);
 public HttpServletRequest getRequest();
 public void setResponse(HttpServletResponse res);
 public HttpServletResponse getResponse();
 public void setAttributeEntries(AttributeEntry[] aliases);
 public AttributeEntry[] getAttributeEntries();
 public void setTagID(String tid);
 public String getTagID();
 public void setTagEntry(String entry);
 public String getTagEntry();
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebCertificateCallbackコンストラクタ | WebCertificateCallbackクラスのインスタンスを生成します。
getAttributeEntriesメソッド | setAttributeEntriesメソッドで指定した属性の一覧を格納しているオブジェクトのリファレンスを取得します。
getRequestメソッド | setRequestメソッドで指定したHttpServletRequestのリファレンスを取得します。
getResponseメソッド | setResponseメソッドで指定したHttpServletResponseのリファレンスを取得します。
getSubjectIDメソッド | setSubjectIDメソッドで指定したDN名を取得します。
getTagEntryメソッド | setTagEntryで指定したentryを取得します。
getTagIDメソッド | setTagIDで指定したTagIDを取得します。
setAttributeEntriesメソッド | パラメタに指定された属性の一覧を格納しているオブジェクトのリファレンスをオブジェクトに保管します。
setRequestメソッド | パラメタに指定されたHttpServletRequestのリファレンスをオブジェクトに保管します。
setResponseメソッド | パラメタに指定されたHttpServletResponseのリファレンスをオブジェクトに保管します。
setSubjectIDメソッド | パラメタに指定されたDN名をオブジェクトに保管します。
setTagEntryメソッド | パラメタに指定されたloginタグのentry要素を保管します。
setTagIDメソッド | パラメタに指定されたloginタグのid要素を保管します。

＜この節の構成＞

WebCertificateCallbackコンストラクタ

getAttributeEntriesメソッド

getRequestメソッド

getResponseメソッド

getSubjectIDメソッド

getTagEntryメソッド

getTagIDメソッド

setAttributeEntriesメソッド

setRequestメソッド

setResponseメソッド

setSubjectIDメソッド

setTagEntryメソッド

setTagIDメソッド

WebCertificateCallbackコンストラクタ

説明

WebCertificateCallbackクラスのインスタンスを生成します。インスタンスはWebCertificateLoginModuleのloginメソッドの延長で生成されます。

形式

public WebCertificateCallback(String attrName);

パラメタ

attrName：

DN名から分解するときの属性名を指定します。

例外

なし

getAttributeEntriesメソッド

説明

setAttributeEntriesメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public AttributeEntry[] getAttributeEntries();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getRequestメソッド

説明

setRequestメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public HttpServletRequest getRequest();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getResponseメソッド

説明

setResponseメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public HttpServletResponse getResponse();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getSubjectIDメソッド

説明

setSubjectIDメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public String getSubjectID();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getTagEntryメソッド

説明

setTagEntryメソッドで指定した内容を取得します。APIを使用してログインした場合はnullが返却されます。

形式

public String getTagEntry();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getTagIDメソッド

説明

setTagIDメソッドで指定した内容を取得します。APIを使用してログインした場合はnullが返却されます。

形式

public String getTagID();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

setAttributeEntriesメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setAttributeEntries(AttributeEntry[] aliases);

パラメタ

aliases：

属性の一覧を格納しているオブジェクト（AttributeEntryの配列）のリファレンスを指定します。

例外

なし

戻り値

なし

setRequestメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setRequest(HttpServletRequest req);

パラメタ

req：

HttpServletRequestのリファレンスを指定します。

例外

なし

戻り値

なし

setResponseメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setResponse(HttpServletResponse res);

パラメタ

res：

HttpServletResponseのリファレンスを指定します。

例外

なし

戻り値

なし

setSubjectIDメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setSubjectID(String uid);

パラメタ

uid：

DN名を指定します。

例外

なし

戻り値

なし

setTagEntryメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。

形式

public void setTagEntry(String tid);

パラメタ

tid：

loginタグのentry要素を指定します。

例外

なし

戻り値

なし

setTagIDメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。

形式

public void setTagID(String tid);

パラメタ

tid：

loginタグのid要素を指定します。

例外

なし

戻り値

なし

2.20　WebCertificateHandlerクラス

説明

WebサーバでSSL認証した結果の情報を取得するための実装クラスです。ユーザ認証ライブラリのCallbackHandlerです。

WebCertificateHandlerクラスのパッケージ名は，com.cosminexus.admin.auth.callbackです。

形式

class WebCertificateHandler
{
 public WebCertificateHandler(HttpServletRequest request,
                              HttpServletResponse response,
                              AttributeEntry[] aliases)
   throws ParameterError;
 public WebCertificateHandler(HttpServletRequest request,
                              HttpServletResponse response,
                              String aliasesFile)
   throws ParameterError, FormatError, FileNotFoundException,
          IOException, SecurityException;

 public void handle(Callback[] callbacks)
   throws IOException, UnsupportedCallbackException;
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebCertificateHandlerコンストラクタ | WebCertificateHandlerクラスのインスタンスを生成します。
handleメソッド | SSL認証の結果情報を取得します。

＜この節の構成＞

WebCertificateHandlerコンストラクタ

handleメソッド

WebCertificateHandlerコンストラクタ

説明

WebCertificateHandlerクラスのインスタンスを生成します。requestおよびresponseは，必ず指定します。nullが指定されていた場合は，ParameterError例外が呼び出されます。

形式

public WebCertificateHandler(HttpServletRequest request,
                            HttpServletResponse response,
                            AttributeEntry[] aliases)
   throws ParameterError;

public WebCertificateHandler(HttpServletRequest request,
                            HttpServletResponse response,
                            String aliasesFile)
   throws ParameterError, FormatError, FileNotFoundException,
          IOException, SecurityException;

パラメタ

request：

JSP/Servlet起動時のパラメタをそのまま指定します。

response：

JSP/Servlet起動時のパラメタをそのまま指定します。

aliases：

認証が成功したときに作成するCredential（UserAttributes）に格納する情報を指定します。取得する情報がない場合はnullを指定します。この場合，Credentialは作成されません（空のUserAttributesオブジェクトが作成されます）。aliasesにはAttributeEntryオブジェクトの配列を指定します。指定した内容で必要な情報がない場合は，FormatError例外が発生します（必須の値が格納されていない，またはFormatにない値が指定されている場合）。

aliasesFile：

認証が成功したときに作成するCredential（UserAttributes）に格納する情報を指定します。取得する情報がない場合はnullを指定します。この場合，Credentialは作成されません（空のUserAttributesオブジェクトが作成されます）。aliasesFileにはファイル名を指定します。指定した内容で必要な情報がない場合は，FormatError例外が発生します（必須の値が格納されていない，またはFormatにない値が指定されている場合）。

例外

java.io.FileNotFoundException：

ファイルがない，ファイルではなくディレクトリである，または何かの理由で開くことができません（FileInputStreamクラスのコンストラクタで例外が発生した場合）。

java.lang.SecurityException：

SecurityManagerが存在し，SecurityManagerのcheckReadメソッドでファイルへの読み込みアクセスが拒否されました。

java.io.IOException：

ファイルの読み込みに失敗しました。

com.cosminexus.admin.common.ParameterError：

HttpServletRequestまたはHttpServletResponseのリファレンスが指定されていません。

com.cosminexus.admin.common.FormatError：

aliasesおよびaliasesFileに指定された内容で必要な情報がありません。または余分に指定されています。

handleメソッド

説明

WebサーバでSSL認証した結果の情報を取得して，WebCertificateCallbackオブジェクト（Callbackの実装クラス）のリファレンスに設定します。

形式

public void handle(Callback[] callbacks)
  throws IOException, UnsupportedCallbackException;

パラメタ

callbacks：

WebSSOCallbackオブジェクトのリファレンスを指定されていた場合，セッション情報を設定して返却します。このクラス以外のクラスが指定されていた場合は，コンストラクタに指定されたCallbackHandlerのhandleメソッドを呼び出します。

例外

java.io.IOException：

HttpServletRequest内にWebサーバで認証した結果がありません。

javax.security.auth.callback.UnsupportedCallbackException：

サポートしていないcallbacksリファレンスが指定されています。

戻り値

callbacksに値を設定して返却します。このメソッドでは，戻り値はありません。

2.21　WebCertificateLoginModuleクラス

説明

JAASのログインモジュールの実装クラスです。Cosminexus標準ログインモジュールです。Webサーバで認証された証明書からユーザ属性を求めます。

WebCertificateLoginModuleクラスのパッケージ名は，com.cosminexus.admin.auth.loginです。

2.22　WebLogoutCallbackクラス

説明

Webアプリケーションに渡ってきたユーザ情報をCallbackHandlerからログインモジュールに渡すための実装クラスです。

WebLogoutCallbackクラスのパッケージ名は，com.cosminexus.admin.auth.callbackです。

形式

class WebLogoutCallback implements javax.security.auth.callback.Callback
{
 private HttpSession session = null;
 private String userID = null;

 public WebLogoutCallback();
 public void setSession(HttpSession session);
 public String getSession();
 public void setUserID(String userID);
 public String getUserID();
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebLogoutCallbackコンストラクタ | WebLogoutCallbackクラスのインスタンスを生成します。
getSessionメソッド | setSessionメソッドで指定したHttpSessionオブジェクトのリファレンスを取得します。
getUserIDメソッド | setUserIDメソッドで指定したユーザIDを取得します。
setSessionメソッド | パラメタに指定されたHttpSessionオブジェクトのリファレンスを保管します。
setUserIDメソッド | パラメタに指定されたユーザIDを保管します。

＜この節の構成＞

WebLogoutCallbackコンストラクタ

getSessionメソッド

getUserIDメソッド

setSessionメソッド

setUserIDメソッド

WebLogoutCallbackコンストラクタ

説明

WebLogoutCallbackクラスのインスタンスを生成します。Cosminexus標準ログインモジュールにWebLogoutHandlerが指定され，かつlogoutメソッドが呼ばれた場合に生成されます。

形式

public WebLogoutCallback();

パラメタ

なし

例外

なし

getSessionメソッド

説明

setSessionメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public HttpSession getSession();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getUserIDメソッド

説明

setUserIDメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public String getRequest();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

setSessionメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setSession(HttpSession session);

パラメタ

session：

HttpSessionオブジェクトのリファレンスを指定します。

例外

なし

戻り値

なし

setUserIDメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setUserID(String userID);

パラメタ

userID：

ユーザIDを指定します。

例外

なし

戻り値

なし

2.23　WebLogoutHandlerクラス

説明

ログアウトするユーザからユーザIDを取得するJAAS Callback Handlerクラスの実装です。

WebLogoutHandlerクラスのパッケージ名は，com.cosminexus.admin.auth.callbackです。

形式

class WebLogoutHandler
{
 public WebLogoutHandler(HttpSession session , String userID) throws ParameterError;
 public void handle(Callback[] callbacks)
 throws java.io.IOException, UnsupportedCallbackException;
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebLogoutHandlerコンストラクタ | WebLogoutHandlerクラスのインスタンスを生成します。
handleメソッド | ユーザIDを取得します。

＜この節の構成＞

WebLogoutHandlerコンストラクタ

handleメソッド

WebLogoutHandlerコンストラクタ

説明

WebLogoutHandlerクラスのインスタンスを生成します。

sessionパラメタおよびuserIDパラメタは，必ず指定してください。nullが指定されていた場合は，ParameterError例外が発生します。

形式

public WebLogoutHandler(HttpSession session, String userID);

パラメタ

session：

JSP/Servlet起動時のパラメタをそのまま指定します。

userID：

ログアウトするユーザIDを指定します。

例外

com.cosminexus.admin.common.ParameterError：

HttpSessionまたはStringのリファレンスが指定されていません。

handleメソッド

説明

ユーザIDを取得し，WebLogoutCallbackオブジェクト（Callbackの実装クラス）のリファレンスに設定して統合ユーザ管理フレームワークが提供するログインモジュールに渡します。

形式

public void handle(Callback[] callbacks)
 throws UnsupportedCallbackException;

パラメタ

callbacks：

WebLogoutCallbackオブジェクトのリファレンスを指定されていた場合，ユーザ情報を設定して返却します。上記以外のオブジェクトのリファレンスが指定されていた場合は，UnsupportedCallbackException例外が発生します。

例外

java.io.IOException：

HttpServletRequest内にWebサーバで認証した結果がありません。

javax.security.auth.callback.UnsupportedCallbackException：

サポートしていないcallbacksリファレンスが指定されました。

戻り値

callbacksに値を設定して返却します。このメソッドでは，戻り値はありません。

2.24　WebPasswordCallbackクラス

説明

Webアプリケーションに渡された認証情報をCallbackHandlerからログインモジュールに渡すための実装クラスです。

WebPasswordCallbackクラスのパッケージ名は，com.cosminexus.admin.auth.callbackです。

形式

class WebPasswordCallback implements javax.security.auth.callback.Callback
{
 public static final int GETPW;
 public static final int NOPW;

 public WebPasswordCallback();

 public void setName(String name);
 public String getName();
 public void setPassword(String password);
 public String getPassword();
 public void setRequest(HttpServletRequest req);
 public HttpServletRequest getRequest();
 public void setResponse(HttpServletResponse res);
 public HttpServletResponse getResponse();
 public void setAttributeEntries(AttributeEntry[] aliases);
 public AttributeEntry[] getAttributeEntries();

 public void setOption(int option);
 public int getOption();
 public void setTagID(String tid);
 public String getTagID();
 public void setTagEntry(String entry);
 public String getTagEntry();
}

メンバ属性

GETPW：

このCallbackオブジェクトにすべての情報を設定することを要求します。

NOPW：

このCallbackオブジェクトにユーザID／パスワードを除いた情報を設定することを要求します（このとき，urlに対してforward／includeはしません）。

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebPasswordCallbackコンストラクタ | WebPasswordCallbackクラスのインスタンスを生成します。
getAttributeEntriesメソッド | setAttributeEntriesメソッドで指定した，属性の一覧が格納されたオブジェクトのリファレンスを取得します。
getNameメソッド | setNameメソッドで指定したユーザIDを取得します。
getOptionメソッド | 設定されているオプションを取得します。
getPasswordメソッド | setPasswordメソッドで指定したパスワードを取得します。
getRequestメソッド | setRequestメソッドで指定したHttpServletRequestのリファレンスを取得します。
getResponseメソッド | setResponseメソッドで指定したHttpServletResponseのリファレンスを取得します。
getTagEntryメソッド | setTagEntryメソッドで指定したentryを取得します。
getTagIDメソッド | setTagIDメソッドで指定したTagIDを取得します。
setAttributeEntriesメソッド | パラメタに指定された，属性の一覧が格納されたオブジェクトのリファレンスをオブジェクトに保管します。
setNameメソッド | パラメタに指定されたユーザIDをこのオブジェクトに保管します。
setOptionメソッド | CallbackHandlerで設定する内容を要求します。
setPasswordメソッド | パラメタに指定されたパスワードをこのオブジェクトに保管します。
setRequestメソッド | パラメタに指定されたHttpServletRequestのリファレンスをこのオブジェクトに保管します。
setResponseメソッド | パラメタに指定されたHttpServletResponseのリファレンスをこのオブジェクトに保管します。
setTagEntryメソッド | CallbackHandlerメソッドで設定する内容を要求します。パラメタに指定されたloginタグのentry要素を保管します。
setTagIDメソッド | CallbackHandlerメソッドで設定する内容を要求します。パラメタに指定されたloginタグのid要素を保管します。

＜この節の構成＞

WebPasswordCallbackコンストラクタ

getAttributeEntriesメソッド

getNameメソッド

getOptionメソッド

getPasswordメソッド

getRequestメソッド

getResponseメソッド

getTagEntryメソッド

getTagIDメソッド

setAttributeEntriesメソッド

setNameメソッド

setOptionメソッド

setPasswordメソッド

setRequestメソッド

setResponseメソッド

setTagEntryメソッド

setTagIDメソッド

WebPasswordCallbackコンストラクタ

説明

WebPasswordCallbackクラスのインスタンスを生成します。インスタンスはWebPasswordLoginModuleのloginメソッドの延長で生成されます。

形式

public WebPasswordCallback();

パラメタ

なし

例外

なし

getAttributeEntriesメソッド

説明

setAttributeEntriesメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public AttributeEntry[] getAttributeEntries();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getNameメソッド

説明

setNameメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public String getName();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getOptionメソッド

説明

設定されているオプションを取り出します。値を保管していない場合はGETPWが返却されます（デフォルトは，すべての情報を設定することを要求します）。

形式

public int getOption();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getPasswordメソッド

説明

setPasswordメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public String getPassword();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getRequestメソッド

説明

setRequestメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public HttpServletRequest getRequest();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getResponseメソッド

説明

setResponseメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public HttpServletResponse getResponse();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getTagEntryメソッド

説明

setTagEntryメソッドで指定した内容を取得します。APIを使用してログインした場合はnullが返却されます。

形式

public String getTagEntry();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getTagIDメソッド

説明

setTagIDメソッドで指定した内容を取得します。APIを使用してログインした場合はnullが返却されます。

形式

public String getTagID();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

setAttributeEntriesメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setAttributeEntries(AttributeEntry[] aliases);

パラメタ

aliases：

属性の一覧を格納しているオブジェクト（AttributeEntryの配列）のリファレンスを指定します。

例外

なし

戻り値

なし

setNameメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setName(String uid);

パラメタ

uid：

ユーザIDを指定します。

例外

なし

戻り値

なし

setOptionメソッド

説明

CallbackHandlerで設定する内容を要求します。NOPWが指定された場合，ユーザID／パスワードを除いた情報を設定することをCallbackHandlerに対して要求します（このとき，urlに対してforward／includeはしません）。GETPWが指定された場合，このCallbackオブジェクトに格納できるすべての情報を設定することをCallbackHandlerに対して要求します。

すでに値を保管している情報がある場合は上書きされます。

形式

public void setOption(int option);

パラメタ

option：

GETPWまたはNOPWを設定します。

GETPW
このCallbackオブジェクトにすべての情報を設定することを要求します。

NOPW
このCallbackオブジェクトにユーザID／パスワードを除いた情報を設定することを要求します（このとき，urlに対してforward／includeはしません）。

例外

なし

戻り値

なし

setPasswordメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setPassword(String password);

パラメタ

password：

パスワードを指定します。

例外

なし

戻り値

なし

setRequestメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setRequest(HttpServletRequest req);

パラメタ

req：

HttpServletRequestのリファレンスを指定します。

例外

なし

戻り値

なし

setResponseメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setResponse(HttpServletResponse res);

パラメタ

res：

HttpServletResponseのリファレンスを指定します。

例外

なし

戻り値

なし

setTagEntryメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。

形式

public void setTagEntry(String tid);

パラメタ

tid：

loginタグのentry要素を指定します。

例外

なし

戻り値

なし

setTagIDメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。

形式

public void setTagID(String tid);

パラメタ

tid：

loginタグのid要素を指定します。

例外

なし

戻り値

なし

2.25　WebPasswordHandlerクラス

説明

Webブラウザを介して，ユーザからユーザIDおよびパスワードを取得するJAAS Callback Handlerクラスの実装です。

ユーザIDおよびパスワードは，それぞれHTTPリクエストのcom.cosminexus.admin.auth.nameパラメタおよびcom.cosminexus.admin.auth.passwordパラメタに設定してください。

WebPasswordHandlerクラスのパッケージ名は，com.cosminexus.admin.auth.callbackです。

形式

class WebPasswordHandler
{
 public WebPasswordHandler(HttpServletRequest request,
                           HttpServletResponse response,
                           AttributeEntry [] aliases,
                           String url,
                           boolean urlforward)
   throws FormatError, ParameterError;
 public WebPasswordHandler(HttpServletRequest request,
                           HttpServletResponse response,
                           String aliasesFile,
                           String url,
                           boolean urlforward)
   throws IOException, SecurityException, FormatError,
   ParameterError;

 public void handle(Callback[] callbacks)
   throws IOException, UnsupportedCallbackException;
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebPasswordHandlerコンストラクタ | WebPasswordHandlerクラスのインスタンスを生成します。
handleメソッド | 認証情報を取得します。

＜この節の構成＞

WebPasswordHandlerコンストラクタ

handleメソッド

WebPasswordHandlerコンストラクタ

説明

WebPasswordHandlerクラスのインスタンスを生成します。

WebPasswordHandlerコンストラクタには，Credential（UserAttributes）に格納するユーザ情報（属性）をメモリで指定する場合と，ファイルで指定する場合の二つの形式があります。なお，requestパラメタおよびresponseパラメタは，必ず指定してください。nullが指定されていた場合は，ParameterError例外が発生します。

形式

public WebPasswordHandler(HttpServletRequest request,
                         HttpServletResponse response,
                         AttributeEntry[] aliases,
                         String url,
                         boolean urlforward)
 throws FormatError, ParameterError;

public WebPasswordHandler(HttpServletRequest request,
                         HttpServletResponse response,
                         String aliasesFile,
                         String url,
                         boolean urlforward)
 throws IOException, SecurityException, FormatError,
 ParameterError;

パラメタ

request：

JSP/Servlet起動時のパラメタをそのまま指定します。

response：

JSP/Servlet起動時のパラメタをそのまま指定します。

aliases：

認証が成功したときに作成するCredential（UserAttributes）に格納する情報を指定します。取得する情報がない場合はnullを指定します。このとき，Credentialは作成されません（空のUserAttributesオブジェクトが作成されます）。aliasesには，AttributeEntryオブジェクトの配列を指定します。指定した内容で必要な情報がない場合は，FormatError例外が発生します（必須の値が格納されていない，またはFormatにない値が指定されている場合）。

aliasesFile：

認証が成功したときに作成するCredential（UserAttributes）に格納する情報を指定します。取得する情報がない場合はnullを指定します。このとき，Credentialは作成されません（空のUserAttributesオブジェクトが作成されます）。aliasesFileにはファイル名を指定します。指定した内容で必要な情報がない場合は，FormatError例外が発生します（必須の値が格納されていない，またはFormatにない値が指定されている場合）。

url：

ユーザから認証情報（ユーザID／パスワード）を取得するためのURLを指定します。URLの指定がある場合，urlforwardの指定に従ってLogin FormをRequestDispatcherオブジェクトに渡します（ユーザに対して入力情報を取得する場合）。この指定が不要であればnullを指定します。また，nullの場合は，urlforwardの値を参照しません。nullの場合で，handleメソッドの延長で認証情報の取得ができない（HttpServletRequest内に格納されていない）ときは，LoginContextクラスのloginメソッドの延長でLoginException例外が発生します。

urlforward：

URLの表示方法を選択します。指定されたURLに対して，trueの場合，RequestDispatcherオブジェクトのforwardメソッドを呼び出します。falseの場合，RequestDispatcherオブジェクトに対してincludeメソッドを呼び出します。

例外

java.io.FileNotFoundException：

ファイルがない，ファイルではなくディレクトリである，または何かの理由で開くことができません（FileInputStreamクラスのコンストラクタで例外が発生した場合）。

java.lang.SecurityException：

SecurityManagerが存在し，SecurityManagerのcheckReadメソッドでファイルへの読み込みアクセスが拒否されました。

java.io.IOException：

ファイルの読み込みに失敗しました。

com.cosminexus.admin.common.ParameterError：

HttpServletRequestまたはHttpServletResponseのリファレンスが指定されていません。

com.cosminexus.admin.common.FormatError：

aliasesおよびaliasesFileに指定された内容で必要な情報がありません。または余分に指定されています。

handleメソッド

説明

認証情報を取得し，WebPasswordCallbackオブジェクト（Callbackの実装クラス）のリファレンスに設定してユーザ認証ライブラリのログインモジュールに渡します。

形式

public void handle(Callback[] callbacks)
 throws IOException, UnsupportedCallbackException;

パラメタ

callbacks：

WebPasswordCallbackオブジェクトのリファレンスを指定されていた場合，認証情報を設定して返却します。WebSSOCallbackオブジェクトのリファレンスが指定されていた場合は，セッション情報を設定して返却します。上記以外のオブジェクトのリファレンスが指定されていた場合は，UnsupportedCallbackException例外が発生します。

例外

java.io.IOException：

HttpServletRequest内にユーザID／パスワードの情報がありません。取り出すパラメタ名は，「注意事項」を参照してください。

javax.security.auth.callback.UnsupportedCallbackException：

サポートしていないcallbacksリファレンスが指定されていました。

戻り値

callbacksに値を設定して返却します。このメソッドでは，戻り値はありません。

注意事項

認証情報は，次の図に示す順序で読み込まれます。

図2-1　認証情報の読み込み順序

HttpServletRequest内の認証情報は，次に示すパラメタ名から取得します。

com.cosminexus.admin.auth.name
ユーザが指定したユーザIDを指定します。

com.cosminexus.admin.auth.password
ユーザが指定したパスワードを指定します。

2.26　WebPasswordJDBCLoginModuleクラス

説明

JAASのログインモジュールの実装クラスです。JDBCを使ってデータベースにアクセスし，パスワード認証をします。

WebPasswordJDBCLoginModuleクラスのパッケージ名は，com.cosminexus.admin.auth.loginです。

2.27　WebPasswordLDAPLoginModuleクラス

説明

JAASのログインモジュールの実装クラスです。LDAPディレクトリサーバとバインドした結果で認証をします。

WebPasswordLDAPLoginModuleクラスのパッケージ名は，com.cosminexus.admin.auth.loginです。

2.28　WebPasswordLoginModuleクラス

説明

JAASのログインモジュールの実装クラスです。Webアプリケーションのためのパスワード認証をします。

WebPasswordLoginModuleクラスのパッケージ名は，com.cosminexus.admin.auth.loginです。

2.29　WebSSOCallbackクラス

説明

Webアプリケーションに渡されたセッション情報をCallbackHandlerからログインモジュールに渡すための実装クラスです。

WebSSOCallbackクラスのパッケージ名は，com.cosminexus.admin.auth.sso.callbackです。

形式

class WebSSOCallback implements javax.security.auth.callback.Callback
{
 public WebSSOCallback();

 public void setRequest(HttpServletRequest req);
 public HttpServletRequest getRequest();
 public void setResponse(HttpServletResponse res);
 public HttpServletResponse getResponse();
 public void setTagID(String tid);
 public String getTagID();
 public void setTagEntry(String entry);
 public String getTagEntry();

}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebSSOCallbackコンストラクタ | WebSSOCallbackクラスのインスタンスを生成します。
getRequestメソッド | setRequestメソッドで指定したHttpServletRequestのリファレンスを取得します。
getResponseメソッド | setResponseで指定したHttpServletResponseのリファレンスを取得します。
getTagEntryメソッド | setTagEntryメソッドで指定したentryを取得します。
getTagIDメソッド | setTagIDメソッドで指定したTagIDを取得します。
setRequestメソッド | パラメタに指定されたHttpServletRequestのリファレンスをオブジェクトに保管します。
setResponseメソッド | パラメタに指定されたHttpServletResponseのリファレンスをオブジェクトに保管します。
setTagEntryメソッド | パラメタに指定されたloginタグのentry要素を保管します。
setTagIDメソッド | パラメタに指定されたloginタグのid要素を保管します。

＜この節の構成＞

WebSSOCallbackコンストラクタ

getRequestメソッド

getResponseメソッド

getTagEntryメソッド

getTagIDメソッド

setRequestメソッド

setResponseメソッド

setTagEntryメソッド

setTagIDメソッド

WebSSOCallbackコンストラクタ

説明

WebSSOCallbackクラスのインスタンスを生成します。インスタンスはWebSSOLoginModuleのloginメソッドの延長で生成されます。

形式

public WebSSOCallback();

パラメタ

なし

例外

なし

getRequestメソッド

説明

setRequestメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public HttpServletRequest getRequest();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getResponseメソッド

説明

setResponseメソッドで指定した内容を取得します。値を保管していない場合はnullが返却されます。

形式

public HttpServletResponse getResponse();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getTagEntryメソッド

説明

setTagEntryメソッドで指定した内容を取得します。APIを使用してログインした場合はnullが返却されます。

形式

public String getTagEntry();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

getTagIDメソッド

説明

setTagIDメソッドで指定した内容を取得します。APIを使用してログインした場合はnullが返却されます。

形式

public String getTagID();

パラメタ

なし

例外

なし

戻り値

このオブジェクトが保管している値を返却します。

setRequestメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setRequest(HttpServletRequest req);

パラメタ

req：

HttpServletRequestのリファレンスを指定します。

例外

なし

戻り値

なし

setResponseメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。すでに値を保管している情報がある場合は上書きされます。

形式

public void setResponse(HttpServletResponse res);

パラメタ

res：

HttpServletResponseのリファレンスを指定します。

例外

なし

戻り値

なし

setTagEntryメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。

形式

public void setTagEntry(String tid);

パラメタ

tid：

loginタグのentry要素を指定します。

例外

なし

戻り値

なし

setTagIDメソッド

説明

パラメタに指定された値をこのオブジェクト内に保管します。

形式

public void setTagID(String tid);

パラメタ

tid：

loginタグのid要素を指定します。

例外

なし

戻り値

なし

2.30　WebSSOHandlerクラス

説明

Webブラウザを介して，セッションに関する情報を取得するJAAS CallbackHandlerクラスの実装です。シングルサインオンライブラリのCallbackHandlerです。

このクラスに各システムのログインモジュールに対応したCallbackHandlerのリファレンスを指定することで，各システムのCallbackHandlerの実装を変更しないでシングルサインオンの機能を実現できます。

WebSSOHandlerクラスのパッケージ名は，com.cosminexus.admin.auth.sso.callbackです。

形式

class WebSSOHandler
{
 public WebSSOHandler(HttpServletRequest request,
                      HttpServletResponse response,
                      CallbackHandler ch)
   throws ParameterError;

 public void handle(Callback[] callbacks)
   throws IOException, UnsupportedCallbackException;
}

コンストラクタ・メソッド一覧

コンストラクタ・メソッド名 | 機能
WebSSOHandlerコンストラクタ | WebSSOHandlerクラスのインスタンスを生成します。
handleメソッド | セッション情報を取得します。

＜この節の構成＞

WebSSOHandlerコンストラクタ

handleメソッド

WebSSOHandlerコンストラクタ

説明

WebSSOHandlerクラスのインスタンスを生成します。requestおよびresponseは，必ず指定します。nullが指定されていた場合は，ParameterError例外が発生します。

形式

public WebSSOHandler(HttpServletRequest request,
                    HttpServletResponse response,
                    CallbackHandler ch)
 throws ParameterError;

パラメタ

request：

JSP/Servlet起動時のパラメタをそのまま指定します。

response：

JSP/Servlet起動時のパラメタをそのまま指定します。

ch：

各システムのCallbackHandlerのリファレンスを指定します。不要な場合はnullを指定します。

例外

com.cosminexus.admin.common.ParameterError：

HttpServletRequestまたはHttpServletResponseのリファレンスが指定されていません。

handleメソッド

説明

セッション情報を取得して，WebSSOCallbackオブジェクト（Callbackの実装クラス）のリファレンスに設定してシングルサインオンライブラリのログインモジュールに渡します。

形式

public void handle(Callback[] callbacks)
 throws IOException, UnsupportedCallbackException;

パラメタ

callbacks：

WebSSOCallbackオブジェクトのリファレンスが指定されていた場合，セッション情報を設定して返却します。このクラス以外が指定されていた場合は，コンストラクタに指定されたCallbackHandlerのhandleメソッドを呼び出します。

例外

java.io.IOException：

各システムのCallbackHandlerのhandleメソッドでこの例外が発生しました。

javax.security.auth.callback.UnsupportedCallbackException：

この例外は，次の条件で発生します。

コンストラクタに各システムのCallbackHandlerのリファレンスを指定していません（nullの場合）。

各システムのCallbackHandlerのhandleメソッドでこの例外が発生しました。

戻り値

callbacksに値を設定して返却します。このメソッドでは，戻り値はありません。

2.31　WebSSOLoginModuleクラス

説明

JAASのログインモジュールの実装クラスです。シングルサインオンをするためにほかのログインモジュールを呼び出します。

WebSSOLoginModuleクラスのパッケージ名は，com.cosminexus.admin.auth.sso.loginです。

2.32　例外クラス

統合ユーザ管理のAPIで使用する例外クラスについて説明します。使用する例外クラスには，JAASで規定されているログインモジュールの例外クラスと日立で提供するAPI（JAAS以外）の例外クラスがあります。

＜この節の構成＞

(1)　JAASのログインモジュールの例外クラス

(2)　日立で提供するAPIの例外クラス

(1)　JAASのログインモジュールの例外クラス

JAASで規定されているログインモジュールの例外クラスを次の表に示します。

表2-3　JAASのログインモジュールの例外クラス一覧

項番 | 例外名 | 内容
1 | javax.security.auth.login.LoginException | 項番2～4の親クラスです。コンストラクタのパラメタにmsg（java.lang.String）を持ちます。
2 | javax.security.auth.login.AccountExpiredException | ユーザアカウントが期限切れであることを通知します。
3 | javax.security.auth.login.CredentialExpiredException | Credentialが期限切れであることを通知します。
4 | javax.security.auth.login.FailedLoginException | 認証が失敗したことを通知します。

また，ユーザ認証ライブラリ／シングルサインオンライブラリのログインモジュールでは，これらの例外にエラーメッセージ文字列を設定して送出します。エラーメッセージ文字列の一覧を次の表に示します。

なお，ここで示した例外以外でも，JAASのコンフィグレーションファイルの記述に誤りがある場合にLoginContextクラスをインスタンス化すると，java.lang.SecurityException例外が発生します。その場合は，次の表のエラーメッセージ文字列を参照して，JAASのコンフィグレーションファイルの内容を修正してください。

表2-4　ユーザ認証ライブラリ／シングルサインオンライブラリのログインモジュールの例外

例外名
エラーメッセージ文字列
発生条件

javax.security.auth.login.FailedLoginException
data not found
認証情報が，渡されたパラメタ内にありません。
WebPasswordHandlerクラスに渡したHttpServletRequest内にユーザID／パスワードが格納されていません。

invalid data

ユーザID／パスワードに誤りがあり，認証できません。

証明書から取り出したユーザIDに対応したエントリが，リポジトリ内にありません。

no data
該当セッション内で認証済みである場合に，呼び出そうとしたレルムに対応したシングルサインオン用認証情報が定義されていません。

javax.security.auth.login.LoginException
invalid parameter
Credentialを作成しようとしたときの属性名と属性の一覧の指定内容に次のような誤りがあります。

属性名が指定されていません。

同じAliasが重複して指定されました。

SQLの例外名称
JDBCを使用したアクセスに失敗しました。この例外が発生した場合は，エラーメッセージ文字列を参照して対処してください。

JNDIの例外名称
LDAPのアクセスに失敗しました。

LDAPサーバが見つかりません（CommunicationException）。

バインドDNの指定ミスです（AuthenticationException）。

not supported
未サポートのCallbackHandlerを使用しました。

WebSSOLoginModuleまたはWebPasswordLoginModuleで必要とする情報が，CallbackHandlerで求められません。

handleメソッドで例外が発生しました。この例外は，上記の条件でユーザ管理が提供するCallbackHandlerだけで発生します。

no class for xxx
WebSSOLoginModuleから呼び出すクラスが使用できません（xxxはcom.cosminexus.admin.auth.sso.loginmoduleで指定された値）。

インスタンス化ができません。JAASのログインモジュールを継承していません。また，アクセス権限がない，クラスパスが設定されていない場合があります。

config error

JAASのコンフィグレーションファイルに必要な情報が記述されていないため，処理を続行できませんでした。

Cosminexus標準ログインモジュールによるユーザ管理のコンフィグレーションファイルに必要な情報が記述されていないため，処理を続行できませんでした。

invalid session
HttpSessionオブジェクトに関連づけようとしましたが，HttpSessionオブジェクトが無効になりました。

crypto error
暗号化／復号化で失敗しました。

JNI機能で呼び出すシングルサインオンライブラリの共用ライブラリが見つかりません（java.library.pathの設定に問題があります）。

復号化に失敗しました（暗号化と復号化で異なる鍵を使用しています）。

no sso data
シングルサインオン用の情報がありません。

シングルサインオンをするために必要な情報が定義されていませんでした。

no principal
Principalがないため，最初に認証したユーザを特定することができませんでした。

class cast error
リポジトリから取り出した型と統合ユーザ管理のコンフィグレーションファイルに指定された型が不一致です。一致するようにしてください。ua.conf（統合ユーザ管理のコンフィグレーションファイル）のcom.cosminexus.admin.auth.ldap.password.encryptを参照してください。ua.confファイルについては，マニュアル「Cosminexus　リファレンス　定義編」を参照してください。

not found driver
JDBCを使用しました。

WebPasswordJDBCLoginModuleでドライバが見つかりません。ドライバを正しい場所に格納してください。

その他
各システムのログインモジュールで発生しました。

WebSSOLoginModuleで，ユーザ認証ライブラリ以外のログインモジュールから発生しました。

(2)　日立で提供するAPIの例外クラス

日立で提供するAPI（JAAS以外）の例外クラスは，次の図に示す階層を持ちます。

図2-2　例外クラスの階層

例外クラス一覧を次の表に示します。

表2-5　日立で提供するAPIの例外クラス一覧

項番 | 例外名 | 内容
1 | com.cosminexus.admin.common.UAException | 項番2～8の親クラスです。
2 | com.cosminexus.admin.common.ParameterError | 各APIのパラメタの指定に誤りがありました。
3 | com.cosminexus.admin.common.FormatError | Formatを持つものに対する指定に誤りがありました。
4 | com.cosminexus.admin.common.ConfigError | コンフィグレーションファイルの内容に誤りがありました。
5 | com.cosminexus.admin.auth.api.repository.ldap.ObjectClassError | オブジェクトクラスの指定に誤りがありました。
6 | com.cosminexus.admin.auth.CryptoException | 暗号化／復号化に失敗しました。
7 | com.cosminexus.admin.auth.api.repository.event.ChangeDataFailedException | 他システムの認証情報の更新に失敗した場合に，リスナクラスが呼び出されます。
8 | com.cosminexus.admin.auth.api.repository.event.SSODataListenerException | 他システムの認証情報の更新に失敗した場合に，LdapSSODataManagerクラスが呼び出されます。

3.　統合ユーザ管理フレームワークで使用するタグライブラリ

この章では，統合ユーザ管理フレームワークで使用するJSPタグライブラリについて説明します。

＜この章の構成＞

3.1　タグライブラリのタグの一覧

3.2　<ua:attributeEntries>Entries</ua:attributeEntries>タグ

3.3　<ua:attributeEntry/>タグ

3.4　<ua:login/>タグ

3.5　<ua:logout/>タグ

3.6　<ua:notLogin>Body</ua:notLogin>タグ

3.7　<ua:exception>Body</ua:exception>タグ

3.8　<ua:getPrincipalName/>タグ

3.9　<ua:getAttribute/>タグ

3.10　<ua:getAttributes/>タグ

3.11　<ua:getAttributeNames/>タグ

3.12　<ua:chpw/>タグ

3.1　タグライブラリのタグの一覧

統合ユーザ管理フレームワークでは，JSPで統合ユーザ管理フレームワークの機能を利用してユーザ認証を実装するためのJSPタグライブラリを提供します。

統合ユーザ管理フレームワークのJSPタグライブラリをJSPにインポートするためには，次のコードをJSPに記述します。

<%@ taglib uri="http://cosminexus.com/admin/auth/uatags" prefix="ua" %>

統合ユーザ管理フレームワークが提供するJSPタグライブラリに含まれるタグの一覧を次の表に示します。

表3-1　JSPタグライブラリのタグの一覧

タグ名 | 概要
<ua:attributeEntries>Entries</ua:attributeEntries>タグ | <ua:attributeEntry/>タグと協調して，ログイン時に取得するユーザ属性の一覧を指定します。
<ua:attributeEntry/>タグ | ログイン時に取得する個々のユーザ属性を指定します。
<ua:login/>タグ | ログインします。
<ua:logout/>タグ | ログアウトします。
<ua:notLogin>Body</ua:notLogin>タグ | ログインしていない場合の処理をBodyに記述します。各JSPページの先頭に記述することで，そのJSPページを処理する前にログインしているかどうか確認できます。
<ua:exception>Body</ua:exception>タグ | 例外が発生した場合の処理をBodyに記述します。
<ua:getPrincipalName/>タグ | ログインしているユーザのPrincipal名（ユーザID）を取得または表示します。
<ua:getAttribute/>タグ | ログインしているユーザのユーザ属性値を取得または表示します。
<ua:getAttributes/>タグ | ログインしているユーザのユーザ属性値（Multi-Value）を取得または表示します。
<ua:getAttributeNames/>タグ | ログインしているユーザのユーザ属性名の一覧を取得または表示します。
<ua:chpw/>タグ | 指定したユーザのパスワードを変更します。

この章の3.2～3.12では，各タグのタグ属性について表形式で説明しています。表中の「型」はタグ属性の結果として定義されるスクリプト変数の型を，「C/R」はタグ属性の値をJSPコンパイル時に評価するか（C），実行時に評価するか（R）を示します。

3.2　<ua:attributeEntries>Entries</ua:attributeEntries>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

<ua:attributeEntry/>タグと協調して，ログイン時に取得するユーザ属性の一覧を指定します。取得するユーザ属性の一覧は，Entriesに<ua:attributeEntry/>タグを複数記述して指定します。

<ua:attributeEntries id="ae">
 <ua:attributeEntry attrName="cn" />
 <ua:attributeEntry attrName="sn" />
 ...
</ua:attributeEntries>

(2)　タグ属性

タグ属性を次の表に示します。

表3-2　タグ属性（<ua:attributeEntries>Entries</ua:attributeEntries>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
id="id" | idにAttributeEntryクラスの配列のインスタンスを識別する識別子を指定します。さらに，idはこのインスタンスを参照するスクリプト変数の変数名としても利用されます。このインスタンスはscopeタグ属性で指定されたスコープを持ちます。ここで使用する識別子は，すべてのスコープで一意の識別子にする必要があります。 | AttributeEntry[] | ○ | C
scope="scope" | scopeにidタグ属性で指定したスクリプト変数のスコープを指定します。指定できる値は，"page"，"request"，"session"，"application"のどれかです。それぞれの値の意味は<jsp:useBean/>タグを参照してください。scopeタグ属性を省略した場合は，"page"を仮定します。 | － | △ | C

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

3.3　<ua:attributeEntry/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

ログイン時に取得する個々のユーザ属性を指定します。詳細については，「3.2　<ua:attributeEntries>Entries</ua:attributeEntries>タグ」を参照してください。

(2)　タグ属性

タグ属性を次の表に示します。

表3-3　タグ属性（<ua:attributeEntry/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
attrName="attrName" | attrNameにログイン時に取得するユーザ属性の名称を指定します。 | － | ○ | R
alias="alias" | aliasに取得するユーザ属性の別名を指定します。 | － | △ | R
subCxt="subCxt" | subCxtにユーザ管理コンテキストからのサブコンテキストを指定します。 | － | △ | R

（凡例）

○：必要です。

△：任意です。

－：該当しません。

R：タグ属性の値を実行時に評価します。

3.4　<ua:login/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

指定したJAASコンフィグレーション・エントリを使用してログインします。このとき，HTTPリクエストオブジェクトに，com.cosminexus.admin.auth.nameパラメタおよびcom.cosminexus.admin.auth.passwordパラメタが設定されている必要があります。また，<ua:login/>タグに対応した<ua:logout/>タグが記述されていない場合は，セッション切断時に暗黙的にログアウトします。

(2)　タグ属性

タグ属性を次の表に示します。

表3-4　タグ属性（<ua:login/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
id="id" | idにJAAS LoginContextクラスのインスタンスを識別する識別子を指定します。さらに，idはこのインスタンスを参照するスクリプト変数の変数名としても利用されます。このインスタンスはセッションスコープを持ちます。つまり，同一セッションに参加する異なるJSPページで参照できます。ここで使用する識別子は，すべてのスコープで一意の識別子にする必要があります。 | javax.security.auth.login.LoginContext | ○ | C
entry="JAAS entry" | JAAS entryにJAASコンフィグレーションファイルのエントリ名を指定します。 | － | ○ | R
attrFile="attrFile" | attrFileにユーザ管理リポジトリから取得する属性を記述したファイルのファイル名を指定します。ファイルの形式については，シングルサインオン用認証情報のCSV形式ファイルを参照してください。シングルサインオン用認証情報のCSV形式ファイルについては，マニュアル「Cosminexus　リファレンス　定義編」を参照してください。 | － | △※ | R
attrEntName="attrEntName" | attrEntNameに<ua:attributeEntries>タグのidタグ属性で指定した識別子を指定します。 | － | R
excepId="excepId" | excepIdにログイン処理中に発生した例外のインスタンスを識別する識別子を指定します。このインスタンスはexcepScopeタグ属性で指定されたスコープを持ちます。ここで使用する識別子は，すべてのスコープで一意の識別子にする必要があります。excepIdタグ属性を省略した場合は，ログイン処理中に発生した例外はJspException例外として<ua:login/>タグの外側に伝わります。 | － | △ | C
excepScope="scope" | scopeにexcepIdタグ属性で指定したスクリプト変数のスコープを指定します。指定できる値は，"page"，"request"，"session"，"application"のどれかです。それぞれの値の意味は，<jsp:useBean/>タグを参照してください。excepScopeタグ属性を省略した場合は，"page"を仮定します。 | － | △ | C

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

R：タグ属性の値を実行時に評価します。

注※

指定する場合はどちらかを指定します。

3.5　<ua:logout/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

ログアウトします。事前にログインしていない場合は，何もしません。

(2)　タグ属性

タグ属性を次の表に示します。

表3-5　タグ属性（<ua:logout/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
name="name" | nameに<ua:login/>タグで指定したJAAS LoginContextオブジェクトの識別子（idタグ属性で指定）を指定します。誤った識別子を指定した場合は，何もしません。 | － | ○ | R

（凡例）

○：必要です。

－：該当しません。

R：タグ属性の値を実行時に評価します。

3.6　<ua:notLogin>Body</ua:notLogin>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

ログインしていない場合の処理をBodyに記述します。各JSPページの先頭に記述することで，そのJSPページを処理する前にログインしているかどうかを確認できます。

(2)　タグ属性

タグ属性を次の表に示します。

表3-6　タグ属性（<ua:notLogin>Body</ua:notLogin>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
realm="realm" | realmにレルム名を指定します。指定したレルムにログインしていない場合，Bodyを実行します。realmタグ属性を省略した場合は，どのレルムにもログインしていない場合にBodyを実行します。 | － | △ | R
proceed="proceed" | proceedにBody処理後，残りのJSPページを処理するかどうかを指定します。"true"を指定した場合（Ignore Case）は残りのJSPページを処理し，そうでない場合は残りのJSPページを処理しません。proceedタグ属性を省略した場合は，"false"を仮定します。 | － | △ | R

（凡例）

△：任意です。

－：該当しません。

R：タグ属性の値を実行時に評価します。

3.7　<ua:exception>Body</ua:exception>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

指定した例外が発生した場合の処理をBodyに記述します。

(2)　タグ属性

タグ属性を次の表に示します。

表3-7　タグ属性（<ua:exception>Body</ua:exception>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
name="name" | nameに<ua:login/>タグや<ua:chpw/>タグなどで指定した例外オブジェクトの識別子（excepIdタグ属性で指定）を指定します。誤った識別子を指定した場合は何もしません。 | － | ○ | C
type="type" | typeにcatchする例外オブジェクトのクラス名を，パッケージ名を含めた完全名で指定します。catchしようとする例外オブジェクトが指定したクラス名のクラスにキャストできる場合，Bodyが実行されます。typeタグ属性を省略した場合は，"java.lang.Throwable"を仮定します。 | － | △ | C
proceed="proceed" | proceedにBody処理後，残りのJSPページを処理するかどうかを指定します。"true"を指定した場合（Ignore Case）は残りのJSPページを処理し，そうでない場合は残りのJSPページを処理しません。proceedタグ属性を省略した場合は，"false"を仮定します。 | － | △ | R

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

R：タグ属性の値を実行時に評価します。

3.8　<ua:getPrincipalName/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

ログインしているユーザのPrincipal名（ユーザID）を取得または表示します。

(2)　タグ属性

タグ属性を次の表に示します。

表3-8　タグ属性（<ua:getPrincipalName/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
id="id" | idにログインしているユーザのPrincipal名（ユーザID）を参照するインスタンスを識別する識別子を指定します。さらに，idはこのインスタンスを参照するスクリプト変数の変数名としても利用されます。このインスタンスはページスコープを持ちます。そのため，同一JSPページ内で参照できます。したがって，idには，ページスコープで一意の識別子を指定する必要があります。idタグ属性を省略した場合は，取得したPrincipal名をJSPに埋め込みます。 | String | △ | C
name="name" | nameに<ua:login/>タグで指定したJAAS LoginContextオブジェクトの識別子（idタグ属性で指定）を指定します。誤った識別子を指定した場合は，idスクリプト変数にnullを設定します。 | － | ○ | R

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

R：タグ属性の値を実行時に評価します。

3.9　<ua:getAttribute/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

ログインしているユーザのユーザ属性値を取得または表示します。

(2)　タグ属性

タグ属性を次の表に示します。

表3-9　タグ属性（<ua:getAttribute/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
id="id" | idにログインしているユーザのユーザ属性値を参照するインスタンスを識別する識別子を指定します。さらに，idはこのインスタンスを参照するスクリプト変数の変数名としても利用されます。このインスタンスはページスコープを持ちます。そのため，同一JSPページ内で参照できます。したがって，idには，ページスコープで一意の識別子を指定する必要があります。idタグ属性を省略した場合は，取得したユーザ属性値をtoStringメソッドを使用してJSPに埋め込みます。 | typeタグ属性の値 | △ | C
name="name" | nameに<ua:login/>タグで指定したJAAS LoginContextオブジェクトの識別子（idタグ属性で指定）を指定します。誤った識別子を指定した場合は，idスクリプト変数にnullを設定します。 | － | ○ | R
attrName="attrName" | attrNameに取得するユーザ属性の属性名を指定します。指定したユーザ属性がない場合，idスクリプト変数にnullを設定します。 | － | ○ | R
type="type" | typeに取得する属性オブジェクトのクラス名を，パッケージ名を含めた完全名で指定します。typeタグ属性を省略した場合は，"java.lang.String"を仮定します。 | － | △ | C

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

R：タグ属性の値を実行時に評価します。

3.10　<ua:getAttributes/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

ログインしているユーザのユーザ属性値（Multi-Value）を取得または表示します。

(2)　タグ属性

タグ属性を次の表に示します。

表3-10　タグ属性（<ua:getAttributes/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
id="id" | idにログインしているユーザのユーザ属性値（Multi-Value）を参照するインスタンスを識別する識別子を指定します。さらに，idはこのインスタンスを参照するスクリプト変数の変数名としても利用されます。このスクリプト変数の型は，java.util. Enumerationです。このインスタンスはページスコープを持ちます。そのため，同一JSPページ内で参照できます。したがって，idには，ページスコープで一意の識別子を指定する必要があります。idタグ属性を省略した場合は，取得したユーザ属性値をtoStringメソッドを使用してJSPに1行ずつ埋め込みます。 | java.util.Enumeration | △ | C
name="name" | nameに<ua:login/>タグで指定したJAAS LoginContextオブジェクトの識別子（idタグ属性で指定）を指定します。誤った識別子を指定した場合は，idスクリプト変数にnullを設定します。 | － | ○ | R
attrName="attrName" | attrNameに取得するユーザ属性の属性名を指定します。指定したユーザ属性がない場合，idスクリプト変数にnullを設定します。 | － | ○ | R

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

R：タグ属性の値を実行時に評価します。

3.11　<ua:getAttributeNames/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

ログインしているユーザのユーザ属性名の一覧を取得または表示します。

(2)　タグ属性

タグ属性を次の表に示します。

表3-11　タグ属性（<ua:getAttributeNames/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
id="id" | idにログインしているユーザのユーザ属性名の一覧を参照するインスタンスを識別する識別子を指定します。さらに，idはこのインスタンスを参照するスクリプト変数の変数名としても利用されます。このスクリプト変数の型は，java.util.Enumerationです。このインスタンスはページスコープを持ちます。そのため，同一JSPページ内で参照できます。したがって，idには，ページスコープで一意の識別子を指定する必要があります。idタグ属性を省略した場合は，取得したユーザ属性名をtoStringメソッドを使用してJSPに1行ずつ埋め込みます。 | java.util.Enumeration | △ | C
name="name" | nameに<ua:login/>タグで指定したJAAS LoginContextオブジェクトの識別子（idタグ属性で指定）を指定します。誤った識別子を指定した場合は，idスクリプト変数にnullを設定します。 | － | ○ | R

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

R：タグ属性の値を実行時に評価します。

3.12　<ua:chpw/>タグ

＜この節の構成＞

(1)　説明

(2)　タグ属性

(1)　説明

指定したユーザのパスワードを変更します。

(2)　タグ属性

タグ属性を次の表に示します。

表3-12　タグ属性（<ua:chpw/>タグ）

タグ属性 | 説明 | 型 | 要否 | C/R
entry="JAAS entry" | JAAS entryにJAASコンフィグレーションファイルのエントリ名を指定します。 | － | ○ | R
userid="userid" | useridにパスワードを変更するユーザのユーザIDを指定します。 | － | ○※ | R
useridParam="useridParam" | useridParamにパスワードを変更するユーザのユーザIDが格納されたHTTPリクエストパラメタの名前を指定します。 | － | R
oldpw="oldpw" | oldpwに現在のパスワードを平文で指定します。 | － | ○※ | R
oldpwParam="oldpwParam" | oldpwParamに現在のパスワードが格納されたHTTPリクエストパラメタの名前を指定します。 | － | R
newpw="newpw" | newpwに新しいパスワードを平文で指定します。 | － | ○※ | R
newpwParam="newpwParam" | newpwParamに新しいパスワードが格納されたHTTPリクエストパラメタの名前を指定します。 | － | R
excepId="excepId" | excepIdにパスワード変更処理中に発生した例外のインスタンスを識別する識別子を指定します。このインスタンスはexcepScopeタグ属性で指定されたスコープを持ちます。ここで使用する識別子は，すべてのスコープで一意の識別子にする必要があります。excepIdタグ属性を省略した場合は，パスワード変更処理中に発生した例外は，JspException例外として<ua:chpw/>タグの外側に伝わります。 | － | △ | C
excepScope="scope" | scopeにexcepIdタグ属性で指定したスクリプト変数のスコープを指定します。指定できる値は，"page"，"request"，"session"，"application"のどれかです。それぞれの値の意味は，<jsp:useBean/>タグを参照してください。excepScopeタグ属性を省略した場合は，"page"を仮定します。 | － | △ | C

（凡例）

○：必要です。

△：任意です。

－：該当しません。

C：タグ属性の値をJSPコンパイル時に評価します。

R：タグ属性の値を実行時に評価します。

注※

どちらかを指定します。

4.　EJBクライアントアプリケーションで使用するAPI

この章では，EJBクライアントアプリケーションで使用するAPIおよび例外クラスについて説明します。

＜この章の構成＞

4.1　EJBクライアントアプリケーションで使用するAPIの一覧

4.2　EJBClientInitializerクラス

4.3　LoginInfoManagerクラス

4.4　RequestTimeoutConfigFactoryクラス

4.5　RequestTimeoutConfigクラス

4.6　UserTransactionFactoryクラス

4.7　例外クラス

4.1　EJBクライアントアプリケーションで使用するAPIの一覧

EJBクライアントアプリケーションで使用するAPIには，セキュリティ機能および通信タイムアウトを設定するAPIがあります。APIの一覧を次の表に示します。

表4-1　EJBクライアントアプリケーションで使用するAPIの一覧

クラス名 | 機能
EJBClientInitializerクラス | EJBクライアント用のJ2EEサービスを初期化します。
LoginInfoManagerクラス | セキュリティ機能を設定します。
RequestTimeoutConfigFactoryクラス | RMI-IIOPタイムアウトを設定するために必要なRequestTimeoutConfigオブジェクトを取得します。
RequestTimeoutConfigクラス | RMI-IIOPタイムアウトを設定します。
UserTransactionFactoryクラス | EJBクライアントでトランザクションを使用するためのUserTransactionオブジェクトを取得します。

4.2　EJBClientInitializerクラス

説明

EJBクライアント用のJ2EEサービスを初期化します。

EJBClientInitializerクラスのパッケージ名は，com.hitachi.software.ejb.ejbclient.EJBClientInitializerです。

メソッド一覧

メソッド名 | 機能
initializeメソッド | EJBクライアント用のJ2EEサービスを初期化します。

＜この節の構成＞

initializeメソッド

initializeメソッド

説明

EJBクライアントアプリケーション用のJ2EEサービスを初期化します。また，トランザクション処理中にEJBクライアントが停止した場合，EJBクライアントを再起動したあとに，グローバルトランザクションのリカバリ処理を開始します。

EJBクライアントプロセスの開始直後に，EJBクライアントのユーザコードから，initializeメソッドを呼び出してください。

なお，initializeメソッドを呼び出す前に，javax.naming.InitialContextを生成した場合，またはUserTransactionFactoryクラスのgetUserTransactionメソッドを呼び出した場合，その時点で初期化処理が行われます。

形式

public static void initialize()
throws InitializeFailedException;

パラメタ

なし

例外

com.hitachi.software.ejb.ejbclient.InitializeFailedException：

サービスの初期化に失敗しました。

戻り値

なし

注意事項

サービスの初期化処理で例外が発生した場合は，EJBクライアント実行時のシステムプロパティが正しく設定されていないおそれがあります。例外のメッセージに従って対処してください。

4.3　LoginInfoManagerクラス

説明

J2EEサーバに設定したユーザとパスワードを使って，セキュリティ認証を実行します。

セキュリティ認証を実行するJ2EEサーバについて説明します。

ejbserver.security.service.urlプロパティを指定している場合
セキュリティ認証は，ejbserver.security.service.urlプロパティに指定したCORBAネーミングサービスに接続しているJ2EEサーバのうち，ejbserver.serverNameプロパティで指定したサーバ名称と一致するJ2EEサーバで実行されます。
ejbserver.security.service.urlプロパティは，java.naming.provider.urlプロパティに指定したCORBAネーミングサービスに接続していないJ2EEサーバでセキュリティ認証を実行する場合に，指定してください。

ejbserver.security.service.urlプロパティを指定していない場合
セキュリティ認証は，java.naming.provider.urlプロパティに指定したCORBAネーミングサービスに接続しているJ2EEサーバのうち，ejbserver.serverNameプロパティで指定したサーバ名称と一致するJ2EEサーバで実行されます。

JNDIラウンドロビン検索機能やCTM連携機能などを使った負荷分散構成の場合は，セキュリティ認証を実行できるJ2EEサーバが複数存在することになります。この場合，構成するJ2EEサーバすべてに同じユーザ，および同じロールの情報を設定した上で，セキュリティ認証用のJ2EEサーバを一つ決定してください。

各プロパティの詳細については，マニュアル「Cosminexus　リファレンス　定義編」を参照してください。EJBクライアントアプリケーションでのセキュリティの実装方法については，マニュアル「Cosminexus　機能解説」を参照してください。

LoginInfoManagerクラスのパッケージ名は，com.hitachi.software.ejb.security.base.authenticationです。

メソッド一覧

メソッド名 | 機能
getLoginInfoManagerメソッド | LoginInfoManagerオブジェクトを取得します。
loginメソッド | J2EEサーバにログインします。
logoutメソッド | J2EEサーバからログアウトします。

注意事項

LoginInfoManagerクラスのメソッドを使用する場合は次の点に注意してください。

LoginInfoManagerクラスのメソッドは，EJBクライアントアプリケーションから発行することを推奨しています。JSP，サーブレット，またはEJB内から発行した場合，RunAs機能によって設定した情報が，リクエスト単位で削除されます。

loginメソッドを発行してJ2EEサーバを呼び出したあとは，必ずlogoutメソッドを発行してください。

loginメソッドおよびlogoutメソッドを入れ子で発行しないでください。logoutメソッドを発行しないでloginメソッドを連続で発行すると，1回目のloginメソッドで指定した情報が2回目のloginメソッドによって上書きされます。

＜この節の構成＞

getLoginInfoManagerメソッド

loginメソッド

logoutメソッド

getLoginInfoManagerメソッド

説明

LoginInfoManagerオブジェクトを取得します。

形式

public static LoginInfoManager getLoginInfoManager();

パラメタ

なし

例外

なし

戻り値

LoginInfoManagerオブジェクトを返却します。

loginメソッド

説明

J2EEサーバにログインします。

形式

public final boolean login(String username,
                          String password)
 throws NotFoundServerException,InvalidUserNameException,
        InvalidPasswordException;

パラメタ

username：

ユーザ名（plain text）を指定します。

password：

パスワード（plain text）を指定します。

例外

com.hitachi.software.ejb.security.base.authentication.NotFoundServerException：

J2EEサーバが見つかりません。

com.hitachi.software.ejb.security.base.authentication.InvalidUserNameException：

指定されたユーザ名が見つかりません。

com.hitachi.software.ejb.security.base.authentication.InvalidPasswordException：

指定したパスワードが不正です。

戻り値

true：

ログインに成功しました。

false：

ログインに失敗しました。

logoutメソッド

説明

J2EEサーバからログアウトします。

形式

public final void logout();

パラメタ

なし

例外

なし

戻り値

なし

4.4　RequestTimeoutConfigFactoryクラス

説明

RMI-IIOP通信タイムアウトを設定するオブジェクトであるRequestTimeoutConfigを取得するためのファクトリです。getRequestTimeoutConfigメソッドでRequestTimeoutConfigを取得したあと，RequestTimeoutConfigのメソッドでタイムアウトを設定します。

RequestTimeoutConfigFactoryクラスのパッケージ名は，com.hitachi.software.ejb.ejbclientです。

メソッド一覧

メソッド名 | 機能
getRequestTimeoutConfigメソッド | RequestTimeoutConfigオブジェクトを取得します。

＜この節の構成＞

getRequestTimeoutConfigメソッド

getRequestTimeoutConfigメソッド

説明

RequestTimeoutConfigオブジェクトを取得します。

形式

public static RequestTimeoutConfig getRequestTimeoutConfig();

パラメタ

なし

例外

なし

戻り値

RequestTimeoutConfig：

RequestTimeoutConfigオブジェクトを返却します。

4.5　RequestTimeoutConfigクラス

説明

RMI-IIOP通信タイムアウトを設定するオブジェクトです。

RequestTimeoutConfigクラスのパッケージ名は，com.hitachi.software.ejb.ejbclientです。

メソッド一覧

メソッド名
機能

setRequestTimeoutメソッド（形式1）
RMI-IIOP通信タイムアウトを設定します。
オブジェクトにタイムアウトを設定します。

setRequestTimeoutメソッド（形式2）
RMI-IIOP通信タイムアウトを設定します。
スレッドにタイムアウトを設定します。

unsetRequestTimeoutメソッド
setRequestTimeoutメソッド（形式2）で設定したRMI-IIOP通信タイムアウトの設定をデフォルト設定に戻します。

＜この節の構成＞

setRequestTimeoutメソッド（形式1）

setRequestTimeoutメソッド（形式2）

unsetRequestTimeoutメソッド

setRequestTimeoutメソッド（形式1）

説明

RMI-IIOP通信タイムアウトを設定します。objパラメタのコピーを生成し，secパラメタをタイムアウト値として設定したオブジェクトを返却します。このメソッドで設定したタイムアウトは，返却されたオブジェクトに対して有効です。

形式

public java.rmi.Remote setRequestTimeout(java.rmi.Remote obj,
                                        int sec)
 throws IllegalArgumentException,
        IllegalStateException;

パラメタ

obj：

タイムアウトを設定するオブジェクト（EJBHomeまたはEJBObject）を指定します。

sec：

0～86400の整数でタイムアウト時間（単位：秒）を指定します。0を指定した場合，タイムアウトを設定しません。

例外

java.lang.IllegalArgumentException：

タイムアウト設定対象として不正なオブジェクト，またはタイムアウト時間として不正な値を指定しました。

java.lang.IllegalStateException：

タイムアウトの設定に失敗しました。

戻り値

タイムアウト設定済みのオブジェクトを返却します。

注意事項

このメソッドでタイムアウトを設定する場合，setRequestTimeoutメソッド（形式2）を使用してタイムアウトを設定する場合に比べて，処理に時間が掛かります。

setRequestTimeoutメソッド（形式2）

説明

RMI-IIOP通信タイムアウトを設定します。実行中のスレッドに対し，パラメタsecをタイムアウト値として設定します。このメソッドで設定したタイムアウトは，現在実行中のスレッドに対して有効です。なお，処理の終了時には，unsetメソッドを使用して必ずタイムアウトの設定を解除してください。同一スレッド内でこのメソッドを複数回呼び出した場合，タイムアウトの設定値が上書きされます。

形式

public void setRequestTimeout(int sec)
 throws IllegalArgumentException,
        IllegalStateException;

パラメタ

sec：

0～86400の整数でタイムアウト時間（単位：秒）を指定します。0を指定した場合，タイムアウトを設定しません。

例外

java.lang.IllegalArgumentException：

タイムアウト設定対象として不正なオブジェクト，またはタイムアウト時間として不正な値を指定しました。

java.lang.IllegalStateException：

タイムアウトの設定に失敗しました。

戻り値

なし

注意事項

このメソッドでタイムアウトを設定する場合は，処理が終わった時点で必ずunsetRequestTimeoutメソッドを呼び出してタイムアウトの設定を解除してください。解除しないと，ほかのクライアントからの呼び出しに対して該当スレッドが使用された場合に，そのクライアントにとって意図しない通信タイムアウトが発生するおそれがあります。

unsetRequestTimeoutメソッド

説明

RMI-IIOP通信タイムアウトの設定を解除します。実行中のスレッドに対し，setRequestTimeout（形式2）で設定したタイムアウトを解除します。なお，setRequestTimeout（形式2）でスレッドにタイムアウトを設定した場合は，処理の終了時に必ずこのメソッドを使用してタイムアウトの設定を解除してください。setRequestTimeout（形式2）を呼び出さないでこのメソッドを呼び出した場合や，同一スレッド内でこのメソッドを複数回呼び出した場合でも，例外は発生しません。

形式

public void unsetRequestTimeout()
 throws IllegalStateException;

パラメタ

なし

例外

java.lang.IllegalStateException：

タイムアウトの解除に失敗しました。

戻り値

なし

4.6　UserTransactionFactoryクラス

説明

EJBクライアントでトランザクションを使用するためのオブジェクトであるUserTransactionオブジェクトを取得するためのファクトリです。

UserTransactionFactoryクラスのパッケージ名は，com.hitachi.software.ejb.ejbclient.UserTransactionFactoryです。

メソッド一覧

メソッド名 | 機能
getUserTransactionメソッド | UserTransactionオブジェクトを取得します。

＜この節の構成＞

getUserTransactionメソッド

getUserTransactionメソッド

説明

UserTransactionオブジェクトを取得します。

形式

public static UserTransaction getUserTransaction();

例外

java.lang.IllegalStateException：

EJBクライアント以外からAPIを発行しました。または，UserTransactionオブジェクトの取得に失敗しました。

戻り値

javax.transaction.UserTransactionオブジェクト

4.7　例外クラス

EJBクライアントアプリケーションのAPIで使用する例外クラスのうち，Cosminexusが提供しているクラスについて説明します。

EJBクライアントアプリケーションのAPIで使用する例外クラスを次の表に示します。

表4-2　EJBクライアントアプリケーションのAPIで使用する例外クラス

例外名
内容

com.hitachi.software.ejb.security.base.authentication.NotFoundServerException
LoginInfoManagerクラスのloginメソッドでログインしようとした場合に，ログイン先のJ2EEサーバに接続できなかったときに送出されます。
ejbserver.serverNameプロパティに指定するJ2EEサーバ名が，ログイン先のJ2EEサーバ名と同じになっていることを確認してください。また，ログイン先のJ2EEサーバが起動していることを確認してください。

com.hitachi.software.ejb.security.base.authentication.InvalidUserNameException
LoginInfoManagerクラスのloginメソッドでログインしようとした場合に，ユーザ名が不正だったときに送出されます。
ユーザ名が正しいかを確認してください。

com.hitachi.software.ejb.security.base.authentication.InvalidPasswordException
LoginInfoManagerクラスのloginメソッドでログインしようとした場合に，パスワードが不正だったときに送出されます。
パスワードが正しいかを確認してください。

5.　ユーザログ機能で使用するAPI

この章では，ユーザログ機能で使用するAPIについて説明します。

＜この章の構成＞

5.1　ユーザログ機能で使用するAPIの一覧

5.2　CJLogRecordクラス

5.1　ユーザログ機能で使用するAPIの一覧

J2EEアプリケーション，バッチアプリケーション，またはEJBクライアントアプリケーションが出力するログ（ユーザログ）を日立トレース共通ライブラリ形式で出力する場合に使用するAPIの一覧を次に示します。

表5-1　ユーザログ機能で使用するAPIの一覧

クラス名 | 機能
CJLogRecordクラス | LogRecordクラスに，MsgIDやAppNameパラメタを追加したクラスです。このクラスのメソッドを利用して作成したLogRecordオブジェクト（CJLogRecordオブジェクト）をLogger.logメソッドに渡すことで，MsgIDやAppNameのフィールド値も実行時に指定した値で出力できます。

5.2　CJLogRecordクラス

説明

java.util.logging.LogRecordクラスにMsgIDやAppNameパラメタを追加したクラスです。MsgIDやAppNameが指定された場合のLogRecordオブジェクト（以降，CJLogRecordオブジェクトと呼びます）を作成するためのスタティックメソッドを提供しています。

CJLogRecordクラスのパッケージ名は，com.hitachi.software.ejb.application.userlogです。

メソッド一覧

メソッド名 | 機能
createメソッド（形式1） | Level，MessageおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式2） | Level，Message，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式3） | Level，Message，ObjectおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式4） | Level，Message，Object，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式5） | Level，Message，ThrownおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式6） | Level，Message，Thrown，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式7） | Level，Message，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式8） | Level，Message，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式9） | Level，Message，Thrown，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createメソッド（形式10） | Level，Message，Thrown，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式1） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），MessageおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式2） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式3） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，ObjectおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式4） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Object，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式5） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，ThrownおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式6） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Thrown，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式7） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式8） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式9） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Thrown ，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createpメソッド（形式10） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Thrown，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式1） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），MessageおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式2） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式3） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，ObjectおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式4） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Object，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式5） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，ThrownおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式6） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Thrown，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式7） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式8） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式9） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Thrown，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。
createrbメソッド（形式10） | Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Thrown，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

なお，CJLogRecordクラスの継承元であるLogRecordクラスおよび各メソッドのパラメタに指定するLevelは，java.util.loggingパッケージに属するクラスです。

＜この節の構成＞

createメソッド（形式1）

createメソッド（形式2）

createメソッド（形式3）

createメソッド（形式4）

createメソッド（形式5）

createメソッド（形式6）

createメソッド（形式7）

createメソッド（形式8）

createメソッド（形式9）

createメソッド（形式10）

createpメソッド（形式1）

createpメソッド（形式2）

createpメソッド（形式3）

createpメソッド（形式4）

createpメソッド（形式5）

createpメソッド（形式6）

createpメソッド（形式7）

createpメソッド（形式8）

createpメソッド（形式9）

createpメソッド（形式10）

createrbメソッド（形式1）

createrbメソッド（形式2）

createrbメソッド（形式3）

createrbメソッド（形式4）

createrbメソッド（形式5）

createrbメソッド（形式6）

createrbメソッド（形式7）

createrbメソッド（形式8）

createrbメソッド（形式9）

createrbメソッド（形式10）

createメソッド（形式1）

説明

Level，MessageおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式2）

説明

Level，Message，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                String appName,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式3）

説明

Level，Message，ObjectおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Object param1,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

param1：

LogRecordにセットするオブジェクトを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式4）

説明

Level，Message，Object，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Object param1,
                                String appName,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

param1：

LogRecordにセットするオブジェクトを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式5）

説明

Level，Message，ThrownおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Throwable thrown,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式6）

説明

Level，Message，Thrown，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Throwable thrown,
                                String appName,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式7）

説明

Level，Message，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Object[] params,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式8）

説明

Level，Message，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Object[] params,
                                String appName,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式9）

説明

Level，Message，Thrown，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Throwable thrown,
                                Object[] params,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createメソッド（形式10）

説明

Level，Message，Thrown，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord create(Level level,
                                String msg,
                                Throwable thrown,
                                Object[] params,
                                String appName,
                                String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式1）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），MessageおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式2）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 String appName,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式3）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，ObjectおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Object param1,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

param1：

LogRecordにセットするオブジェクトを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式4）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Object，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Object param1,
                                 String appName,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

param1：

LogRecordにセットするオブジェクトを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式5）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，ThrownおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Throwable thrown,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式6）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Thrown，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Throwable thrown,
                                 String appName,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式7）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Object[] params,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式8）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Object[] params,
                                 String appName,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式9）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Thrown，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Throwable thrown,
                                 Object[] params,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createpメソッド（形式10）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），Message，Thrown，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createp(Level level,
                                 String sourceClass,
                                 String sourceMethod,
                                 String msg,
                                 Throwable thrown,
                                 Object[] params,
                                 String appName,
                                 String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式1）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），MessageおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式2）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  String appName,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式3）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，ObjectおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Object param1,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

param1：

LogRecordにセットするオブジェクトを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式4）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Object，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Object param1,
                                  String appName,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

param1：

LogRecordにセットするオブジェクトを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式5）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，ThrownおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Throwable thrown,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式6）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Thrown，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Throwable thrown,
                                  String appName,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式7）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Object[] params,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式8）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Object[] params,
                                  String appName,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式9）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Thrown，Object配列およびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Throwable thrown,
                                  Object[] params,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

createrbメソッド（形式10）

説明

Level，発生元クラス名（sourceClass），発生元メソッド名（sourceMethod），リソースバンドル名（bundleName），Message，Thrown，Object配列，AppNameおよびMsgIDを渡して，CJLogRecordオブジェクトを作成します。

形式

public static CJLogRecord createrb(Level level,
                                  String sourceClass,
                                  String sourceMethod,
                                  String bundleName,
                                  String msg,
                                  Throwable thrown,
                                  Object[] params,
                                  String appName,
                                  String msgID);

パラメタ

level：

メッセージレベル識別子（例えば，SEVEREなど）を指定します。

sourceClass ：

ロギングの要求を発行したクラス名を指定します。

sourceMethod：

ロギングの要求を発行したメソッド名を指定します。

bundleName：

msgを地域化するためのリソースバンドル名を指定します。

msg：

文字列メッセージ，またはメッセージカタログのキーを指定します。

thrown：

LogRecordにセットする例外オブジェクトを指定します。

params：

ユーザが利用する（Logger.logメソッドのObject配列に直接渡す予定だった）ユーザ固有のObject配列を指定します。

appName：

AppNameフィールドに出力する値（アプリケーション識別名）を指定します。

msgID：

MsgIDフィールドに出力する値（メッセージ文字列）を指定します。

戻り値

CJLogRecordオブジェクトを返却します。

6.　性能解析トレースで使用するAPI

この章では，性能解析トレースのルートアプリケーション情報取得機能で使用するAPIについて説明します。

＜この章の構成＞

6.1　性能解析トレースで使用するAPIの一覧

6.2　CprfTraceクラス

6.1　性能解析トレースで使用するAPIの一覧

性能解析トレースで使用するAPIの一覧を次の表に示します。

表6-1　性能解析トレースで使用するAPIの一覧

クラス名 | 機能
CprfTraceクラス | 性能解析トレース関連の機能を提供します。

6.2　CprfTraceクラス

説明

性能解析トレース関連の機能を提供します。

CprfTraceクラスのパッケージ名は，com.hitachi.software.ejb.application.prfです。

メソッド一覧

メソッド名 | 機能
getRootApInfoメソッド | 現在のスレッドが保持している性能解析トレースのルートアプリケーション情報を文字列表現で返します。

注意事項

このクラスを使用する場合は，次のJARファイルをクラスパスに指定してコンパイルします。

Windowsの場合
<Cosminexusのインストールディレクトリ>¥CC¥lib¥ejbserver.jar

UNIXの場合
/opt/Cosminexus/CC/lib/ejbserver.jar

＜この節の構成＞

getRootApInfoメソッド

getRootApInfoメソッド

説明

現在のスレッドが保持している性能解析トレースのルートアプリケーション情報を文字列表現で返します。

ルートアプリケーション情報の文字列表現とは，ルートアプリケーション情報を構成するIPアドレス，プロセスID，および通信番号をスラッシュ(/)で区切ったものです（最大長48）。

例: "10.209.15.130/1234/0x0000000000000001"

ルートアプリケーション情報の文字列表現をログファイルなどに記録することによって，任意のタイミングで性能解析トレースファイルとの突き合わせが可能となるため，トラブルシュートに役立てることができます。

性能解析トレースのルートアプリケーション情報の取得については，マニュアル「Cosminexus　機能解説」を参照してください。ルートアプリケーション情報を利用したログ調査については，マニュアル「Cosminexus　システム運用ガイド」を参照してください。

形式

public static final String getRootApInfo();

パラメタ

なし

例外

なし

戻り値

ルートアプリケーション情報の文字列表現。

次の場合には，nullを返します。

Cosminexus Performance Tracerがインストールされていないなど，現在のスレッドが保持しているルートアプリケーション情報が存在しない場合

EJBコンテナ外およびWebコンテナ外から呼び出された場合

EJBクライアントから呼び出された場合

7.　監査ログ出力で使用するAPI

この章では，J2EEアプリケーションまたはバッチアプリケーションで監査ログを出力する場合に使用するAPIについて説明します。

＜この章の構成＞

7.1　監査ログ出力で使用するAPIの一覧

7.2　AuditLogRecordクラス

7.3　UserAuditLoggerクラス

7.4　例外クラス

7.1　監査ログ出力で使用するAPIの一覧

監査ログ出力で使用するAPIの一覧を次の表に示します。

表7-1　監査ログ出力で使用するAPIの一覧

クラス名 | 機能
AuditLogRecordクラス | 監査ログのレコードを表すクラスです。
UserAuditLoggerクラス | J2EEアプリケーションまたはバッチアプリケーションから監査ログを出力するためのロガークラスです。
例外クラス | 監査ログのAPIで発生する例外を表す例外クラスです。

監査ログ出力で使用するAPIを使用する場合，次のJARファイルをクラスパスに指定してコンパイルする必要があります。

Windowsの場合

%COSMINEXUS_HOME%¥common¥lib¥auditlog.jar

UNIXの場合

/opt/Cosminexus/common/lib/auditlog.jar

7.2　AuditLogRecordクラス

説明

監査ログのレコードを表すクラスです。

J2EEアプリケーションまたはバッチアプリケーションから監査ログとして出力する情報は，このクラスのsetで始まるメソッドを使用して設定します。

監査ログに出力する情報のうち，監査事象の種別，監査事象の結果，および動作情報については，指定できる値が決まっています。このクラスでは，これらの情報を指定するための定数をフィールドとして定義しています。

なお，設定する値の前後に空白を指定した場合，空白は削除されます。また，空文字（""）や空白だけを設定した場合，値は設定されていないものとみなされます。

AuditLogRecordクラスのパッケージ名は，com.hitachi.software.auditlogです。

形式

public class AuditLogRecord
 extends Object
 implements Serializable

メソッド一覧

メソッド名 | 機能
getAfterInfoメソッド | 変更後情報を取得します。
getAuthorityメソッド | 権限情報を取得します。
getBeforeInfoメソッド | 変更前情報を取得します。
getCategoryメソッド | 監査事象の種別を取得します。
getDetectionPointメソッド | 検出場所を取得します。
getHaidメソッド | 冗長化識別情報を取得します。
getLocationメソッド | ロケーション情報を取得します。
getMessageメソッド | 自由記述を取得します。
getMessageIdメソッド | メッセージIDを取得します。
getObjectInfoメソッド | オブジェクト情報を取得します。
getObjectLocationメソッド | オブジェクトロケーション情報を取得します。
getOperationメソッド | 動作情報を取得します。
getOutputPointメソッド | 出力元の場所を取得します。
getReceiverHostメソッド | リクエスト送信先ホストを取得します。
getReceiverPortメソッド | リクエスト送信先ポート番号を取得します。
getResultメソッド | 監査事象の結果を取得します。
getSenderHostメソッド | リクエスト送信元ホストを取得します。
getSenderPortメソッド | リクエスト送信元ポート番号を取得します。
getServiceInstanceメソッド | サービスインスタンス名を取得します。
getSubjectIdメソッド | サブジェクト識別情報を取得します。
getSubjectPointメソッド | 指示元の場所を取得します。
setAfterInfoメソッド | 変更後情報を設定します。
setAuthorityメソッド | 権限情報を設定します。
setBeforeInfoメソッド | 変更前情報を設定します。
setCategoryメソッド | 監査事象の種別を設定します。
setDetectionPointメソッド | 検出場所を設定します。
setHaidメソッド | 冗長化識別情報を設定します。
setLocationメソッド | ロケーション情報を設定します。
setMessageメソッド | 自由記述を設定します。
setMessageIdメソッド | メッセージIDを設定します。
setObjectInfoメソッド | オブジェクト情報を設定します。
setObjectLocationメソッド | オブジェクトロケーション情報を設定します。
setOperationメソッド | 動作情報を設定します。
setOutputPointメソッド | 出力元の場所を設定します。
setReceiverHostメソッド | リクエスト送信先ホストを設定します。
setReceiverPortメソッド | リクエスト送信先ポート番号を設定します。
setResultメソッド | 監査事象の結果を設定します。
setSenderHostメソッド | リクエスト送信元ホストを設定します。
setSenderPortメソッド | リクエスト送信元ポート番号を設定します。
setServiceInstanceメソッド | サービスインスタンス名を設定します。
setSubjectIdメソッド | サブジェクト識別情報を設定します。
setSubjectPointメソッド | 指示元の場所を設定します。

監査ログのレコードに設定する値の推奨値

監査ログのレコードに設定する値には，項目ごとに推奨されている長さおよび文字種があります。監査ログの各項目の推奨値を次の表に示します。

表7-2　監査ログのレコードに設定する値の推奨値

項目
推奨値

長さ（バイト）
文字種

変更後情報
規定はありません。
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

権限情報
0～128
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

変更前情報
規定はありません。
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

監査事象の種別
種別によって異なります。
「A～Z」（%x41-5A）および「a～z」（/%x61-7A）のアルファベット。
なお，Cosminexusでは，監査事象の種別の推奨値をフィールドとして定義しています。「表7-3　監査事象の種別の推奨値を表すフィールドの一覧」を参照してください。

検出場所
0～255
次の文字。

「0～9」の数値（%x30-39）

「A～Z」（%x41-5A）および「a～z」（%x61-7A）のアルファベット

「-」（%x2D）

「.」(%x2E)

冗長化識別情報
1～2
「0～9」の数値（%x30-39）。

ロケーション情報
0～32
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

自由記述
規定はありません。
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

メッセージID
9～32
次の文字。

「0～9」の数値（%x30-39）

「A～Z」のアルファベット（%x41-5A）

「-」（%x2D）

オブジェクト情報
0～256
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

オブジェクトロケーション情報
規定はありません。
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

動作情報
0～32
任意。
なお，Cosminexusでは，動作情報の推奨値をフィールドとして定義しています。「表7-4　動作情報の推奨値を表すフィールドの一覧」を参照してください。

出力元の場所
0～255
次の文字。

「0～9」の数値（%x30-39）

「A～Z」（%x41-5A）および「a～z」（%x61-7A）のアルファベット

「-」（%x2D）

「.」(%x2E)

リクエスト送信先ホスト
0～255
次の文字。

「0～9」の数値（%x30-39）

「A～Z」（%x41-5A）および「a～z」（%x61-7A）のアルファベット

「-」（%x2D）

「.」(%x2E)

リクエスト送信先ポート番号
1～5
「0～9」の数値（%x30-39）。

監査事象の結果
結果によって異なります。
「A～Z」（%x41-5A）および「a～z」（%x61-7A）のアルファベット。
なお，Cosminexusでは，監査事象の結果の推奨値をフィールドとして定義しています。「表7-6　監査事象の結果の推奨値を表すフィールドの一覧」を参照してください。

リクエスト送信元ホスト
0～255
次の文字。

「0～9」の数値（%x30-39）

「A～Z」（%x41-5A）および「a～z」（%x61-7A）のアルファベット

「-」（%x2D）

「.」(%x2E)

リクエスト送信元ポート番号
1～5
「0～9」の数値（%x30-39）。

サービスインスタンス名
0～128
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

サブジェクト識別情報
0～256
次の文字以外のUS-ASCII。

CR（%x0D）

LF（%x0A）

指示元の場所
0～255
次の文字。

「0～9」の数値（%x30-39）

「A～Z」（%x41-5A）および「a～z」（%x61-7A）のアルファベット

「-」（%x2D）

「.」(%x2E)

監査事象の種別の推奨値を表すフィールド

監査事象の種別の推奨値を表すフィールドの一覧を，次の表に示します。監査事象の種別は，setCategoryメソッドで設定します。

表7-3　監査事象の種別の推奨値を表すフィールドの一覧

フィールド名
実際の値
意味

public static final String CATEGORY_ACCESS_CONTROL
"AccessControl"
管理者または一般利用者が，管理リソースまたはセキュリティリソースへのアクセスを試みて，成功または失敗したことを示す事象です。

public static final String CATEGORY_ANOMALY_EVENT
"AnomalyEvent"
しきい値オーバーなどの異常が発生したことを示す事象です。

public static final String CATEGORY_AUTHENTICATION
"Authentication"
管理者または一般利用者が，認証を試みて，成功または失敗したことを示す事象です。

public static final String CATEGORY_CONFIGURATION_ACCESS
"ConfigurationAccess"
管理者が許可された運用操作を実行して，操作が正常終了または失敗したことを示す事象です。

public static final String CATEGORY_CONTENT_ACCESS
"ContentAccess"
重要なデータへのアクセスを試みて，成功または失敗したことを示す事象です。

public static final String CATEGORY_EXTERNAL_SERVICE
"ExternalService"
外部サービスとの通信結果を示す事象です。

public static final String CATEGORY_FAILURE
"Failure"
ソフトウェアの異常を示す事象です。

public static final String CATEGORY_LINK_STATUS
"LinkStatus"
機器間のリンク状態を示す事象です。

public static final String CATEGORY_MAINTENANCE
"Maintenance"
保守作業を実行して，操作が正常終了または失敗したことを示す事象です。

public static final String CATEGORY_MANAGEMENT_ACTION
"ManagementAction"
プログラムの重要なアクションが実行されたことを示す事象です。
ほかの監査事象を契機として実行するアクションを示します。

public static final String CATEGORY_START_STOP
"StartStop"
ソフトウェアの起動と終了を示す事象です。

動作情報の推奨値を表すフィールド

動作情報の推奨値を表すフィールドの一覧を，次の表に示します。動作情報は，setOperationメソッドで設定します。

表7-4　動作情報の推奨値を表すフィールドの一覧

フィールド名 | 実際の値 | 意味
public static final String OPERATION_ADD | "Add" | 動作情報の意味は監査事象の種別との組み合わせで決まります。監査事象の種別と組み合わせた動作情報の意味については，「表7-5　監査事象の種別と動作情報の組み合わせ」を参照してください。
public static final String OPERATION_BACKUP | "Backup"
public static final String OPERATION_DELETE | "Delete"
public static final String OPERATION_DOWN | "Down"
public static final String OPERATION_ENFORCE | "Enforce"
public static final String OPERATION_INSTALL | "Install"
public static final String OPERATION_INVOKE | "Invoke"
public static final String OPERATION_LOGIN | "Login"
public static final String OPERATION_LOGOFF | "Logoff"
public static final String OPERATION_LOGON | "Logon"
public static final String OPERATION_LOGOUT | "Logout"
public static final String OPERATION_MAINTAIN | "Maintain"
public static final String OPERATION_NOTIFY | "Notify"
public static final String OPERATION_OCCUR | "Occur"
public static final String OPERATION_RECEIVE | "Receive"
public static final String OPERATION_REFER | "Refer"
public static final String OPERATION_REQUEST | "Request"
public static final String OPERATION_RESPONSE | "Response"
public static final String OPERATION_SEND | "Send"
public static final String OPERATION_START | "Start"
public static final String OPERATION_STOP | "Stop"
public static final String OPERATION_UNINSTALL | "Uninstall"
public static final String OPERATION_UP | "Up"
public static final String OPERATION_UPDATE | "Update"

動作情報の意味は監査事象の種別との組み合わせで決まります。監査事象の種別と，動作情報の組み合わせについて，次の表に示します。

表7-5　監査事象の種別と動作情報の組み合わせ

監査事象の種別 | 動作情報 | 意味
StartStop | Start | 開始または起動を表します。
Stop | 終了または停止を表します。
Authentication | Login | ログインを表します。
Logout | ログアウトを表します。
Logon | ログオンを表します。
Logoff | ログオフを表します。
AccessControl | Enforce | 実施を表します。
ConfigurationAccess | Refer | 設定情報の参照を表します。
Add | 設定情報の追加を表します。
Update | 設定情報の更新を表します。
Delete | 設定情報の削除を表します。
Failure | Occur | 発生を表します。
LinkStatus | Up | リンク活性を表します。
Down | リンク非活性を表します。
ExternalService | Request | 要求を表します。
Response | 応答を表します。
Send | 発信を表します。
Receive | 受信を表します。
ContentAccess | Refer | 参照を表します。
Add | 追加を表します。
Update | 更新またはアップデートを表します。
Delete | 削除を表します。
Maintenance | Install | インストールを表します。
Uninstall | アンインストールを表します。
Update | 更新またはアップデートを表します。
Backup | バックアップを表します。
Maintain | 保守作業を表します。
AnomalyEvent | Occur | 発生を表します。
ManagementAction | Invoke | 管理者などの呼び出しを表します。
Notify | 管理者などへの通知を表します。

監査事象の結果の推奨値を表すフィールド

監査事象の結果の推奨値を表すフィールドの一覧を，次の表に示します。監査事象の結果は，setResultメソッドで設定します。

表7-6　監査事象の結果の推奨値を表すフィールドの一覧

フィールド名 | 実際の値 | 意味
public static final String RESULT_FAILURE | "Failure" | 事象の失敗を表します。
public static final String RESULT_OCCURRENCE | "Occurrence" | 成功，失敗の分類がない事象の発生を表します。
public static final String RESULT_SUCCESS | "Success" | 事象の成功を表します。

＜この節の構成＞

getAfterInfoメソッド

getAuthorityメソッド

getBeforeInfoメソッド

getCategoryメソッド

getDetectionPointメソッド

getHaidメソッド

getLocationメソッド

getMessageメソッド

getMessageIdメソッド

getObjectInfoメソッド

getObjectLocationメソッド

getOperationメソッド

getOutputPointメソッド

getReceiverHostメソッド

getReceiverPortメソッド

getResultメソッド

getSenderHostメソッド

getSenderPortメソッド

getServiceInstanceメソッド

getSubjectIdメソッド

getSubjectPointメソッド

setAfterInfoメソッド

setAuthorityメソッド

setBeforeInfoメソッド

setCategoryメソッド

setDetectionPointメソッド

setHaidメソッド

setLocationメソッド

setMessageメソッド

setMessageIdメソッド

setObjectInfoメソッド

setObjectLocationメソッド

setOperationメソッド

setOutputPointメソッド

setReceiverHostメソッド

setReceiverPortメソッド

setResultメソッド

setSenderHostメソッド

setSenderPortメソッド

setServiceInstanceメソッド

setSubjectIdメソッド

setSubjectPointメソッド

getAfterInfoメソッド

説明

変更後情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getAfterInfo();

パラメタ

なし

例外

なし

戻り値

変更後情報が返されます。

getAuthorityメソッド

説明

権限情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getAuthority();

パラメタ

なし

例外

なし

戻り値

権限情報が返されます。

getBeforeInfoメソッド

説明

変更前情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getBeforeInfo();

パラメタ

なし

例外

なし

戻り値

変更前情報が返されます。

getCategoryメソッド

説明

監査事象の種別を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にAuditLogExceptionがスローされます。

形式

public String getCategory();

パラメタ

なし

例外

なし

戻り値

監査事象の種別が返されます。

getDetectionPointメソッド

説明

検出場所を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getDetectionPoint();

パラメタ

なし

例外

なし

戻り値

検出場所が返されます。

getHaidメソッド

説明

冗長化識別情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getHaid();

パラメタ

なし

例外

なし

戻り値

冗長化識別情報が返されます。

getLocationメソッド

説明

ロケーション情報を取得します。

この項目に値を設定していない場合，Cosminexusによって自動的に付加された値（性能解析トレースのルートアプリケーション情報）が出力されます。

形式

public String getLocation();

パラメタ

なし

例外

なし

戻り値

ロケーション情報が返されます。

getMessageメソッド

説明

自由記述を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getMessage();

パラメタ

なし

例外

なし

戻り値

自由記述が返されます。

getMessageIdメソッド

説明

メッセージIDを取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にAuditLogExceptionがスローされます。

形式

public String getMessageId();

パラメタ

なし

例外

なし

戻り値

メッセージIDが返されます。

getObjectInfoメソッド

説明

オブジェクト情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getObjectInfo();

パラメタ

なし

例外

なし

戻り値

オブジェクト情報が返されます。

getObjectLocationメソッド

説明

オブジェクトロケーション情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getObjectLocation();

パラメタ

なし

例外

なし

戻り値

オブジェクトロケーション情報が返されます。

getOperationメソッド

説明

動作情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getOperation();

パラメタ

なし

例外

なし

戻り値

動作情報が返されます。

getOutputPointメソッド

説明

出力元の場所を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getOutputPoint();

パラメタ

なし

例外

なし

戻り値

出力元の場所が返されます。

getReceiverHostメソッド

説明

リクエスト送信先ホストを取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getReceiverHost();

パラメタ

なし

例外

なし

戻り値

リクエスト送信先ホストが返されます。

getReceiverPortメソッド

説明

リクエスト送信先ポート番号を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public int getReceiverPort();

パラメタ

なし

例外

なし

戻り値

リクエスト送信先ポート番号が返されます。

getResultメソッド

説明

監査事象の結果を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にAuditLogExceptionがスローされます。

形式

public String getResult();

パラメタ

なし

例外

なし

戻り値

監査事象の結果が返されます。

getSenderHostメソッド

説明

リクエスト送信元ホストを取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getSenderHost();

パラメタ

なし

例外

なし

戻り値

リクエスト送信元ホストが返されます。

getSenderPortメソッド

説明

リクエスト送信元ポート番号を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public int getSenderPort();

パラメタ

なし

例外

なし

戻り値

リクエスト送信元ポート番号が返されます。

getServiceInstanceメソッド

説明

サービスインスタンス名を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getServiceInstance();

パラメタ

なし

例外

なし

戻り値

サービスインスタンス名が返されます。

getSubjectIdメソッド

説明

サブジェクト識別情報を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にCosminexusによって自動的に付加された値（OSのアカウント）が出力されます。なお，OSのアカウントとして出力される情報は，OSごとに異なります。

Windowsの場合

ユーザ名が出力されます。

UNIXの場合

実効ユーザIDが出力されます。

形式

public String getSubjectId();

パラメタ

なし

例外

なし

戻り値

サブジェクト識別情報が返されます。

getSubjectPointメソッド

説明

指示元の場所を取得します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public String getSubjectPoint();

パラメタ

なし

例外

なし

戻り値

指示元の場所が返されます。

setAfterInfoメソッド

説明

変更後情報を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setAfterInfo(String info);

パラメタ

info：

変更後情報を指定します。

例外

なし

戻り値

なし

setAuthorityメソッド

説明

権限情報を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setAuthority(String authority);

パラメタ

authority：

権限情報を指定します。

例外

なし

戻り値

なし

setBeforeInfoメソッド

説明

変更前情報を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setBeforeInfo(String info);

パラメタ

info：

変更前情報を指定します。

例外

なし

戻り値

なし

setCategoryメソッド

説明

監査事象の種別を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にAuditLogExceptionがスローされます。

形式

public void setCategory(String category);

パラメタ

category：

監査事象の種別を指定します。

例外

なし

戻り値

なし

setDetectionPointメソッド

説明

検出場所を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setDetectionPoint(String detectionPoint);

パラメタ

detectionPoint：

検出場所を指定します。

例外

なし

戻り値

なし

setHaidメソッド

説明

冗長化識別情報を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setHaid(String haid);

パラメタ

haid：

冗長化識別情報を指定します。

例外

なし

戻り値

なし

setLocationメソッド

説明

ロケーション情報を設定します。

この項目に値を設定していない場合，Cosminexusによって，性能解析トレースのルートアプリケーション情報が設定されます。

形式

public void setLocation(String location);

パラメタ

location：

ロケーション情報を指定します。

例外

なし

戻り値

なし

setMessageメソッド

説明

自由記述を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setMessage(String message);

パラメタ

message：

自由記述を指定します。

例外

なし

戻り値

なし

setMessageIdメソッド

説明

メッセージIDを設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にAuditLogExceptionがスローされます。

形式

public void setMessageId(String messageId);

パラメタ

messageId：

メッセージIDをで指定します。

例外

なし

戻り値

なし

setObjectInfoメソッド

説明

オブジェクト情報を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setObjectInfo(String objectInfo);

パラメタ

objectInfo：

オブジェクト情報を指定します。

例外

なし

戻り値

なし

setObjectLocationメソッド

説明

オブジェクトロケーション情報を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setObjectLocation(String objectLocation);

パラメタ

objectLocation：

オブジェクトロケーション情報を指定します。

例外

なし

戻り値

なし

setOperationメソッド

説明

動作情報を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setOperation(String operation);

パラメタ

operation：

動作情報を指定します。

例外

なし

戻り値

なし

setOutputPointメソッド

説明

出力元の場所を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setOutputPoint(String outputPoint);

パラメタ

outputPoint：

出力元の場所を指定します。

例外

なし

戻り値

なし

setReceiverHostメソッド

説明

リクエスト送信先ホストを設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setReceiverHost(String receiverHost);

パラメタ

receiverHost：

リクエスト送信先ホストを指定します。

例外

なし

戻り値

なし

setReceiverPortメソッド

説明

リクエスト送信先ポート番号を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setReceiverPort(int receiverPort);

パラメタ

receiverPort：

リクエスト送信先ポート番号を指定します。

例外

なし

戻り値

なし

setResultメソッド

説明

監査事象の結果を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にAuditLogExceptionがスローされます。

形式

public void setResult(String result);

パラメタ

result：

監査事象の結果を指定します。

例外

なし

戻り値

なし

setSenderHostメソッド

説明

リクエスト送信元ホストを設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setSenderHost(String senderHost);

パラメタ

senderHost：

リクエスト送信元ホストを指定します。

例外

なし

戻り値

なし

setSenderPortメソッド

説明

リクエスト送信元ポート番号を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setSenderPort(int senderPort);

パラメタ

senderPort：

リクエスト送信元ポート番号を指定します。

例外

なし

戻り値

なし

setServiceInstanceメソッド

説明

サービスインスタンス名を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setServiceInstance(String serviceInstance);

パラメタ

serviceInstance：

サービスインスタンス名を指定します。

例外

なし

戻り値

なし

setSubjectIdメソッド

説明

サブジェクト識別情報を設定します。指定できるのは，アカウント識別子（ユーザID）だけです。

この項目に値を設定していない場合，またはnullを設定した場合は，OSのアカウントが設定されます。

OSのアカウントとして設定される情報は，OSごとに異なります。

Windowsの場合

ユーザ名が設定されます。

UNIXの場合

実効ユーザIDが設定されます。

なお，パラメタに，OSのアカウントを指定してはいけません。

形式

public void setSubjectId(String subjectId);

パラメタ

subjectId：

サブジェクト識別情報（ユーザID）を指定します。

例外

なし

戻り値

なし

setSubjectPointメソッド

説明

指示元の場所を設定します。

この項目に値を設定していない場合，UserAuditLogger.logメソッド実行時にこの項目は出力されません。この場合，タグも出力されません。

形式

public void setSubjectPoint(String subjectPoint);

パラメタ

subjectPoint：

指示元の場所を指定します。

例外

なし

戻り値

なし

7.3　UserAuditLoggerクラス

説明

J2EEアプリケーションまたはバッチアプリケーションから監査ログを出力するためのロガークラスです。

UserAuditLoggerクラスのパッケージ名は，com.hitachi.software.auditlogです。

形式

public class UserAuditLogger

メソッド一覧

メソッド名 | 機能
getLoggerメソッド | パラメタに指定した発生コンポーネント名ごとに，UserAuditLoggerオブジェクトを取得します。
isEnabledメソッド | 監査ログが有効か無効かを判定します。
isLoggableメソッド | パラメタに指定したメッセージIDから，監査ログの出力要否を判定します。
logメソッド | パラメタに指定したAuditLogRecordオブジェクトを基に，監査ログを出力します。

＜この節の構成＞

getLoggerメソッド

isEnabledメソッド

isLoggableメソッド

logメソッド

getLoggerメソッド

説明

パラメタに指定した発生コンポーネント名ごとに，UserAuditLoggerオブジェクトを取得します。例えば，getLogger(new String("Component"))メソッドを2回実行した場合は，2回とも同じUserAuditLoggerオブジェクトを取得できます。

発生コンポーネント名とUserAuditLoggerオブジェクトの対応は，UserAuditLoggerクラスの内部で管理されています。内部で管理されている発生コンポーネント名と，パラメタに指定した発生コンポーネント名の判定は，String.equals(component)メソッドで実行されます。内部で管理されている発生コンポーネント名とパラメタに指定した発生コンポーネント名が一致した場合に，対応するUserAuditLoggerオブジェクトが返されます。

形式

public static UserAuditLogger getLogger(String component);

パラメタ

component：

発生コンポーネント名を指定します。

例外

com.hitachi.software.auditlog.AuditLogException：

初期化に失敗しました。

戻り値

UserAuditLogger：

監査ログが有効な場合に，UserAuditLoggerオブジェクトが返されます。

パラメタに指定した発生コンポーネント名ごとに，異なるオブジェクトが返されます。

null：

監査ログが無効な場合に返されます。

isEnabledメソッド

説明

監査ログが有効か無効かを判定します。

なお，監査ログ定義ファイルのauditlog.enabledキーにfalseが指定されている場合，監査ログは無効になります。

形式

public static boolean isEnabled();

パラメタ

なし

例外

なし

戻り値

true：

監査ログが有効な場合に返されます。

false：

監査ログが無効な場合に返されます。

isLoggableメソッド

説明

パラメタに指定したメッセージIDから，監査ログの出力要否を判定します。

出力要否は，監査ログ定義ファイルのauditlog.filtered.message.listキーに，指定したメッセージIDが含まれているかどうかで判定されます。

auditlog.filtered.message.listキーに，指定したメッセージIDが含まれている場合は，戻り値としてfalseが返され，監査ログを出力できません。auditlog.filtered.message.listキーに，指定したメッセージIDが含まれていない場合は，戻り値としてtrueが返され，監査ログを出力できます。

なお，このメソッドでは，監査ログが有効か無効かについては判定しません。

形式

public boolean isLoggable(String messageId);

パラメタ

messageId：

メッセージIDを指定します。必ず一つのメッセージIDを指定してください。

例えば，「String messageId = "message-1,message-2";」のように複数のメッセージIDを指定した場合，一つながりの文字列として認識されます。「String messageId = "message-1";」のように，メッセージIDを一つだけ指定してください。

例外

なし

戻り値

true：

監査ログを出力できる場合に返されます。パラメタに「null」または空文字を指定した場合もtrueが返されます。

false：

監査ログを出力できない場合に返されます。

logメソッド

説明

パラメタに指定したAuditLogRecordオブジェクトを基に，監査ログを出力します。出力される監査ログは，AuditLogRecordクラスのsetで始まるメソッドで設定した値です。

監査ログのレコードは，出力項目ごとに推奨値が決められています。出力項目ごとの推奨値については，「7.2　AuditLogRecordクラス」を参照してください。ただし，推奨されている文字種以外の文字を設定したり，推奨されている文字数を超過して設定したりした場合も，設定した値がそのまま出力されます。

監査ログの出力先は，監査ログ定義ファイルで指定します。監査ログ定義ファイルについては，マニュアル「Cosminexus　リファレンス　定義編」を参照してください。また，監査ログの出力形式については，マニュアル「Cosminexus　システム運用ガイド」を参照してください。

すでに監査ログを出力したファイルが存在する場合，出力した監査ログには，そのファイルのアクセス権限が引き継がれます。監査ログを出力したファイルが存在しない場合は，監査ログを出力したファイルに対して，次のアクセス権限が設定されます。

表7-7　監査ログを出力したファイルのアクセス権限

OS | 所有者 | 設定されるアクセス権限
Windowsの場合 | 出力先のフォルダの設定が引き継がれます。
UNIXの場合 | 監査ログを出力したプロセスのユーザおよびプライマリグループ | 666※

注※

umaskによるマスクが行われます。umask=0022が設定されている場合，実際には644となります。

形式

public void log(AuditLogRecord)
 throws AuditLogException;

パラメタ

AuditLogRecord：

AuditLogRecordオブジェクトを指定します。

例外

AuditLogException：

監査ログの出力が失敗しました。次の要因が考えられます。

監査ログを出力するプロセスの実行ユーザに，監査ログの書き込み権限がない。

監査ログを出力する際にディスクフルになった。

指定が必要な出力項目が指定されていない。

戻り値

なし

7.4　例外クラス

監査ログ出力で使用するAPIで発生する例外を表す，例外クラスについて説明します。

例外名

com.hitachi.software.auditlog.AuditLogException

内容

監査ログに関する例外を表すクラスです。

コンストラクタの型はExceptionクラスと同じです。また，メソッドについてもExceptionクラスのすべてのメソッドを継承しています。

コンストラクタ

AuditLogException()

AuditLogException(String message)

AuditLogException(String message, Throwable cause)

AuditLogException(Throwable cause)

これらのコンストラクタでは，Exceptionクラスのコンストラクタが呼び出されます。

メソッド

AuditLogExceptionクラスおよびExceptionクラスで定義されたメソッドはありません。

ExceptionクラスがThrowableクラスから継承したメソッドだけが使用できます。

8.　JavaVMで使用するAPI

この章では，日立のJavaVMで使用するAPIについて説明します。

なお，日立のJavaVMは，J2SE 5.0に準拠しています。対応するSun Microsystems社製のJDKのバージョンはJDK 5.0です。JDK 5.0で使用できるAPIについては，Sun Microsystems社が提供しているJDK 5.0のドキュメントを参照してください。

＜この章の構成＞

8.1　JavaVMで使用するAPIの一覧

8.2　MemoryInfoクラス

8.1　JavaVMで使用するAPIの一覧

JavaVMで使用するAPIの一覧を，次の表に示します。

表8-1　JavaVMで使用するAPIの一覧

クラス名 | 機能
MemoryInfoクラス | ガーベージコレクションのメモリ情報を取得します。なお，このクラスは，ほかのJDK製品では利用できません。

8.2　MemoryInfoクラス

説明

Javaプログラムから直接ガーベージコレクションのメモリ情報を取得できます。

例えば，現在使用中のサイズは次の式で求められます。

getXXXTotalMemory()－getXXXFreeMemory()

MemoryInfoクラスのパッケージは，JP.co.Hitachi.soft.jvmです。

メソッド一覧

メソッド名 | 機能
getEdenFreeMemoryメソッド | Eden領域の空きサイズを取得します。
getEdenMaxMemoryメソッド | Eden領域の最大使用サイズを取得します。
getEdenTotalMemoryメソッド | Eden領域の使用可能サイズを取得します。
getPermFreeMemoryメソッド | Permanent領域の空きサイズを取得します。
getPermMaxMemoryメソッド | Permanent領域の最大使用サイズを取得します。
getPermTotalMemoryメソッド | Permanent領域の使用可能サイズを取得します。
getSurvivorFreeMemoryメソッド | Survivor領域の空きサイズを取得します。
getSurvivorMaxMemoryメソッド | Survivor領域の最大使用サイズを取得します。
getSurvivorTotalMemoryメソッド | Survivor領域の使用可能サイズを取得します。
getTenuredFreeMemoryメソッド | Tenured領域の空きサイズを取得します。
getTenuredMaxMemoryメソッド | Tenured領域の最大使用サイズを取得します。
getTenuredTotalMemoryメソッド | Tenured領域の使用可能サイズを取得します。

使用例

メモリ情報を取得する際のメソッドの使用例を次に示します。

Perm領域の空きサイズを求める場合

free_memory = JP.co.Hitachi.soft.jvm.MemoryInfo.getPermFreeMemory()

現在使用中のEden領域を求める場合

use_memory = JP.co.Hitachi.soft.jvm.MemoryInfo.getEdenTotalMemory()-JP.co.Hitachi.soft.jvm.MemoryInfo.getEdenFreeMemory()

＜この節の構成＞

getEdenFreeMemoryメソッド

getEdenMaxMemoryメソッド

getEdenTotalMemoryメソッド

getPermFreeMemoryメソッド

getPermMaxMemoryメソッド

getPermTotalMemoryメソッド

getSurvivorFreeMemoryメソッド

getSurvivorMaxMemoryメソッド

getSurvivorTotalMemoryメソッド

getTenuredFreeMemoryメソッド

getTenuredMaxMemoryメソッド

getTenuredTotalMemoryメソッド

getEdenFreeMemoryメソッド

説明

Eden領域の空きサイズを取得します。

形式

getEdenFreeMemory();

パラメタ

なし

例外

なし

戻り値

Eden領域の空きサイズ（バイト数）をlong型で返却します。

getEdenMaxMemoryメソッド

説明

Eden領域の最大使用サイズを取得します。

形式

getEdenMaxMemory();

パラメタ

なし

例外

なし

戻り値

Eden領域の最大使用サイズ（バイト数）をlong型で返却します。

getEdenTotalMemoryメソッド

説明

Eden領域の使用可能サイズを取得します。

形式

getEdenTotalMemory();

パラメタ

なし

例外

なし

戻り値

Eden領域の使用可能サイズ（バイト数）をlong型で返却します。

getPermFreeMemoryメソッド

説明

Permanent領域の空きサイズを取得します。

形式

getPermFreeMemory();

パラメタ

なし

例外

なし

戻り値

Permanent領域の空きサイズ（バイト数）をlong型で返却します。

getPermMaxMemoryメソッド

説明

Permanent領域の最大使用サイズを取得します。

形式

getPermMaxMemory();

パラメタ

なし

例外

なし

戻り値

Permanent領域の最大使用サイズ（バイト数）をlong型で返却します。

getPermTotalMemoryメソッド

説明

Permanent領域の使用可能サイズを取得します。

形式

getPermTotalMemory();

パラメタ

なし

例外

なし

戻り値

Permanent領域の使用可能サイズ（バイト数）をlong型で返却します。

getSurvivorFreeMemoryメソッド

説明

Survivor領域の空きサイズを取得します。

形式

getSurvivorFreeMemory();

パラメタ

なし

例外

なし

戻り値

Survivor領域の空きサイズ（バイト数）をlong型で返却します。

getSurvivorMaxMemoryメソッド

説明

Survivor領域の最大使用サイズを取得します。

形式

getSurvivorMaxMemory();

パラメタ

なし

例外

なし

戻り値

Survivor領域の最大使用サイズ（バイト数）をlong型で返却します。

getSurvivorTotalMemoryメソッド

説明

Survivor領域の使用可能サイズを取得します。

形式

getSurvivorTotalMemory();

パラメタ

なし

例外

なし

戻り値

Survivor領域の使用可能サイズ（バイト数）をlong型で返却します。

getTenuredFreeMemoryメソッド

説明

Tenured領域の空きサイズを取得します。

形式

getTenuredFreeMemory();

パラメタ

なし

例外

なし

戻り値

Tenured領域の空きサイズ（バイト数）をlong型で返却します。

getTenuredMaxMemoryメソッド

説明

Tenured領域の最大使用サイズを取得します。

形式

getTenuredMaxMemory();

パラメタ

なし

例外

なし

戻り値

Tenured領域の最大使用サイズ（バイト数）をlong型で返却します。

getTenuredTotalMemoryメソッド

説明

Tenured領域の使用可能サイズを取得します。

形式

getTenuredTotalMemory();

パラメタ

なし

例外

なし

戻り値

Tenured領域の使用可能サイズ（バイト数）をlong型で返却します。

9.　Cosminexus DABroker Libraryで使用するAPI

この章では，Cosminexus DABroker Libraryで使用するJDBCインタフェースおよびAPIについて説明します。

＜この章の構成＞

9.1　Cosminexus DABroker Libraryで使用するAPIの一覧

9.2　Driverクラス

9.3　Connectionクラス

9.4　Statementクラス

9.5　PreparedStatementクラス

9.6　CallableStatementクラス

9.7　ResultSetクラス

9.8　ResultSetMetaDataクラス

9.9　DatabaseMetaDataクラス

9.10　DataSourceクラス

9.11　Blobインタフェース

9.1　Cosminexus DABroker Libraryで使用するAPIの一覧

Cosminexus DABroker Libraryで使用するAPIの一覧を，次の表に示します。

表9-1　Cosminexus DABroker Libraryで使用するAPIの一覧

クラス名
主な機能

Driverクラス

データベースの接続

指定されたURLの妥当性チェック

DriverManager.getConnectionメソッドで指定する接続プロパティの情報取得

ドライバのバージョン情報の返却

Connectionクラス

Statementクラス，PreparedStatementクラス，およびCallableStatementクラスのオブジェクト生成

トランザクションのコミットまたはロールバック

オートコミットモードの設定

Statementクラス

SQLの実行

検索結果として，ResultSet（ResultSetオブジェクト）の生成

更新結果として，更新行数の返却

最大検索行数の設定

検索制限時間の設定

PreparedStatementクラス

？パラメタ付きSQLの実行

？パラメタの設定

検索結果として，ResultSetオブジェクトの生成および返却

更新結果として，更新行数の返却

CallableStatementクラス

ストアドプロシジャの実行

INPUTおよびINOUTパラメタの設定（PreparedStatementクラスのsetXXXメソッドを使用）

INOUTおよびOUTPUTパラメタの登録

INOUTおよびOUTPUTパラメタ値の取得

ResultSetクラス

行単位のResultSet内の移動

結果データの返却

検索結果データがNULL値かどうかの通知

ResultSetMetaDataクラス

ResultSetの各列に対する，データ型およびデータ長のメタ情報の返却

DatabaseMetaDataクラス

接続データベースに関する各種情報の返却

表一覧，列一覧などの一覧系情報を，ResultSetに格納して返却

DataSourceクラス

データベースの接続情報の設定および取得

Blobインタフェース

Blobデータの取得

9.2　Driverクラス

説明

Driverクラスでは，主に次の機能を提供します。

データベースの接続

指定されたURLの妥当性チェック

DriverManager.getConnectionメソッドで指定する接続プロパティの情報取得

ドライバのバージョン情報の返却

Driverクラスの提供する各メソッドの詳細と使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

Driverクラスを使用したデータベース接続の設定については，マニュアル「Cosminexus　機能解説」を参照してください。

制限事項

Cosminexus DABroker Libraryで使用するDriverクラスの制限事項を，次に示します。

表9-2　Driverクラスの制限事項

メソッド名 | 制限事項 | JDBC1.0での制限 | JDBC2.0での制限
acceptURL | URL構文の必須項目が設定されている場合はtrueを返却します。必須項目が不足している場合はfalseを返却します。 | ○ | ○
getPropertyInfo | 引数infoに与えられた以外に設定可能なプロパティ情報の配列を返す。 | ○ | ○
jdbcCompliant | 無条件にtrueを返却します。 | ○ | ○

（凡例）

○：該当します。

9.3　Connectionクラス

説明

Connectionクラスでは，主に次の機能を提供します。

Statementクラス，PreparedStatementクラス，およびCallableStatementクラスのオブジェクト生成

トランザクションのコミットまたはロールバック

オートコミットモードの設定

Connectionクラスの提供する各メソッドの詳細，および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

注意事項

Connectionのクローズ
Connectionのcloseメソッドを発行しないでアプリケーションを終了すると，Cosminexus DABroker Library側にリソースが残る場合があります。このため，SQL実行などでエラーの発生によって終了する場合は，catchブロックまたはfinallyブロック内でcloseメソッドを発行してください。
Connectionのcloseメソッドの発行でエラーが発生した場合，SQLExceptionをスローしません。また，プーリング使用時（ConnectionPoolDataSourceを使用した接続），およびXA使用時（XADataSourceを使用した接続）はConnectionのcloseメソッド実行でデータベースとの物理的な切断はしません。

カタログ
Cosminexus DABroker Libraryでは，接続データベース種別にかかわらず，カタログをサポートしていません。このため，getCatalogメソッドは無条件にnullを返却し，setCatalogメソッドは何もしません。

アクセスモード
Cosminexus DABroker Libraryでは，アクセスモードの変更をサポートしていないため，isReadOnlyメソッドは無条件にfalseを返却し，setReadOnlyメソッドは何もしません。

トランザクション分離モード
Cosminexus DABroker Libraryでは，トランザクション分離モードの変更をサポートしていません。このため，getTransactionIsolationメソッドでは，常にTRANSACTION_READ_UNCOMMITTEDを返却し（データベースの仕様を表しているものではありません），setTransactionIsolationメソッドはTRANSACTION_READ_UNCOMMITTED以外が指定された場合，SQLExceptionをスローします。

データベースアクセスリソース数の制限
Cosminexus DABroker Libraryを利用するアプリケーションでは，一つのコネクションで利用できるリソース数の最大は1024個です。ここでいうリソースとは，Statementクラス，PreparedStatementクラス，CallableStatementクラスのオブジェクト，およびDatabaseMetaDataクラスの中で一覧系情報をResultSetに格納するメソッドの同時実行数を指します。

オートコミット
次のすべての条件に一致する更新SQL（INSERT，UPDATEおよびDELETE）を実行する場合は，事前に検索中のResultSetオブジェクトまたは検索中のResultSetオブジェクトを生成したStatement（継承したクラスも含みます）オブジェクトに対してcloseメソッドを実行してください。

コネクションプーリングを使用してデータベースに接続している，またはXAを用いてデータベースに接続している場合

接続データベースがHiRDBの場合

ホールダブルカーソルを使用していない場合

StatementクラスのsetExecuteDirectModeメソッドを，引数Modeにfalseを指定して実行している場合

オートコミットを有効にしている場合

closeメソッドを実行しないで更新SQLを実行した場合，更新SQL実行後ResultSetオブジェクトをクローズした時にHiRDBでエラーが発生することがあります。この場合，SQLExceptionによるエラーの通知はされませんが，HiRDBのエラーログ，SQLトレースおよびCosminexus DABroker Libraryの拡張データベースアクセストレースにHiRDBのエラーメッセージ（KFPA11501-E）を出力します。

制限事項

Cosminexus DABroker Libraryで使用するConnectionクラスの制限事項を，次に示します。

表9-3　Connectionクラスの制限事項

メソッド名 | 制限事項 | JDBC1.0での制限 | JDBC2.0での制限
close | 通常接続時はデータベースとの接続を解除します。プーリング使用時（ConnectionPoolDataSourceを使用した接続），およびXA使用時（XADataSourceを使用した接続）は物理的な切断はしません。Connection.closeメソッドの実行でエラーが発生した場合はSQLExceptionをスローしません。 | ○ | ○
createStatement | 更新結果を反映するResultSetをサポートしていないため，ResultSetタイプにTYPE_SCROLL_SENSITIVEを指定した場合，TYPE_SCROLL_INSENSITIVEに切り替え，SQLWarningを設定します。また，並行処理タイプにCONCURE_UPDATABLEを指定した場合，CONCUR_READ_ONLYに切り替え，SQLWarningを設定します。 | － | ○
getCatalog | 無条件にnullを返却します。 | ○ | ○
getTransactionIsolation | 無条件にTRANSACTION_READ_UNCOMMITTEDを返却します。 | ○ | ○
getTypeMap | ユーザ定義型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
isReadOnly | 無条件にfalseを返却します。 | ○ | ○
prepareCall | 更新結果を反映するResultSetをサポートしていないため，ResultSetタイプにTYPE_SCROLL_SENSITIVEを指定した場合，TYPE_SCROLL_INSENSITIVEに切り替え，SQLWarningを設定します。また，並行処理タイプにCONCURE_UPDATABLEを指定した場合，CONCUR_READ_ONLYに切り替え，SQLWarningを設定します。 | － | ○
prepareStatement | 更新結果を反映するResultSetをサポートしていないため，ResultSetタイプにTYPE_SCROLL_SENSITIVEを指定した場合，TYPE_SCROLL_INSENSITIVEに切り替え，SQLWarningを設定します。また，並行処理タイプにCONCURE_UPDATABLEを指定した場合，CONCUR_READ_ONLYに切り替え，SQLWarningを設定します。 | － | ○
setCatalog | 使用できません。 | ○ | ○
setReadOnly | 使用できません。 | ○ | ○
setTransactionIsolation | 使用できません。 | ○ | ○
setTypeMap | ユーザ定義型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○

（凡例）

○：該当します。

－：該当しません。

9.4　Statementクラス

説明

Statementクラスでは，主に次の機能を提供します。

SQLの実行

検索結果として，ResultSet（ResultSetオブジェクト）の生成

更新結果として，更新行数の返却

最大検索行数の設定

検索制限時間の設定

Statementクラスの提供する各メソッドの詳細，および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

注意事項

マルチスレッド
一つのStatementオブジェクトを複数のスレッドで使用する場合，「SQLの実行～ResultSetの取得～ResultSetのクローズ」という一連の処理を，スレッドごとにシリアライズする必要があります。シリアライズしないで並行して処理した場合の動作は保証しません。
各スレッドには，それぞれ別のStatementオブジェクトを割り当ててください。

複数のResultSet
Cosminexus DABroker Libraryでは，複数のResultSetを返却する機能をサポートしていません。このため，getMoreResultsメソッドは無条件にfalseを返却し，現在オープンしているResultSetが存在する場合，そのResultSetをクローズします。

カーソル名称
Cosminexus DABroker Libraryでは，位置決めされた更新および削除をサポートしていないため，setCursorNameメソッドは何もしません。

検索制限時間
Cosminexus DABroker Libraryでは，検索の時間監視はできません。このため，setQueryTimeoutメソッドで指定した値は無効となります。

setFetchSizeメソッドの使用について
setFetchSizeメソッドが有効になるのは，通常の検索の場合だけです。ResultSetMetaDataやDatabaseMetaDataの情報取得では有効になりません。
CLOBやBLOBなどのLONGVARCHAR・LONGVARBINARY型データを含むテーブルの検索では，setFetchSizeメソッドの設定値は有効になりません。
setFetchSizeメソッドを使用する場合，データ取得用のバッファサイズはsetFetchSizeメソッドの指定値，および検索するカラムの定義長などによって変化します。そのため，setFetchSizeメソッドでの指定値が大き過ぎる場合や検索するカラムの定義長の合計が極端に大きくなる場合，メモリ不足が発生する可能性があるので注意が必要です。
setFetchSizeメソッドでの指定値が1以上の場合，必要となるバッファ領域は自動的に確保されます。この場合，どの程度の領域を必要とするかの計算方法を，次の表に示します。
バッファ領域に指定できる最大値は2147483647バイトです。最大値を超えないようにしてください。
ただし，Cosminexus DABroker Libraryの最小バッファサイズが64キロバイトのため，領域サイズが64キロバイトより小さい場合は，64キロバイトに設定されます。また，領域サイズが接続時にプロパティのBUF_SIZE，またはDataSourceのsetBufSizeメソッドで指定した値を超えた場合は，setFetchSizeの指定値に必要な領域サイズが有効となります。

表9-4　setFetchSizeメソッド使用で必要となるバッファ領域

DBMS
データ型
必要となるバッファ領域
（単位：バイト）

共通
[図データ]　

HiRDB
int，integer，smallflt，real
4

date
10

smallint
2

dec，decimal(m.n)
(m + 1) / 2

float，double precision
8

char(n)，mchar(n)，rowid(n)，varchar(n)，mvarchar(n)
n

nchar(n)，nvarchar(n)
n * 2

time
8

timestamp(n)
7 + n / 2

ORACLE
varchar2(n)，char(n)，raw(n)，mlslabel(n)
n

number
22

float，rowid
8

date
20

（例1）

HiRDB接続でFetchSize=3，検索カラムがvarchar(10)，integerの場合

受信ヘッダ(48)+((行ヘッダ(4)+データ長(4)+varcharデータ(10)+データ長(4)+integerデータ(4))*3)

となり，必要となるバッファ領域は126バイトとなります。この場合，合計が64キロバイト以下のため，確保される領域は64キロバイトになります。

（例2）

HiRDB接続でFetchSize=100，検索カラムがvarchar(1000)，integerの場合

受信ヘッダ(48)+((行ヘッダ(4)+データ長(4)+varcharデータ(1000)+integerデータ(4))*100)

となり，101248バイトのバッファ領域が確保されます。確保される領域が，プロパティのBUF_SIZE，またはDataSourceのsetBufSizeの指定値を超えた場合は，setFetchSizeの指定値に必要な領域サイズが有効となります。

Statementのクローズ
プーリング使用時（ConnectionPoolDataSourceを使用した接続），およびXA使用時（XADataSourceを使用した接続）でStatementのcloseメソッドの発行でエラーが発生した場合，SQLExceptionをスローしません。また，プーリング使用時，およびXA使用時でStatementのcloseメソッド実行中にデータベースとの物理的な切断でエラーが発生してコネクションプーリングが使用できなくなった場合，ConnectionEventListener.connectionErrorOccurredは発生しません。

非同期キャンセル
接続データベースがHiRDBまたはORACLEの場合，cancelメソッドを使用して非同期キャンセルを発行できます。ただし，XADataSourceを使用した接続の場合，非同期キャンセルの実行は接続データベースの仕様に従います（HiRDBはXADataSourceを使用した接続時の非同期キャンセルをサポートしていません。そのため非同期キャンセル要求は有効になりません）。
また，HiRDBクライアント経由XDM/RD E2接続時の非同期キャンセルはサポートしていません。

制限事項

Cosminexus DABroker Libraryで使用するStatementクラスの制限事項を，次に示します。

表9-5　Statementクラスの制限事項

メソッド名 | 制限事項 | JDBC1.0での制限 | JDBC2.0での制限
cancel | 接続データベース種別がHiRDBまたはORACLEの場合だけ有効です。 | ○ | ○
close | プーリング使用時（ConnectionPoolDataSource使用した接続），およびXA使用時（XADataSourceを使用した接続）でStatement.closeメソッド実行中にエラーが発生した場合，SQLExceptionをスローしません。また，プーリング使用時，およびXA使用時でStatement.closeメソッド実行中にデータベースとの物理的な切断でエラーが発生してコネクションプーリングが使用できなくなった場合，ConnectionEventListener.connectionErrorOccurredは発生しません。 | ○ | ○
getFetchSize | 0，またはsetFetchSizeメソッドで指定された値がsetMaxRowsメソッドで指定された値より小さい場合はsetFetchSizeメソッドで指定された値を，setFetchSizeメソッドで指定された値がsetMaxRowsメソッドで指定された値より大きい場合はsetMaxRowsメソッドで指定された値を返却します。 | － | ○
getMaxFieldSize | setMaxFieldSizeが指定されていない場合0を返却します。 | ○ | ○
getMaxRows | setMaxRowsが指定されていない場合は0を返却します。 | ○ | ○
getMoreResults | 無条件に結果なし=falseを返却します。 | ○ | ○
setCursorName | 使用できません。 | ○ | ○
setFetchDirection | FETCH_FORWARD以外を指定した場合，SQLExceptionをスローします。 | － | ○
setFetchSize | 接続データベース種別がHiRDB，またはORACLEの場合で，CLOBやBLOBなどのLONG VARCHAR・LONG VARBINARY型データ列の検索を含まないときだけ有効となります。 | － | ○
setMaxFieldSize | 0より小さい値を指定した場合，SQLExceptionをスローします。 | ○ | ○
setMaxRows | 0より小さい値を指定した場合，SQLExceptionをスローします。 | ○ | ○

（凡例）

○：該当します。

－：該当しません。

Cosminexus DABroker Library提供メソッド

Statementクラスで提供している，Cosminexus DABroker Libraryだけの機能を次に示します。

メソッド一覧

メソッド名 | 機能
getExecuteDirectModeメソッド | 接続データベースがHiRDBの場合，Statementクラスを使用したデータベースの更新で，HiRDBのExecute Direct機能を使用するかどうかの設定情報を取得します。
setExecuteDirectModeメソッド | 接続データベースがHiRDBの場合，Statementクラスを使用したデータベースの更新で，HiRDBのExecute Direct機能を使用するかどうかを設定します。

＜この節の構成＞

getExecuteDirectModeメソッド

setExecuteDirectModeメソッド

getExecuteDirectModeメソッド

説明

接続データベースがHiRDBの場合，INSERT，UPDATE，DELETEなどStatementクラスを使用したデータベースの更新で，HiRDBのExecute Direct機能を使用するかどうかの設定情報を取得します。

形式

public boolean getExecuteDirectMode();

パラメタ

なし

例外

なし

戻り値

boolean：

Execute Direct機能を使用するかどうかを次の値で取得します。

true
Execute Direct機能を使用します。

false
Execute Direct機能を使用しません。

setExecuteDirectModeメソッド

説明

接続データベースがHiRDBの場合，INSERT，UPDATE，DELETEなどStatementクラスを使用したデータベースの更新で，HiRDBのExecute Direct機能を使用するかどうかを設定します。

このメソッドが呼び出されない場合は，falseを設定します。

なお，この指定は接続データベースがHiRDBの場合だけ有効です。HiRDB以外のデータベースの場合は，指定の有無にかかわらずExecute Direct機能を使用しません。

形式

public void setExecuteDirectMode(boolean Mode);

パラメタ

Mode：

HiRDBのExecute Direct機能を使用するかどうかを次の値で設定します。

true
Execute Direct機能を使用します。

false
Execute Direct機能を使用しません。

例外

なし

戻り値

なし

9.5　PreparedStatementクラス

説明

PreparedStatementクラスでは，主に次の機能を提供します。

？パラメタ付きSQLの実行

？パラメタの設定

検索結果として，ResultSetオブジェクトの生成および返却

更新結果として，更新行数の返却

PreparedStatementクラスの提供する各メソッドの詳細および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

なお，PreparedStatementクラスはStatementクラスのサブクラスです。Statementクラスの機能をすべて継承します。

注意事項

PreparedStatementクラスはStatementクラスのサブクラスであるため，Statementクラスの注意事項はすべて該当します。Statementクラスの注意事項を参照してください。

HiRDBを使用する場合でのTIME型，DATE型，TIMESTAMP型の列に対するデータ変換処理
TIME型，DATE型，またはTIMESTAMP型の列に対して，setTime，setDate，setTimestampおよびsetStringメソッドを使用してデータが設定された場合，HiRDBのデータ型に応じてデータが変換されます。列のデータ型と，メソッドとの組み合わせによる，変換処理について次の表に示します。なお，実際に存在しない日時を指定した場合は，Java VMの返す値となります。

表9-6　TIME型，DATE型，TIMESTAMP型とsetXXXメソッドとの変換

setXXXメソッド | HiRDB列属性
TIME | DATE | TIMESTAMP
setTime(Time Obj)※1 | 設定値をデータベースに格納します。 | HiRDBのエラーを返します。 | 設定値hh:mm:ss[.000000]の前に1970-01-01を付加したデータをデータベースに格納します。
setDate(Date Obj)※2 | HiRDBのエラーを返します。 | 設定値をデータベースに格納します。 | 設定値yyyy-MM-DDの後ろに00:00:00[.000000]を付加したデータをデータベースに格納します。
setTimestamp(Timestamp Obj)※3 | HiRDBのエラーを返します。 | 設定値からyyyy-MM-DDを抜き出したデータをデータベースに格納します。 | 設定値をデータベースに格納します。
setString(hh:mm:ss形式の文字列) | 設定値をデータベースに格納します。 | HiRDBのエラーを返します。 | HiRDBのエラーを返します。
setString(yyyy-MM-DD形式の文字列) | HiRDBのエラーを返します。 | 設定値をデータベースに格納します。 | HiRDBのエラーを返します。
setString(yyyy-MM-DD hh:mm:ss[.ffffff]形式の文字列)※4 | HiRDBのエラーを返します。 | HiRDBのエラーを返します。 | 設定値をデータベースに格納します。

注※1　Time Obj：java.sql.Timeオブジェクト「時：分：秒」の値を持つオブジェクト。

注※2　Date Obj：java.sql.Dateオブジェクト「年－月－日」の値を持つオブジェクト。

注※3　Timestamp Obj：java.sql.Timestampオブジェクト「年－月－日　時：分：秒．ナノ秒」の値を持つオブジェクト。

注※4　[.ffffff]：HiRDBのTimestamp型の精度により，小数点以下のけた数が変わります。

HiRDBを使用する場合でのsetXXXメソッド使用時のオーバーフローチェック
XXXは，?パラメタの適切な型です。HiRDBには，値によってはオーバーフローが発生するデータ型が存在します。HiRDBのデータ型と，メソッドとの組み合わせによるオーバーフローの発生の有無について，次の表に示します。オーバーフロー発生時は例外を返します。

表9-7　HiRDBのデータ型とsetXXXメソッドの組み合わせによるオーバーフローの発生の有無

setXXXメソッド | HiRDBのデータ型
SMALLINT | INTEGER | FLOAT | REAL | DECIMAL | CHAR | VARCHAR | DATE | TIME | TIMESTAMP | BINARY | BLOB
setByte | ○ | ○ | ○ | ○ | × | － | － | － | － | － | － | －
setShort | ○ | ○ | ○ | ○ | × | － | － | － | － | － | － | －
setInt | × | ○ | ○ | ○ | × | － | － | － | － | － | － | －
setLong | × | × | ○ | ○ | × | － | － | － | － | － | － | －
setFloat | × | × | ○ | ○ | × | － | － | － | － | － | － | －
setDouble | × | × | ○ | × | × | － | － | － | － | － | － | －
setBigDecimal | × | × | ○ | ○ | × | － | － | － | － | － | － | －
setBoolean | ○ | ○ | ○ | ○ | × | － | － | － | － | － | － | －
setString | × | × | × | × | × | － | － | × | × | × | － | －
setBytes | － | － | － | － | － | － | － | － | － | － | － | －
setDate | － | － | － | － | － | － | － | ○ | － | × | － | －
setTime | － | － | － | － | － | － | － | － | ○ | × | － | －
setTimestamp | － | － | － | － | － | － | － | － | － | ○ | － | －

（凡例）

○：値にかかわらずオーバーフローしません。

×：値によってはオーバーフローする場合があります。

－：この組み合わせでは使用できません。

表9-8　HiRDBのデータ型とsetObjectメソッドの組み合わせによるオーバーフローの発生の有無

setObjectメソッド | HiRDBのデータ型
SMALLINT | INTEGER | FLOAT | REAL | DECIMAL | CHAR | VARCHAR | DATE | TIME | TIMESTAMP | BINARY | BLOB
Byte | ○ | ○ | ○ | ○ | × | － | － | － | － | － | － | －
Short | ○ | ○ | ○ | ○ | × | － | － | － | － | － | － | －
Integer | × | ○ | ○ | ○ | × | － | － | － | － | － | － | －
Long | × | × | ○ | ○ | × | － | － | － | － | － | － | －
Decimal | × | × | ○ | ○ | × | － | － | － | － | － | － | －
Float | × | × | ○ | ○ | × | － | － | － | － | － | － | －
Double | × | × | ○ | × | × | － | － | － | － | － | － | －
Boolean | ○ | ○ | ○ | ○ | × | － | － | － | － | － | － | －
String | × | × | × | × | × | － | － | × | × | × | － | －
Date | － | － | － | － | － | － | － | ○ | － | － | － | －
Time | － | － | － | － | － | － | － | － | ○ | － | － | －
Timestamp | － | － | － | － | － | － | － | － | － | ○ | － | －
byte[] | － | － | － | － | － | － | － | － | － | － | － | －
BLOB | － | － | － | － | － | － | － | － | － | － | － | －
CLOB | － | － | － | － | － | － | － | － | － | － | － | －
Array | － | － | － | － | － | － | － | － | － | － | － | －
Ref | － | － | － | － | － | － | － | － | － | － | － | －
Struct | － | － | － | － | － | － | － | － | － | － | － | －

（凡例）

○：値にかかわらずオーバーフローしません。

×：値によってはオーバーフローする場合があります。

－：この組み合わせでは使用できません。

CommitまたはRollbackにわたってのSQLの前処理の保持機能
Cosminexus DABroker LibraryはDBMSがHiRDBまたはORACLEの場合，SQLの前処理をCommitまたはRollbackにわたって保持します。このため，HiRDBの場合，SELECT，INSERT，DELETE，UPDATE，PURGEおよびCALLのどれかでアクセスする次のスキーマ資源に対して，ほかのユーザが定義系SQL文を発行すると，スキーマ資源にアクセスしていたコネクションをDISCONNECTするまでの間，定義系SQLは排他待ちの状態になります。

表

ビュー

ストアドプロシジャ

ストアドファンクション

抽象データ型

XADataSourceを使用して，バージョンが07-01より前のHiRDBに接続した場合，この機能は有効になりません。バージョンが07-01以降のHiRDBに接続する場合に，この機能が有効になります。Cosminexus DABroker Libraryを使用したデータベース接続の実装については，マニュアル「Cosminexus　機能解説」を参照してください。
Cosminexus Component Containerでコネクションをプーリングしている場合，定義系SQLを発行する前に次のコマンドを実行してください。Cosminexus Component Containerのcjclearpoolコマンドを実行することで，コネクションプールからコネクションを破棄できます。
cjclearpool <サーバ名称> -mode normal -resall
この場合，<サーバ名称>で指定したJ2EEサーバまたはバッチサーバに接続しているすべてのデータソースについてコネクションが削除されます。J2EEアプリケーションまたはバッチアプリケーションでコネクションをクローズしたときに，物理コネクションもクローズされます。
cjclearpoolコマンドについては，マニュアル「Cosminexus　リファレンス　コマンド編」を参照してください。

制限事項

Cosminexus DABroker Libraryで使用するPreparedStatementクラスの制限事項を，次に示します。

表9-9　PreparedStatementクラスの制限事項

メソッド名 | 制限事項 | JDBC1.0での制限 | JDBC2.0での制限
setArray | SQL配列型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
setBlob | 接続データベースがOracle9i，またはOracle10g以外の場合，SQL BLOB型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
setClob | 接続データベースがOracle9i，またはOracle10g以外の場合，SQL CLOB型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
setNull | ユーザ定義型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
setRef | SQL構造化型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○

（凡例）

○：該当します。

－：該当しません。

Cosminexus DABroker Library提供メソッド

PreparedStatementクラスで提供している，Cosminexus DABroker Libraryだけの機能を次に示します。

メソッド一覧

メソッド名 | 機能
getBlockUpdateメソッド | 接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかの設定情報を取得します。
setBlockUpdateメソッド | 接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかを設定します。

＜この節の構成＞

getBlockUpdateメソッド

setBlockUpdateメソッド

getBlockUpdateメソッド

説明

接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかの設定情報を取得します。

形式

public boolean getBlockUpdate();

パラメタ

なし

例外

なし

戻り値

boolean：

複数のパラメタセットを一度に処理するかどうかを次の値で取得します。

true
複数のパラメタセットを一度に処理します。

false
複数のパラメタセットを一つずつ分割して処理します。

注意事項

この機能は，HiRDBの配列を使用した更新機能を使用します。このため，HiRDBの配列を使用した更新機能の使用条件に満たない場合はエラーとなります。なお，配列を使用した更新機能の詳細については，マニュアル「HiRDB UAP開発ガイド」の配列を使用した機能，およびマニュアル「HiRDB SQLリファレンス」のEXECUTE文（SQLの実行形式2），INSERT文（行挿入）形式3，DELETE文（行削除）形式2，UPDATE文（行更新）形式3，形式4を参照してください。

この機能は，HiRDBに対するINSERT，UPDATE，DELETE処理以外には使用できません。

複数のパラメタセット各列のデータ型はすべて同じにしてください。複数のパラメタセット各列のデータ型が異なる場合，更新処理実行時にエラーになります。

DECIMAL型データを挿入する場合，配列に指定するDECIMALデータの精度および位置取りはすべて同じにしてください。精度および位置取りが異なる場合はエラーになります。

複数のパラメタセットを一度に処理する場合に，バッチ更新の途中でエラーが発生すると，エラーが発生する直前までの更新処理はすべて無効になります。

setBlockUpdateメソッド

説明

接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかを設定します。

このメソッドが呼び出されない場合は，falseを設定します。ただし，データベース接続時にDriverManagerクラスのgetConnectionメソッドの引数にBLOCK_UPDATE=trueを指定した場合，このメソッドが呼び出されないときに設定される値は，trueになります。

形式

public void setBlockUpdate(boolean Mode);

パラメタ

Mode：

複数のパラメタセットを一度に処理するかどうかを次の値で設定します。

true
複数のパラメタセットを一度に処理します。

false
複数のパラメタセットを一つずつ分割して処理します。

例外

なし

戻り値

なし

注意事項

この指定は，接続データベースがHiRDBの場合だけ有効です。HiRDB以外のデータベースの場合は，指定の有無にかかわらず，複数のパラメタセットを一つずつ分割して処理します。

実際にパラメタセットが一度に処理されるかどうかは，Cosminexus DABroker LibraryおよびHiRDBの仕様に従います。

この機能は，HiRDBの配列を使用した更新機能を使用します。このため，HiRDBの配列を使用した更新機能の使用条件に満たない場合はエラーとなります。なお，配列を使用した更新機能の詳細については，マニュアル「HiRDB UAP開発ガイド」の配列を使用した機能，およびマニュアル「HiRDB SQLリファレンス」のEXECUTE文（SQLの実行形式2），INSERT文（行挿入）形式3，DELETE文（行削除）形式2，UPDATE文（行更新）形式3，形式4を参照してください。

この機能は，HiRDBに対するINSERT，UPDATE，DELETE処理以外には使用できません。

複数のパラメタセット各列のデータ型はすべて同じにしてください。複数のパラメタセット各列のデータ型が異なる場合，更新処理実行時にエラーになります。

DECIMAL型データを挿入する場合，配列に指定するDECIMALデータの精度および位置取りはすべて同じにしてください。精度および位置取りが異なる場合はエラーになります。

複数のパラメタセットを一度に処理する場合，バッチ更新の途中でエラーが発生すると，エラーが発生する直前までの更新処理はすべて無効になります。

9.6　CallableStatementクラス

説明

CallableStatementクラスでは，主に次の機能を提供します。なお，CallableStatementクラスはPreparedStatementクラスのサブクラスです。PreparedStatementクラスおよびStatementクラスの機能をすべて継承します。

ストアドプロシジャの実行

INPUTおよびINOUTパラメタの設定（PreparedStatementクラスのsetXXXメソッドを使用）

INOUTおよびOUTPUTパラメタの登録

INOUTおよびOUTPUTパラメタ値の取得

CallableStatementクラスの提供する各メソッドの詳細および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

注意事項

CallableStatementクラスはPreparedStatementクラスのサブクラスであるため，PreparedStatementクラス，およびStatementクラスの注意事項はすべて該当します。PreparedStatementクラスおよびStatementクラスの注意事項を参照してください。

ResultSetを伴うストアドプロシジャ
Cosminexus DABroker Libraryでは，ResultSetを伴うストアドプロシジャをサポートしていません。このため，getMoreResultsメソッドは無条件にfalseを返却し，getResultSetメソッドは無条件にnullを返却します。

ストアドプロシジャのOUTパラメタ取得
setXXXメソッド，およびregisterOutParameterメソッドで設定した情報は，executeメソッド，executeUpdateメソッド，またはexecuteQueryメソッド実行後，getXXXメソッドを使用して必要なOUTパラメタをすべて取得し，それ以降その実行結果が不要になるまでは変更しないでください。OUTパラメタを取り出すときにパラメタの設定情報を参照するため，途中でclearParameterメソッドでパラメタの設定情報をクリアしたり，setXXXメソッド，およびregisterOutParameterメソッドでパラメタ情報を再設定したりすると，getXXXメソッドでエラーが発生しOUTパラメタの取得ができなくなります。
（例）OUTパラメタを取得する前にclearParameterメソッドを実行した場合
（実行するTEST_PROC(?)の?パラメタはREAL型のOUTパラメタとする）

cstmt = con.prepareCall("{CALL TEST_PROC(?)}");
cstmt.registerOutParameter(1, Types.REAL);  // OUTパラメタ情報の設定
cstmt.execute();   // プロシジャ実行
cstmt.clearParameter();   // パラメタ情報のクリア
float float_value = cstmt.getFloat(1);   // OUTパラメタの取得，エラーの発生

発生するエラー：KFDJ05006-E

Output attribute is not able to acuire information because it does not exist in a parameter.

DECIMAL型使用時の注意事項
DECIMAL型のOUTパラメタ，またはINOUTパラメタを設定するとき，小数点以下のけた数（以下スケール値）を受け入れない形式のregisterOutParameter(int parameterIndex，int sqlType)メソッドを使用するとスケール値は0とみなされます。
また，INOUTパラメタへの設定は最後に実行したメソッドのスケール値が有効となります。そのためDECIMAL型のINOUTパラメタを設定する場合は，スケール値を受け入れない形式のregisterOutParameter(int parameterIndex，int sqlType)メソッドを先に設定したあとにsetBigDecimal(int parameterIndex，BigDecimal x)メソッドを設定，またはsetBigDecimal(int parameterIndex， BigDecimal x)メソッドを設定したあとにスケール値を受け入れる形式のregisterOutParameter(int parameterIndex，int sqlType，int scale)メソッドを設定してください。このとき，setBigDecimalメソッドに指定するjava.math.BigDecimalオブジェクトのスケール値，およびregisterOutParameterメソッドに指定するスケール値はデータベースに定義しているスケール値と同じにする必要があります。

（例1）registerOutParameterメソッドを先に設定する場合(定義長(15,5)とする)

cstmt.registerOutParameter(1, Types.DECIMAL);

cstmt.setBigDecimal(1, new java.math.BigDecimal("123.45000"));

（例2）scale付きregisterOutParameterメソッドを使用する場合(定義長(15,5)とする)

cstmt.setBigDecimal(1, new java.math.BigDecimal("123.45000"));

cstmt.registerOutParameter(1,Types.DECIMAL,5);

データベースから0バイトデータを取得する場合の注意事項
データベースから0バイトデータを取得すると，nullが返されることがあります。発生条件を次に示します。

HiRDBの場合

次の条件が重なった場合に発生します。

データベースに格納されている0バイトデータを，ストアドプロシジャのOUTパラメタ，またはINOUTパラメタで取得する場合。

列のデータ型が次のどれかの場合。
VARCHAR
NVARCHAR
MVARCHAR
BINARY
BLOB

Oracleの場合

次の条件が重なった場合に発生します。

データベースに格納されている0バイトデータを，ResultSetクラス，ストアドプロシジャのOUTパラメタ，またはINOUTパラメタで取得する場合。

列のデータ型が0バイトデータを格納できるデータ型の場合。

制限事項

Cosminexus DABroker Libraryで使用するCallableStatementクラスの制限事項を，次に示します。

表9-10　CallableStatementクラスの制限事項

メソッド名 | 制限事項 | JDBC1.0での制限 | JDBC2.0での制限
getArray | SQL配列型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
getBlob | 接続データベースがOracle9i，またはOracle10g以外の場合，SQL BLOB型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
getClob | 接続データベースがOracle9i，またはOracle10g以外の場合，SQL CLOB型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
getRef | SQL構造化型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○

（凡例）

○：該当します。

－：該当しません。

9.7　ResultSetクラス

説明

ResultSetクラスでは，主に次の機能を提供します。

行単位のResultSet内の移動

結果データの返却

検索結果データがNULL値かどうかの通知

ResultSetクラスの提供する各メソッドの詳細および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

注意事項

マルチスレッド
一つのResultSetオブジェクトを複数のスレッドで並行して使用する場合の動作は保証しません。
一つのResultSetオブジェクトは一つのスレッドで処理してください。

setFetchSizeメソッドの使用について
Statementクラスの注意事項を参照してください。

HiRDBのホールダブルカーソル機能の使用について
Cosminexus DABroker Libraryでは，HiRDBのホールダブルカーソル機能を使用することによって，複数のコミットにわたってカーソルを保持できます。使用するためには，接続時にプロパティまたはURLにHIRDB_CURSOR=trueを設定するか，DataSourceクラスのsetHiRDBCursorMode(true)を設定する必要があります。

ResultSetのクローズ
プーリング使用時（ConnectionPoolDataSourceを使用した接続），およびXA使用時（XADataSourceを使用した接続）でResultSetのcloseメソッド実行中にデータベースとの物理的な切断でエラーが発生しコネクションプーリングが使用できなくなった場合，ConnectionEventListener.connectionErrorOccurredは発生しません。

制限事項

Cosminexus DABroker Libraryで使用するResultSetクラスの制限事項を，次に示します。

表9-11　ResultSetクラスの制限事項

メソッド名 | 制限事項 | JDBC1.0での制限 | JDBC2.0での制限
close | ステートメントのクローズ時，または次のSQL実行時に暗黙的にクローズします。プーリング使用時（ConnectionPoolDataSourceを使用した接続），およびXA使用時（XADataSourceを使用した接続）でResultSet.closeメソッド実行中にデータベースとの物理的な切断でエラーが発生しコネクションプーリングが使用できなくなった場合ConnectionEventListener.connectionErrorOccurredは発生しません。 | ○ | ○
cancelRowUpdates | 更新可能型ResultSetをサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
deleteRow
findColumn | 指定された列名がResultSetオブジェクトに含まれていないため列インデックスが取得できない場合，SQLExceptionをスローします。 | ○ | ○
absolute | absolute(-2)と指定した場合，カーソルは最終行の前の行へ移動します。 | － | ○
afterLast | 結果セットに行がない場合，何も処理しません。 | － | ○
beforeFirst
cancelRowUpdates | 更新可能型ResultSetをサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
deleteRow
getArray | SQL配列型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
getBlob | 接続データベースがHiRDB，Oracle9i，またはOracle10g以外の場合，SQL LONGVARBINARY型およびSQL BLOB型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
getClob | 接続データベースがOracle9i，またはOracle10g以外の場合，SQL CLOB型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
getFetchSize | 0，またはsetFetchSizeメソッドで指定された値がsetMaxRowsメソッドで指定された値より小さい場合はsetFetchSizeメソッドで指定された値を，setFetchSizeメソッドで指定された値がsetMaxRowsメソッドで指定された値より大きい場合はsetMaxRowsメソッドで指定された値を返却します。 | － | ○
getRef | SQL構造化型をサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
isFirst | 結果セットに行がない場合falseを返却します。 | － | ○
isLast | 結果セットに行がない場合falseを返却します。 | － | ○
insertRow | 更新可能型ResultSetをサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
moveToCurrentRow
moveToInsertRow
previous | カーソルの移動方向がnextメソッドと逆方向になります。 | － | ○
refreshRow | 更新可能型ResultSetをサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
relative | 結果セットに行がない場合SQLExceptionをthrowします。カーソルが先頭行の前，または最終行の後ろにある場合は有効として処理します。処理結果が結果セットの先頭行，最終行を超える場合はそれぞれ先頭行の前，最終行の後ろへ移動します。 | － | ○
rowDeleted | 更新可能型ResultSetをサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
rowInserted
rowUpdated
setFetchDirection | FETCH_FORWARD以外を指定した場合，SQLExceptionをスローします。 | － | ○
setFetchSize | 接続データベース種別がHiRDB，またはORACLEの場合で，CLOBやBLOBなどのLONG VARCHAR・LONG VARBINARY型データ列の検索を含まないときだけ有効となります。 | － | ○
updateAsciiStream | 更新可能型ResultSetをサポートしていないため，無条件にSQLExceptionをスローします。 | － | ○
updateBigDecimal
updateBinaryStream
updateBoolean
updateByte
updateBytes
updateCharacterStream
updateDate
updateDouble
updateFloat
updateInt
updateLong
updateNull
updateObject
updateRow
updateShort
updateString
updateTime
updateTimestamp

（凡例）

○：該当します。

－：該当しません。

9.8　ResultSetMetaDataクラス

説明

ResultSetMetaDataクラスでは，主に次の機能を提供します。

ResultSetの各列に対する，データ型およびデータ長のメタ情報の返却

ResultSetMetaDataクラスの提供する各メソッドの詳細および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

制限事項

Cosminexus DABroker Libraryで使用するResultSetMetaDataクラスの制限事項を，次に示します。

表9-12　ResultSetMetaDataクラスの制限事項

メソッド名 | 制限事項 | JDBC1.0での制限 | JDBC2.0での制限
getCatalogName | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。それ以外の場合，無条件にnullを返却します。 | ○ | ○
getColumnClassName | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。それ以外の場合，無条件にfalseを返却します。 | － | ○
getColumnDisplaySize | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。 | ○ | ○
getColumnLabel | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。それ以外の場合，カラムのラベル（カラムヘッダ）をサポートしていないため，カラム名を返却します。 | ○ | ○
getColumnName | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。データベースから返される列名称を返却します。 | ○ | ○
getColumnType | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。 | ○ | ○
getPrecision | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。列属性がDECIMAL，NUMERICの場合は精度を返却し，それ以外は列長を返却します。 | ○ | ○
getScale | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。列属性がDECIMAL，NUMERICの場合は小数点以下のけた数を返却し，それ以外は0を返却します。 | ○ | ○
getSchemaName | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。それ以外の場合，無条件にnullを返却します。 | ○ | ○
getTableName
isAutoIncrement | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。それ以外の場合，無条件にfalseを返却します。 | ○ | ○
isCaseSensitive
isCurrency
isDefinitelyWritable
isNullable | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。 | ○ | ○
isReadOnly | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。それ以外の場合，無条件にfalseを返却します。 | ○ | ○
isSearchable | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。 | ○ | ○
isSigned | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。列属性が数値属性の場合trueを返却し，それ以外の場合はfalseを返却します。 | ○ | ○
isWritable | columnが0以下，またはカラム数を超えている場合はSQLExceptionをスローします。それ以外の場合，無条件にfalseを返却します。 | ○ | ○

（凡例）

○：該当します。

－：該当しません。

9.9　DatabaseMetaDataクラス

説明

DatabaseMetaDataクラスでは，主に次の機能を提供します。

接続データベースに関する各種情報の返却

表一覧，列一覧などの一覧系情報を，ResultSetに格納して返却

DatabaseMetaDataクラスの提供する各メソッドの詳細および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

制限事項

Cosminexus DABroker Libraryで使用するDatabaseMetaDataクラスの制限事項を，次に示します。

表9-13　DatabaseMetaDataクラスの制限事項

メソッド名
制限事項
JDBC1.0での制限
JDBC2.0での制限

dataDefinitionIgnoredInTransactions
無条件にfalseを返却します。
○
○

deletesAreDetected
更新結果を反映するResultSetをサポートしていないため，無条件にfalseを返却します。
－
○

getBestRowIdentifier
行を一意に識別するテーブルの最適なカラムに関する記述を返却します（返す結果は常に0件）。
○
○

getCatalogs
カタログ名称に関する記述を返却します（返す結果は常に0件）。
○
○

getCrossReference
主キーテーブルの主キーカラムを参照する外部キーテーブル中の，外部キーカラムに関する記述を返却します（返す結果は常に0件）。
○
○

getDatabaseProductVersion
無条件にnullを返却します。
○
○

getDefaultTransactionIsolation
無条件にTRANSACTION_READ_UNCOMMITTEDを返却します。
○
○

getExportedKeys
主キーのカラムを参照する，外部キーのカラムに関する記述を返却します（返す結果は常に0件）。
○
○

getIdentifierQuoteString
無条件に引用符(")を返却します。
○
○

getImportedKeys
外部キーのカラムを参照する，主キーのカラムに関する記述を返却します（返す結果は常に0件）。
○
○

getMaxConnections
無条件に0を返却します。
○
○

getMaxStatements
接続データベースがHiRDBまたはOracleの場合，無条件に1024を，それ以外の場合は，64を返却します。
○
○

getUDTs
ユーザ定義型に関する記述を返却します（返す結果は常に０件）。
－
○

getVersionColumns
自動的に更新されるカラムに関する記述を返却します（返す結果は常に0件）。
○
○

isReadOnly
アクセスモードを変更できないため，無条件にfalseを返却します。
○
○

insertsAreDetected
更新結果を反映するResultSetをサポートしていないため，無条件にfalseを返却します。
－
○

othersDeletesAreVisible

othersInsertsAreVisible

othersUpdatesAreVisible

ownDeletesAreVisible

ownInsertsAreVisible

ownUpdatesAreVisible

storesLowerCaseQuotedIdentifiers
無条件にfalseを返却します。
○
○

supportsANSI92EntryLevelSQL
無条件にtrueを返却します。
○
○

supportsANSI92FullSQL
無条件にfalseを返却します。
○
○

supportsANSI92IntermediateSQL

supportsCatalogsInIndexDefinitions

supportsCatalogsInPrivilegeDefinitions

supportsMixedCaseIdentifiers

supportsMultipleResultSets

supportsMultipleTransactions
無条件にtrueを返却します。
○
○

supportsPositionedDelete
無条件にfalseを返却します。
○
○

supportsPositionedUpdate

supportsSelectForUpdate

supportsSchemasInDataManipulation
無条件にtrueを返却します。
○
○

supportsTransactionIsolationLevel
与えられたトランザクションアイソレーションレベルがTRANSACTION_READ_UNCOMMITTEDの場合，trueを返却します。
○
○

supportsTransactions
無条件にtrueを返却します。
○
○

usesLocalFilePerTable
無条件にfalseを返却します。
○
○

usesLocalFiles

supportsOpenCursorsAcrossCommit

HiRDB接続時

表9-14を参照してください。

Oracle接続時

常にtrueを返却します。

XDM/RD E2接続時

XDM/RD E2 11-01以前の場合，常にfalseを返却します。

XDM/RD E2 11-02以降の場合，HiRDB接続時と同じです。詳細については，表9-14を参照してください。

－
○

supportsOpenCursorsAcrossRollback

supportsOpenStatementsAcrossCommit

supportsOpenStatementsAcrossRollback

supportsBatchUpdates
無条件にtrueを返却します。
－
○

supportsResultSetConcurrency
ResultSetタイプがTYPE_FORWARD_ONLYまたはTYPE_SCROLL_INSENSITIVEで，並行処理タイプがCONCUR_READ_ONLYの場合，trueを返却します。
－
○

updatesAreDetected
更新結果を反映するResultSetをサポートしていないため，無条件にfalseを返却します。
－
○

（凡例）

○：該当します。

－：該当しません。

表9-14　HiRDB接続時のsupportsOpenXXXXメソッドの戻り値

接続時のHiRDB_CURSORの指定値

FALSE
TRUE

supportsOpenCursorsAcrossCommit=false
supportsOpenCursorsAcrossRollback=false
supportsOpenStatementsAcrossCommit=true
supportsOpenStatementsAcrossRollback=true
supportsOpenCursorsAcrossCommit=true
supportsOpenCursorsAcrossRollback=false
supportsOpenStatementsAcrossCommit=true
supportsOpenStatementsAcrossRollback=true

9.10　DataSourceクラス

説明

DataSourceクラスでは，次の機能を提供します。

データベースの接続情報の設定および取得

このクラスのパッケージ名は，JP.co.Hitachi.soft.DBPSV_Driverです。

JdbcDbpsvDataSourceクラス

JDBC2.0拡張機能で提供する，JNDI連携機能を使用したデータベースへアクセスするためのインタフェースです。

表9-15　JdbcDbpsvDataSourceクラスのメソッド一覧

メソッド名 | 機能
getBlockUpdateメソッド | 接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかの設定を取得します。
getBufferPoolSizeメソッド | 受信バッファプール数を取得します。
getBufSizeメソッド | Cosminexus DABroker Libraryからの受信データのバッファ長を取得します。
getDatabaseNameメソッド | 接続するデータベースの種別を取得します。
getDBEnvメソッド | Cosminexus DABroker Libraryの接続先データベース定義情報を取得します。
getDBHostNameメソッド | 接続するHiRDBのホスト名を取得します。
getDescriptionメソッド | 接続するデータベースに必要な接続付加情報を取得します。
getEncodLangメソッド | エンコード文字形態を取得します。
getExecuteDirectModeメソッド | 接続データベースがHiRDBの場合，Statementクラスを使用したデータベースの更新でHiRDBのExecute Direct機能を使用するかどうかの設定を取得します。
getHiRDBCursorModeメソッド | 接続データベースがHiRDBの場合，検索時にカーソルが複数のCommitまたはRollbackにわたって有効かどうかの設定を取得します。
getJDBC_IF_TRCメソッド | JDBCインタフェースメソッドトレースの取得の有無を取得します。
getLONGVARBINARY_Accessメソッド | HiRDBでLONGVARBINARY（列属性BLOB，列属性BINARY）へのアクセス方法を取得します。
getNetworkProtocolメソッド | Cosminexus DABroker Libraryとの接続種別を取得します。
getNotErrorOccurredメソッド | connectionErrorOccurredが呼ばれるかどうかの設定を取得します。
getOSAuthorizeメソッド | OS認証機能を使用してデータベースに接続するかどうかの設定を取得します。
getPasswordメソッド | データベースアクセスのパスワードを取得します。
getPortNumberメソッド | 接続するCosminexus DABroker Libraryのポート番号を取得します。
getRowSizeメソッド | JDBCで取り扱うバッファ長を取得します。
getServerNameメソッド | 接続するCosminexus DABroker Libraryのホスト名を取得します。
getSQLWarningIgnoreメソッド | データベースから返される警告をConnectionクラスで保持するかどうかの情報を取得します。
getSV_EVENT_TRCメソッド | Cosminexus DABroker Libraryとのイベントトレースの取得の有無を取得します。
getTRC_NOメソッド | トレースのエントリ数を取得します。
getUapNameメソッド | アプリケーション名称を取得します。
getUserメソッド | データベースアクセスのユーザIDを取得します。
setBlockUpdateメソッド | 接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかを設定します。
setBufferPoolSizeメソッド | 受信バッファプール数を設定します。
setBufSizeメソッド | Cosminexus DABroker Libraryからの受信データのバッファ長を設定します。
setDatabaseNameメソッド | 接続するデータベースの種別を設定します。
setDBEnvメソッド | Cosminexus DABroker Libraryの接続先データベース定義情報を設定します。
setDBHostNameメソッド | 接続するHiRDBのホスト名を設定します。
setDescriptionメソッド | 接続するデータベースに必要な接続付加情報を設定します。
setEncodLangメソッド | エンコード文字形態を設定します。
setExecuteDirectModeメソッド | 接続データベースがHiRDBの場合，Statementクラスを使用したデータベースの更新でHiRDBのExecute Direct機能を使用するかどうかを設定します。
setHiRDBCursorModeメソッド | 接続データベースがHiRDBの場合，検索時にカーソルが複数のCommitまたはRollbackにわたって有効かどうかを設定します。
setJDBC_IF_TRCメソッド | JDBCインタフェースメソッドトレースの取得の有無を設定します。
setLONGVARBINARY_Accessメソッド | HiRDBでLONGVARBINARY（列属性BLOB，列属性BINARY）へのアクセス方法を設定します。
setNetworkProtocolメソッド | Cosminexus DABroker Libraryとの接続種別を設定します。
setNotErrorOccurredメソッド | connectionErrorOccurredが呼ばれるかどうかを設定します。
setOSAuthorizeメソッド | OS認証機能を使用してデータベースに接続するかどうかを設定します。
setPasswordメソッド | データベースアクセスのパスワードを設定します。
setPortNumberメソッド | 接続するCosminexus DABroker Libraryのポート番号を設定します。
setRowSizeメソッド | JDBCで取り扱うバッファ長を指定します。
setServerNameメソッド | 接続するCosminexus DABroker Libraryのホスト名を設定します。
setSQLWarningIgnoreメソッド | データベースから返される警告をConnectionクラスで保持するかどうかの情報を設定します。
setSV_EVENT_TRCメソッド | Cosminexus DABroker Libraryとのイベントトレースの取得の有無を設定します。
setTRC_NOメソッド | トレースのエントリ数を設定します。
setUapNameメソッド | アプリケーション名称を設定します。
setUserメソッド | データベースアクセスのユーザIDを設定します。

JdbcDbpsvXADataSourceクラス

JDBC2.0拡張機能で提供する，トランザクション連携のためのインタフェースです。

表9-16　JdbcDbpsvXADataSourceクラスのメソッド一覧

メソッド名 | 機能
getRMIDメソッド | リソースマネジャの識別子を取得します。
getXACloseStringメソッド | XA_CLOSE文字列を取得します。
getXALocalCommitModeメソッド | XA使用時，データベースのオートコミットを有効にしているかどうかの設定を取得します。
getXAOpenStringメソッド | XA_OPEN文字列を取得します。
getXAThreadModeメソッド | XA使用時のスレッドモードを取得します。
setRMIDメソッド | リソースマネジャの識別子を設定します。
setXACloseStringメソッド | XA_CLOSE文字列を設定します。
setXALocalCommitModeメソッド | XA使用時，データベースのオートコミットを有効にするかどうかを設定します。
setXAOpenStringメソッド | XA_OPEN文字列を設定します。
setXAThreadModeメソッド | XA使用時のスレッドモードを設定します。

＜この節の構成＞

getBlockUpdateメソッド

getBufferPoolSizeメソッド

getBufSizeメソッド

getDBEnvメソッド

getDBHostNameメソッド

getDatabaseNameメソッド

getDescriptionメソッド

getEncodLangメソッド

getExecuteDirectModeメソッド

getHiRDBCursorModeメソッド

getJDBC_IF_TRCメソッド

getLONGVARBINARY_Accessメソッド

getNetworkProtocolメソッド

getNotErrorOccurredメソッド

getOSAuthorizeメソッド

getPasswordメソッド

getPortNumberメソッド

getRowSizeメソッド

getSQLWarningIgnoreメソッド

getSV_EVENT_TRCメソッド

getServerNameメソッド

getTRC_NOメソッド

getUapNameメソッド

getUserメソッド

setBlockUpdateメソッド

setBufferPoolSizeメソッド

setBufSizeメソッド

setDBEnvメソッド

setDBHostNameメソッド

setDatabaseNameメソッド

setDescriptionメソッド

setEncodLangメソッド

setExecuteDirectModeメソッド

setHiRDBCursorModeメソッド

setJDBC_IF_TRCメソッド

setLONGVARBINARY_Accessメソッド

setNetworkProtocolメソッド

setNotErrorOccurredメソッド

setOSAuthorizeメソッド

setPasswordメソッド

setPortNumberメソッド

setRowSizeメソッド

setSQLWarningIgnoreメソッド

setSV_EVENT_TRCメソッド

setServerNameメソッド

setTRC_NOメソッド

setUapNameメソッド

setUserメソッド

getRMIDメソッド

getXACloseStringメソッド

getXALocalCommitModeメソッド

getXAOpenStringメソッド

getXAThreadModeメソッド

setRMIDメソッド

setXACloseStringメソッド

setXALocalCommitModeメソッド

setXAOpenStringメソッド

setXAThreadModeメソッド

getBlockUpdateメソッド

説明

接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかの設定情報を取得します。

形式

public boolean getBlockUpdate();

パラメタ

なし

例外

なし

戻り値

boolean：

複数のパラメタセットを一度に処理するかどうかを次の値で取得します。

true
複数のパラメタセットを一度に処理します。

false
複数のパラメタセットを一つずつ分割して処理します。

getBufferPoolSizeメソッド

説明

setBufferPoolSizeメソッドで設定した，受信バッファプール数を取得します。setBufferPoolSizeメソッドで受信バッファプール数が設定されていない場合は，0を取得します。

このメソッドは，受信バッファプール数が設定されている場合に使用します。受信バッファプール数の設定については，マニュアル「Cosminexus　機能解説」の受信バッファのプーリングに関する説明を参照してください。

形式

public int getBufferPoolSize();

パラメタ

なし

例外

なし

戻り値

int：

受信バッファプール数を取得します。

getBufSizeメソッド

説明

setBufSizeメソッドで設定した，Cosminexus DABroker Libraryからの受信データを格納するためのバッファ長を取得します。

setBufSizeメソッドで受信バッファ長が設定されていない場合は，64を取得します。

形式

public int getBufSize();

パラメタ

なし

例外

なし

戻り値

int：

バッファ長を取得します。

getDBEnvメソッド

説明

setDBEnvメソッドで設定された，接続するデータベースに対する接続先データベース定義情報を取得します。

接続先データベース定義情報が設定されていない場合は，nullを取得します。

形式

public String getDBEnv();

パラメタ

なし

例外

なし

戻り値

String：

Cosminexus DABroker Libraryに設定してある，接続先データベース定義情報を取得します。

getDBHostNameメソッド

説明

setDBHostNameメソッドで設定された，接続するHiRDBのホスト名を取得します。

HiRDBのホスト名が設定されていない場合は，nullを取得します。

形式

public String getDBHostName();

パラメタ

なし

例外

なし

戻り値

String：

HiRDBのホスト名を取得します。

getDatabaseNameメソッド

説明

setDatabaseNameメソッドで設定された，接続するデータベースの種別を取得します。

接続データベース種別が設定されていない場合は，nullを取得します。

形式

public String getDatabaseName();

パラメタ

なし

例外

なし

戻り値

String：

接続するデータベースの種別を取得します。

getDescriptionメソッド

説明

setDescriptionメソッドで設定された，接続するデータベースに必要な接続付加情報を取得します。

接続付加情報が設定されていない場合は，nullを取得します。

形式

public String getDescription();

パラメタ

なし

例外

なし

戻り値

String：

接続付加情報を取得します。

getEncodLangメソッド

説明

エンコード文字形態を取得します。

形式

public String getEncodLang();

パラメタ

なし

例外

なし

戻り値

String：

setEncodLangメソッドで設定した，文字エンコーディング情報を取得します。

getExecuteDirectModeメソッド

説明

接続データベースがHiRDBの場合，INSERT，UPDATE，DELETEなど，Statementクラスを使用したデータベースの更新で，HiRDBのExecute Direct機能を使用するかどうかの設定情報を取得します。

形式

public boolean getExecuteDirectMode();

パラメタ

なし

例外

なし

戻り値

boolean：

Execute Direct機能を使用するかどうかを次の値で取得します。

true
Execute Direct機能を使用します。

false
Execute Direct機能を使用しません。

getHiRDBCursorModeメソッド

説明

HiRDBで検索時にカーソルが複数のCommitにわたって有効かどうかの設定情報を取得します。

MetaDataを取得する場合，trueを指定してLOCK TABLE UNTIL DISCONNECTをしないで，複数のCommitにわたってFetchを行うとエラーが発生します。MetaDataを取得する場合は，trueを設定しないでください。

MetaDataを取得する場合，falseまたはデフォルトの状態でResultSetのFetch実行中にCommitを実行するとエラーが発生します。

この機能を使用する場合，マニュアル「HiRDB SQLリファレンス」のDECLARE CURSOR（カーソル宣言）形式1を参照してください。

形式

public boolean getHiRDBCursorMode();

パラメタ

なし

例外

なし

戻り値

boolean：

HiRDBで検索時にカーソルが複数のCommitにわたって有効かどうかの設定情報を次の値で取得します。

true
カーソルは保持されます。アプリケーションは続けてFetchすることができます（LOCK TABLE UNTIL DISCONNECTが前提です）。

false
カーソルはクローズされますが，ステートメントは有効です。アプリケーションは，Prepareしないで，再度Executeできます。

getJDBC_IF_TRCメソッド

説明

setJDBC_IF_TRCメソッドで設定した，JDBCインタフェースメソッドトレースの取得の有無を取得します。

形式

public boolean getJDBC_IF_TRC();

パラメタ

なし

例外

なし

戻り値

boolean：

トレースの取得の有無を次の値で取得します。

true
取得します。

false
取得しません。

getLONGVARBINARY_Accessメソッド

説明

setLONGVARBINARY_Accessメソッドで指定された，LONGVARBINARY（列属性BLOB，列属性BINARY）のデータベースアクセス方法の設定情報を返却します。

形式

public String getLONGVARBINARY_Access();

パラメタ

なし

例外

なし

戻り値

String：

LONGVARBINARY（列属性BLOB，列属性BINARY）のデータベースアクセス方法の設定情報を取得します。何も設定されていない場合，"REAL"を返却します。

"REAL"
実データでアクセスします。

"LOCATOR"
HiRDBの位置づけ子（locator）機能を使用してアクセスします。

getNetworkProtocolメソッド

説明

setNetworkProtocolメソッドで設定された，Cosminexus DABroker Libraryとの接続種別を取得します。

接続種別が設定されていない場合は，nullを取得します。

形式

public String getNetworkProtocol();

パラメタ

なし

例外

なし

戻り値

String：

接続種別を取得します。

getNotErrorOccurredメソッド

説明

ConnectionEventListener.connectionErrorOccurredの発生を抑止するかどうかの設定情報を取得します。

形式

public boolean getNotErrorOccurred();

パラメタ

なし

例外

なし

戻り値

boolean：

ConnectionEventListener.connectionErrorOccurredを発生させるかどうかの設定情報を次の値で取得します。

true
connectionErrorOccurredを発生させません。

false
connectionErrorOccurredを発生させます。

getOSAuthorizeメソッド

説明

OS認証機能を使用してデータベースに接続するかどうかの設定情報を取得します。

このメソッドは，setOSAuthorize(boolean Mode)メソッドで設定した内容を取得します。

setOSAuthorize(boolean Mode)メソッドが呼び出されなかった場合は，falseが設定されます。

形式

public boolean getOSAuthorize();

パラメタ

なし

例外

なし

戻り値

boolean：

OS認証機能を使用するかどうかの設定情報を次の値で取得します。

true
OS認証機能を使用します。

false
OS認証機能を使用しません。

getPasswordメソッド

説明

setPasswordメソッドで設定した，データベースアクセスのパスワードを取得します。

setPasswordメソッドでパスワードが設定されていない場合は，nullを取得します。setPasswordメソッドでパスワードを設定し，ユーザIDとパスワードを引数に持つgetConnectionメソッドを呼び出した場合は，getConnectionメソッドで指定したパスワードを取得します。

形式

public String getPassword();

パラメタ

なし

例外

なし

戻り値

String：

パスワードを取得します。

getPortNumberメソッド

説明

setPortNumberメソッドで設定された，Cosminexus DABroker Libraryのポート番号を取得します。

ポート番号が設定されていない場合は，「40179」を取得します。

形式

public int getPortNumber();

パラメタ

なし

例外

なし

戻り値

int：

Cosminexus DABroker Libraryのポート番号を取得します。

getRowSizeメソッド

説明

JDBCで取り扱うバッファ長を取得します。

形式

public int getRowSize();

パラメタ

なし

例外

なし

戻り値

int：

バッファ長を取得します。指定を省略した場合は，16を取得します。

getSQLWarningIgnoreメソッド

説明

データベースから返される警告をConnectionクラスで保持するかどうかの設定情報を取得します。

形式

public boolean getSQLWarningIgnore();

パラメタ

なし

例外

なし

戻り値

boolean：

警告を保持しないかどうかの設定情報を次の値で取得します。

true
警告を保持しません。

false
警告を保持します。

getSV_EVENT_TRCメソッド

説明

setSV_EVENT_TRCメソッドで設定した，Cosminexus DABroker Libraryとのイベントトレースの取得の有無を取得します。

形式

public boolean getSV_EVENT_TRC();

パラメタ

なし

例外

なし

戻り値

boolean：

トレースの取得の有無を次の値で取得します。

true
取得します。

false
取得しません。

getServerNameメソッド

説明

setServerNameメソッドで設定された，Cosminexus DABroker Libraryのホスト名を取得します。

Cosminexus DABroker Libraryのホスト名が設定されていない場合は，nullを取得します。

形式

public String getServerName();

パラメタ

なし

例外

なし

戻り値

String：

Cosminexus DABroker Libraryのホスト名またはIPアドレスを取得します。

getTRC_NOメソッド

説明

setTRC_NOメソッドで設定した，トレースのエントリ数を取得します。

setTRC_NOメソッドでエントリ数が指定されていない場合は，100を取得します。

形式

public int getTRC_NO();

パラメタ

なし

例外

なし

戻り値

int：

トレースのエントリ数を取得します。

getUapNameメソッド

説明

setUapNameメソッドで設定した，アプリケーション名称を取得します。

setUapNameメソッドでアプリケーション名称が設定されていない場合は，JDBCドライバの製品名称を取得します。

形式

public String getUapName();

パラメタ

なし

例外

なし

戻り値

String：

アプリケーション名称を取得します。

getUserメソッド

説明

setUserメソッドで設定した，データベースアクセスのユーザIDを取得します。

setUserメソッドでユーザIDが設定されていない場合は，nullを取得します。

setUserメソッドでユーザIDを設定し，ユーザIDとパスワードを引数に持つgetConnectionメソッドを呼び出した場合は，getConnectionメソッドで指定したユーザIDを取得します。

形式

public String getUser();

パラメタ

なし

例外

なし

戻り値

String：

ユーザIDを取得します。

setBlockUpdateメソッド

説明

接続データベースがHiRDBの場合，?パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかを設定します。

このメソッドが呼び出されない場合は，falseを設定します。

この指定は，接続データベースがHiRDBの場合だけ有効です。HiRDB以外のデータベースの場合は，指定の有無にかかわらず，複数のパラメタセットを一つずつ分割して処理します。Cosminexus DABroker Libraryを使用してデータベースに接続するための各種情報の設定については，マニュアル「Cosminexus　機能解説」を参照してください。

形式

public void setBlockUpdate(boolean Mode);

パラメタ

Mode：

複数のパラメタセットを一度に処理するかどうかを次の値で設定します。

true
複数のパラメタセットを一度に処理します。

false
複数のパラメタセットを一つずつ分割して処理します。

例外

なし

戻り値

なし

setBufferPoolSizeメソッド

説明

受信バッファプール数を設定します。

0を設定した場合，受信バッファプール数は設定されません。この場合，すべての受信バッファをプールします。0未満の値を設定した場合，またはこのメソッドで受信バッファプール数を明示的に設定していない場合は，0を仮定して，すべての受信バッファをプールします。

1025以上の値を指定した場合は，1024を仮定します。

値を仮定した場合は，Exceptionトレースログにメッセージ（KFDJ30010-W）を出力します。ただし，SQLWarningは作成されません。メッセージの詳細については，マニュアル「Cosminexus　メッセージ 3　KFCT／KFDB／KFDJ編」を参照してください。また，受信バッファプール数の設定については，マニュアル「Cosminexus　機能解説」の受信バッファのプーリングに関する説明を参照してください。

形式

public void setBufferPoolSize(int size);

パラメタ

size：

受信バッファプール数を設定するかどうかを指定します。また，受信バッファプール数を設定する場合，受信バッファプールの数を指定します。

次の値で指定します。

0
受信バッファプール数を指定しません。この場合，すべての受信バッファがプールされます。これは，明示的に受信バッファプール数を指定しない場合と同じ動作です。

1～1024
受信バッファプール数を指定する場合に，プールする受信バッファの数を1～1024の範囲で指定します。

例外

なし

戻り値

なし

setBufSizeメソッド

説明

Cosminexus DABroker Libraryからの受信データを格納するためのバッファ長を設定します。

このメソッドが呼び出されない場合は，受信バッファ長として64を仮定します。

1より小さい値を設定した場合は64を仮定します。

16000より大きい値を指定した場合は16000を仮定します。

値を仮定した場合は，Exceptionトレースログにメッセージ（KFDJ30009-W）を出力します。メッセージは，DataSource.getConnection()メソッド，PooledConnection.getConnection()メソッド，またはXAConnection.getConnection()メソッドによって，Connectionオブジェクトを取得するときに出力します。メッセージの詳細については，マニュアル「Cosminexus　メッセージ 3　KFCT／KFDB／KFDJ編」を参照してください。

BLOBデータなどの長大データを使用する場合，想定されるデータ以上の値を指定してください。

このメソッドの指定値の上限が16000キロバイトのため，BLOBデータなど，16000キロバイトを超える長大データにはアクセスできません。データベース種別がHiRDBの場合は，指定したバイト数を取り出すSTRINGのインタフェース（BLOBデータの部分抽出機能）があるため，ここで指定したサイズ以下のサイズに分割してから取り出してください。BLOBデータの部分抽出機能の詳細については，マニュアル「HiRDB UAP開発ガイド」，およびマニュアル「HiRDB SQLリファレンス」を参照してください。

形式

public void setBufSize(int buf_size);

パラメタ

buf_size：

バッファ長を1～16000の範囲（単位：キロバイト）で指定します。

例外

なし

戻り値

なし

setDBEnvメソッド

説明

Cosminexus DABroker Libraryの接続先データベース定義情報を設定します。

接続するデータベースに対応する，Cosminexus DABroker Libraryの接続先データベース定義情報を次の形式で指定します。

データベース種別名：データベース名

このメソッドは，接続するデータベースがCosminexus DABroker Library-Database Connection Server経由の場合，必ず呼び出します。接続するデータベースがCosminexus DABroker Library-Database Connection Server経由以外の場合は，設定は無視されます。

形式

public void setDBEnv(String db_env);

パラメタ

db_env：

接続先データベース定義情報を指定します。

例外

なし

戻り値

なし

setDBHostNameメソッド

説明

接続するHiRDBのホスト名を設定します。

このメソッドで指定した値は，接続データベース種別がHiRDBのときだけ有効です。ただし，接続付加情報にHiRDBクライアントの環境変数グループ名を指定している場合は，値をこのメソッドで指定しても有効となりません。

形式

public void setDBHostName(String db_host_name);

パラメタ

db_host_name：

HiRDBのホスト名を指定します。

例外

なし

戻り値

なし

setDatabaseNameメソッド

説明

接続するデータベースの種別を設定します。

このメソッドは，データベースとの接続時に必ず呼び出します。

形式

public void setDatabaseName(String database_name);

パラメタ

database_name：

接続するデータベースの種別を指定します。

接続データベース種別 | 設定する内容※1
HiRDB | "HIRDB"
ORACLE | "ORACLE"
Oracle8i※2 | "ORACLE8I"

注※1

設定する内容には，大文字，小文字および大文字・小文字の混在する内容を指定できます。

注※2

接続データベース種別にOracle8iを指定して，Cosminexus DABroker Library環境設定の「使用するORACLEのバージョン」にORACLE9iを指定した場合，Oracle9iに，ORACLE10gを指定した場合，Oracle10gに接続できます。

例外

引数の内容がnullの場合，または接続データベース種別に上記の内容以外が指定された場合は，SQLExceptionをスローします。

戻り値

なし

setDescriptionメソッド

説明

接続するデータベースに必要な接続付加情報を設定します。

接続データベース種別 | 設定する内容 | 設定の要否
HiRDB | HiRDBシステムのポート番号，またはHiRDBクライアントの環境変数グループ名※1※3 | 任意
ORACLE | SQL*Netの接続文字列※1※2 | 任意
Oracle8i

注※1

省略時には，Cosminexus DABroker Libraryの動作環境定義の指定値が有効となります。

注※2

XA使用時には，XA_OPEN文字列で指定したデータベース名を指定します。

注※3

HiRDBクライアントの環境変数グループ名を指定する場合は，グループ名の先頭に@を付加します。

（例）

Windowsの場合
HiRDBクライアントの環境変数グループ名がHiRDB_ENV_GROUPのときは，次のように指定します。

 @DABENVGRP=HiRDB_ENV_GROUP

UNIXの場合
HiRDBクライアントの環境変数グループ名のパスが/HiRDB_P/Client/HiRDB.iniのときは，次のように指定します。

 @DABENVGRP=/HiRDB_P/Client/HiRDB.ini

@DABENVGRP=＜環境変数グループ名＞を指定する場合は，指定内容に半角の空白を含めないでください。指定内容が次に示す例のどれかに該当する場合，DBIDは正しく設定されません。

（例）

@DABENVGRP=＜環境変数グループ名＞の指定内容に半角スペースを含みます。環境変数グループ名はHiRDB_ENV_GROUP（Windowsの場合），または/HiRDB_P/Client/HiRDB.ini（UNIXの場合）とします。

半角の空白を△で示します。

Windowsの場合

 @△DABENVGRP=HiRDB_ENV_GROUP
 @DABENVGRP△=HiRDB_ENV_GROUP
 @DABENVGRP=△HiRDB_ENV_GROUP
 @DABENVGRP=HiRDB_ENV_GROUP△

UNIXの場合

 @△DABENVGRP=/HiRDB_P/Client/HiRDB.ini
 @DABENVGRP△=/HiRDB_P/Client/HiRDB.ini
 @DABENVGRP=△/HiRDB_P/Client/HiRDB.ini
 @DABENVGRP=/HiRDB_P/Client/HiRDB.ini△

形式

public void setDescription(String description);

パラメタ

description：

接続付加情報を指定します。

例外

なし

戻り値

なし

setEncodLangメソッド

説明

エンコード文字形態を設定します。

Stringオブジェクトの取得時にunicodeから変換する場合，Java VMの標準エンコードを利用しないで，指定したエンコードを利用します。

なお，UNIXの場合，setEncodLangに指定する言語モードは，Cosminexus DABroker Libraryの言語モードと合わせる必要があります。言語モードは，Cosminexus DABroker Library動作環境定義ファイルの共通設定項目のDAB_LANG（LANG環境変数）で指定します。Cosminexus DABroker Library動作環境定義ファイルについては，マニュアル「Cosminexus　リファレンス　定義編」を参照してください。

形式

public void setEncodLang(String encode_lang);

パラメタ

encode_lang：

データ変換で使用する文字エンコーディング情報を指定します。

例外

なし

戻り値

なし

setExecuteDirectModeメソッド

説明

接続データベースがHiRDBの場合，INSERT，UPDATE，DELETEなど，Statementクラスを使用したデータベースの更新で，HiRDBのExecute Direct機能を使用するかどうかを設定します。

このメソッドが呼び出されない場合は，falseを設定します。

この指定は接続データベースがHiRDBの場合だけ有効です。HiRDB以外のデータベースの場合は，指定の有無にかかわらず，Execute Direct機能を使用しません。

形式

public void setExecuteDirectMode(boolean Mode);

パラメタ

Mode：

HiRDBのExecute Direct機能を使用するかどうかを次の値で設定します。

true
Execute Direct機能を使用します。

false
Execute Direct機能を使用しません。

例外

なし

戻り値

なし

setHiRDBCursorModeメソッド

説明

HiRDBで検索時にカーソルが複数のCommitにわたって有効かどうかを設定します。このメソッドが呼び出されない場合は，falseが設定されます。

なお，この機能を使用する場合，マニュアル「HiRDB SQLリファレンス」のDECLARE CURSOR（カーソル宣言）形式1を参照してください。

形式

public void setHiRDBCursorMode(boolean Mode);

パラメタ

Mode：

HiRDBで検索時にカーソルが複数のCommitにわたって有効かどうかを次の値で設定します。

true
カーソルは保持されます。アプリケーションは続けてFetchすることができます（LOCK TABLE UNTIL DISCONNECTが前提です）。

false
カーソルはクローズされますが，ステートメントは有効です。アプリケーションは，Prepareしないで，再度Executeできます。

例外

なし

戻り値

なし

注意事項

接続データベースがHiRDB以外の場合，指定値は無視されます。

ORACLEでは，常にカーソルは複数のCommit，またはRollbackにわたって有効です。

SELECT，INSERT，DELETE，UPDATE，PURGEおよびCALLのどれかでアクセスする次のスキーマ資源に対して，ほかのユーザが定義系SQL文を発行すると，スキーマ資源にアクセスしていたコネクションをDISCONNECTするまでの間，定義系SQLは排他待ちの状態になります。

表

ビュー

ストアドプロシジャ

ストアドファンクション

抽象データ型

XADataSourceを使用して，バージョンが07-01より前のHiRDBに接続した場合，trueにしても有効になりません。

falseを設定する場合の注意事項

通常，Fetch時，Cosminexus DABroker LibraryにFetchデータをバッファリングするため，Commit直後のFetchでエラーが発生するとは限りません。

MetaDataを取得する場合，falseまたはデフォルトの状態でResultSetのFetch実行中に，Commitを実行するとエラーが発生します。

SELECT，INSERT，DELETE，UPDATE，PURGEおよびCALLのどれかでアクセスする次のスキーマ資源に対して，ほかのユーザが定義系SQL文を発行すると，スキーマ資源にアクセスしていたコネクションをDISCONNECTするまでの間，定義系SQLは排他待ちの状態になります。

表

ビュー

ストアドプロシジャ

ストアドファンクション

trueを設定する場合の注意事項

MetaDataを取得する場合，trueを指定してLOCK TABLE UNTIL DISCONNECTをしないで，複数のCommitにわたってFetchを行うとエラーが発生します。MetaDataを取得する場合は，trueを設定しないでください。

接続データベースがHiRDBの場合でかつ，検索SQL（SELECT文）に「UNTIL DISCONNECT」を記述した場合は，必ず接続時のプロパティまたはURLにHIRDB_CURSOR=trueを設定するか，このメソッドでtrueを設定してください。これらの設定をしなかった場合，Commitをわたった検索中のResultSetクラスオブジェクトに対してcloseメソッドを実行してもカーソルをクローズしません。

次の表にはアクセスできません。アクセスした場合，HiRDBのエラーになります。

分散表

ディクショナリ表

抽象データ型を含む表

外部表，または外部表を基表とするビュー表

関数呼び出しを指定して導出した名前付きの導出表（ビュー表，WITH句の問い合わせ）

カーソルをオープンする前に，そのカーソルを使用する表に対してUNTIL DISCONNECT指定のLOCK TABLE文を実行しておく必要があります。

ROLLBACKを発行すると，使用しているカーソルはすべて閉じられます。

排他オプションにWITHOUT LOCK WAIT，またはWITHOUT LOCK NOWAITを指定できません。また，クライアント環境変数でデータ保証レベル(PDISLLVL)に0，または1を指定した場合でも2（WITH SHARE LOCK相当）を仮定します。

カーソルがオープンしている場合，同じコネクションで定義系SQLは実行できません。また，カーソルがクローズしている場合，同じコネクションで定義系SQLを実行するとSQLの前処理は無効になります。

SELECT文を実行し，そのSELECT文中で使用している表に対してPURGE TABLE文を実行すると，カーソルはクローズされます。

オープンしているカーソルで指定した表を，同じコネクションの別のステートメントでオープンすることはできません。

次のオペランドを指定する場合は，LOCK文にIN EXCLUSIVE MODEを指定してください。

WITH EXCLUSIVE LOCK

FOR UPDATE句

setJDBC_IF_TRCメソッド

説明

JDBCインタフェースメソッドトレースの取得の有無を設定します。

このメソッドが呼び出されない場合は，falseを設定します。

なお，別途setLogWriterメソッドで有効なログストリームを指定する必要があります。

形式

public void setJDBC_IF_TRC(boolean flag);

パラメタ

flag：

トレースの取得の有無を次の値で指定します。

true
取得します。

false
取得しません。

例外

なし

戻り値

なし

setLONGVARBINARY_Accessメソッド

説明

LONGVARBINARY（列属性BLOB，列属性BINARY）のデータベースアクセス方法を設定します。

なお，次の場合，"LOCATOR"を指定しても"REAL"が指定されたものとみなされます。

接続先データベースがHiRDB以外の場合。

接続先データベースであるHiRDBのHiRDBサーバまたはHiRDBクライアントライブラリのバージョンが07-00以前の場合。

形式

public void setLONGVARBINARY_Access(String Mode);

パラメタ

String Mode：

LONGVARBINARY（列属性BLOB，列属性BINARY）のデータベースアクセス方法を，次の値で設定します。デフォルトは，"REAL"です。

"REAL"
実データでアクセスします。

"LOCATOR"
HiRDBの位置づけ子（locator）機能を使用してアクセスします。

例外

なし

戻り値

なし

setNetworkProtocolメソッド

説明

Cosminexus DABroker Libraryとの接続種別を設定します。なお，このメソッドは，データベースとの接続時に必ず呼び出します。

形式

public void setNetworkProtocol(String network_protocol);

パラメタ

network_protocol：

接続種別を指定します。

指定できる接続種別を，次に示します。

接続種別 | 設定する内容※
ネイティブライブラリ接続（ローカルアクセス） | "lib"

注※

設定する内容には，大文字，小文字および大文字・小文字の混在する内容を指定できます。設定できる種別はネイティブライブラリ接続だけです。

例外

引数の内容がnullの場合，または接続種別に指定できる内容以外が指定された場合は，SQLExceptionをスローします。

戻り値

なし

setNotErrorOccurredメソッド

説明

ConnectionEventListener.connectionErrorOccurredの発生を抑止するかどうかを設定します。

ConnectionPooledDataSource，XADataSource使用時に致命的な接続エラーが発生した場合，ConnectionEventListener.connectionErrorOccurredが呼ばれますが，このメソッドで，その呼び出しを抑止できます。

このメソッドが呼び出されない場合は，falseが設定されます。

形式

public void setNotErrorOccurred(boolean Mode);

パラメタ

Mode：

connectionErrorOccurredの発生を抑止するかどうかを次の値で設定します。

true
connectionErrorOccurredを発生させません。

false
connectionErrorOccurredを発生させます。

例外

なし

戻り値

なし

注意事項

通常は，このメソッドを呼び出さないか，falseを設定してください。

ORACLEのFailOver機能，またはHiRDBの再接続機能を使用する場合は，trueを設定してください。

setOSAuthorizeメソッド

説明

OS認証機能を使用してデータベースに接続するかどうかを設定します。

このメソッドが呼び出されない場合は，falseが設定されます。

なお，Oracleに対するOS認証機能を使用する場合は，CosminexusのJ2EEサーバ，またはWebコンテナサーバをOS認証で使用するユーザで起動する必要があります。

このメソッドは，Oracle9i 9.2.0またはOracle10g 10.1.0に接続する場合だけ有効です。それ以外のバージョンのOracleに接続した場合は動作を保証しません。接続するデータベースがORACLE以外の場合は，指定値に関係なく，OS認証機能を使用しません。

形式

public void setOSAuthorize(boolean Mode);

パラメタ

Mode：

OS認証機能を使用するかどうかを次の値で指定します。

true
OS認証機能を使用します。

false
OS認証機能を使用しません。

例外

なし

戻り値

なし

setPasswordメソッド

説明

データベースアクセスのパスワードを設定します。

パスワードは，getConnectionメソッドの引数でも指定できます。

このメソッドでパスワードを設定し，ユーザIDとパスワードを引数に持つgetConnectionメソッドを呼び出した場合は，getConnectionメソッドで指定したパスワードが優先されます。

形式

public void setPassword(String password);

パラメタ

password：

パスワードを指定します。

例外

なし

戻り値

なし

setPortNumberメソッド

説明

接続するCosminexus DABroker Libraryのポート番号を設定します。

このメソッドが呼び出されない場合は，ポート番号として「40179」を使用します。

形式

public void setPortNumber(int port_no);

パラメタ

port_no：

Cosminexus DABroker Libraryのポート番号を指定します。

例外

引数の内容が0より小さい場合，SQLExceptionをスローします。

戻り値

なし

setRowSizeメソッド

説明

JDBCで取り扱うバッファ長を，メガバイト単位の数字文字列で指定します。

指定を省略した場合，数字以外を指定した場合，または16より小さい値を指定した場合は16を仮定します。

512より大きい値を指定した場合は512を仮定します。

形式

public void setRowSize(int row_size);

パラメタ

row_size：

バッファ長を16～512の範囲のメガバイト単位で指定します。

例外

なし

戻り値

なし

setSQLWarningIgnoreメソッド

説明

データベースから返される警告をConnectionクラスで保持するかどうかの情報を設定します。このメソッドが呼び出されない場合は，falseが設定されます。

形式

public void setSQLWarningIgnore(boolean Mode);

パラメタ

Mode：

警告を保持するかどうかを次の値で設定します。

true
警告を保持しません。

false
警告を保持します。

例外

なし

戻り値

なし

setSV_EVENT_TRCメソッド

説明

Cosminexus DABroker Libraryとのイベントトレースの取得の有無を設定します。

このメソッドが呼び出されない場合は，falseを設定します。

なお，別途setLogWriterメソッドで有効なログストリームを指定する必要があります。

形式

public void setSV_EVENT_TRC(boolean flag);

パラメタ

flag：

トレースの取得の有無を次の値で指定します。

true
取得します。

false
取得しません。

例外

なし

戻り値

なし

setServerNameメソッド

説明

接続するCosminexus DABroker Libraryのホスト名，またはIPアドレスを設定します。

形式

public void setServerName(String server_name);

パラメタ

server_name：

Cosminexus DABroker Libraryのホスト名またはIPアドレスを指定します。

例外

引数の内容がnullの場合，SQLExceptionをスローします。

戻り値

なし

setTRC_NOメソッド

説明

トレースのエントリ数を設定します。

このメソッドが呼び出されない場合は，トレースのエントリ数は500となります。

10～1000以外の値が設定された場合は，トレースを取得しません。

形式

public void setTRC_NO(int trc_no);

パラメタ

trc_no：

トレースのエントリ数を10～1000の範囲で指定します。

例外

なし

戻り値

なし

setUapNameメソッド

説明

アプリケーション名称を設定します。

このメソッドが呼び出されない場合は，アプリケーション名称として，JDBCドライバの製品名称をCosminexus DABroker Libraryに通知します。

設定されたアプリケーション名称は，Cosminexus DABroker LibraryのデータベースアクセストレースのPAPNAME，および拡張データベースアクセストレースのClient Nameに出力されます。

形式

public void setUapName(String uap_name);

パラメタ

uap_name：

アプリケーション名称を指定します。

例外

なし

戻り値

なし

setUserメソッド

説明

データベースアクセスのユーザIDを設定します。

ユーザIDは，getConnectionメソッドの引数でも指定できます。

このメソッドでユーザIDを設定し，ユーザIDとパスワードを引数に持つgetConnectionメソッドを呼び出した場合は，getConnectionメソッドで指定したユーザIDが優先されます。

形式

public void setUser(String user);

パラメタ

user：

ユーザIDを指定します。

例外

なし

戻り値

なし

getRMIDメソッド

説明

setRMIDメソッドで設定した，リソースマネジャの識別子を取得します。

setRMIDメソッドで識別子が設定されていない場合は，1を取得します。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public int getRMID();

パラメタ

なし

例外

なし

戻り値

int：

リソースマネジャの識別子を取得します。

getXACloseStringメソッド

説明

setXACloseStringメソッドで設定した，XA_CLOSE文字列を取得します。

setXACloseStringメソッドでXA_CLOSE文字列が設定されていない場合は，nullを取得します。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public String getXACloseString();

パラメタ

なし

例外

なし

戻り値

String：

XA_CLOSE文字列を取得します。

getXALocalCommitModeメソッド

説明

XA使用時，トランザクションが分散トランザクションでないとき，データベースのオートコミットモードを有効にしているかどうかの設定情報を取得します。

形式

public boolean getXALocalCommitMode();

パラメタ

なし

例外

なし

戻り値

boolean：

XA使用時のオートコミットの設定情報を次の値で取得します。

true
データベースのオートコミットが有効です。

false
データベースのオートコミットは無効です。

getXAOpenStringメソッド

説明

setXAOpenStringメソッドで設定した，XA_OPEN文字列を取得します。

setXAOpenStringメソッドでXA_OPEN文字列が設定されていない場合は，nullを取得します。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public String getXAOpenString();

パラメタ

なし

例外

なし

戻り値

String：

XA_OPEN文字列を取得します。

getXAThreadModeメソッド

説明

setXAThreadModeメソッドで設定した，XA使用時のスレッドモードを取得します。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public boolean getXAThreadMode();

パラメタ

なし

例外

なし

戻り値

boolean：

XA使用時のスレッドモードを次の値で取得します。

true
マルチスレッドモード

false
シングルスレッドモード

setRMIDメソッド

説明

リソースマネジャの識別子を設定します。

このメソッドが呼び出されない場合は，識別子は1となります。

複数のリソースマネジャを同時に使用する場合，リソースマネジャごとに一意な識別子を設定してください。

リソースマネジャの識別子については，各DBMSのマニュアルを参照してください。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public void setRMID(int rmid);

パラメタ

rmid：

リソースマネジャの識別子を，1以上の正の数値で指定します。

例外

引数の内容が1より小さい場合，SQLExceptionをスローします。

戻り値

なし

setXACloseStringメソッド

説明

XA_CLOSE文字列を設定します。なお，XA_CLOSE文字列については，各DBMSのマニュアルを参照してください。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public void setXACloseString(String xa_string);

パラメタ

xa_string：

XA_CLOSE文字列を指定します。

例外

なし

戻り値

なし

setXALocalCommitModeメソッド

説明

XA使用時，トランザクションが分散トランザクションでないとき，データベースのオートコミットモードを有効にするかどうかを設定します。

このメソッドが呼び出されない場合は，falseを設定します。

使用するアプリケーションサーバでFullJTA（J2ee1.3）の機能を使用する場合は，必ずtrueを設定してください。

形式

public void setXALocalCommitMode(boolean AutoCommitMode);

パラメタ

AutoCommitMode：

オートコミットを次の値で設定します。

true
データベースのオートコミットを有効にします。

false
データベースのオートコミットを無効にします。

例外

なし

戻り値

なし

setXAOpenStringメソッド

説明

XA_OPEN文字列を設定します。なお，XA_OPEN文字列については，各DBMSのマニュアルを参照してください。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public void setXAOpenString(String xa_string);

パラメタ

xa_string：

XA_OPEN文字列を指定します。

例外

なし

戻り値

なし

setXAThreadModeメソッド

説明

XA使用時のスレッドモードを設定します。

このメソッドが呼び出されない場合は，falseを設定します。

リソースマネジャが提供するXAライブラリがマルチスレッド対応で，アプリケーションがマルチスレッドで動作する場合は，trueを設定してください。

このメソッドは，JdbcDbpsvXADataSourceクラスでだけ提供しています。

形式

public void setXAThreadMode(boolean mode);

パラメタ

mode：

XA使用時のスレッドモードを次の値で指定します。

true
マルチスレッドモード

false
シングルスレッドモード

例外

なし

戻り値

なし

9.11　Blobインタフェース

説明

Blobインタフェースでは，主に次の機能を提供します。

Blobデータの取得

Blobインタフェースの提供する各メソッドの詳細，および使用方法については，JavaSoft提供のJDBC関連ドキュメントを参照してください。

注意事項

ResultSetのgetBlobメソッド，またはCallableStatementのgetBlobメソッドで取得したBlobオブジェクト
ResultSetのgetBlobメソッド，またはCallableStatementのgetBlobメソッドで取得したBlobオブジェクトを使用する場合，ロケータアクセスであるかどうかで動作が異なります。

ロケータアクセスでない場合
ResultSetのgetBlobメソッド，またはCallableStatementのgetBlobメソッドで取得した時点でのデータを？パラメタの値とします。

ロケータアクセスの場合
setBlob()メソッドを呼び出したとき，内部でBlob.getBytes(1, (int)(Blob.length()))を実行します。？パラメタの値はBlob.getBytes(1, (int)(Blob.length()))で得られたデータとなります。

制限事項

次のメソッドは未サポートです。呼び出しを行うとSQLExceptionをスローします。

setBinaryStream

setBytes

truncate

10.　Cosminexusが対応しているアノテーションおよびDependency Injection

この章では，Cosminexusが対応しているアノテーションおよびDependency Injectionについて説明します。

なお，アノテーション参照抑止機能を使用している場合，アノテーションの指定は参照されません。アノテーション参照抑止機能については，マニュアル「Cosminexus　機能解説」を参照してください。

＜この章の構成＞

10.1　Cosminexusが対応しているアノテーション

10.2　Cosminexusが対応するDependency Injection

10.1　Cosminexusが対応しているアノテーション

アノテーションは，ソースコードに注釈を付けることができる言語仕様です。

Cosminexusが対応しているアノテーションの一覧を次の表に示します。

表10-1　Cosminexusが対応しているアノテーションの一覧

パッケージ
アノテーション
アノテーションの説明
属性
属性のデフォルト値
属性の説明

javax.annotation
@Resource
リソースへの参照を宣言します。
クラス，メソッド，フィールドに設定できます。メソッドやフィールドに設定した場合，Dependency Injectionの対象となります。ただし，メソッドはsetメソッドである必要があります。
String name()

メソッドに設定した場合
アノテーションを設定したクラス名/setメソッドのプロパティ

フィールドに設定した場合
アノテーションを設定したクラス名/フィールド名

リソース参照の名称を設定します。設定した名称はJNDI名として使用されます。アノテーションをメソッドまたはフィールドに設定する場合，省略できます。

Class type()※1

メソッド設定した場合
メソッドの引数の型

フィールドに設定した場合
フィールドの型

リソースのJavaタイプを設定します。アノテーションをメソッドまたはフィールドに設定する場合，省略できます。

AuthenticationType authenticationType()
CONTAINER
リソースに使用する認証タイプを設定します。

boolean shareable()
true
リソースを共用するかどうかを設定します。

String mappedName()※2
""
参照先リソースを特定するためにリソース表示名やキュー名を設定します。

String description()
""
リソースの説明を設定します。

@Resources
@Resourceを複数設定します。
なお，クラスにだけ設定できます。
Resource[] value
なし
複数のリソース（@Resource）を定義します。

@PostConstruct
Enterprise Beanインスタンスが生成された直後にコールバックするメソッドを設定します。
－
なし
－

@PreDestroy
Enterprise Beanインスタンスが削除される直前にコールバックするメソッドを設定します。
－
なし
－

javax.annotation.security
@RunAs
Enterprise Beanを実行する際に適用するセキュリティロールを設定します。
なお，クラスにだけ設定できます。
String value()
なし
Enterprise Beanを実行する際に適用するセキュリティロール名を設定します。

@DeclareRoles
セキュリティロールの参照を設定します。
なお，クラスにだけ設定できます。
String[] value()
なし
参照するセキュリティロール名を設定します。

@RolesAllowed
クラスまたはメソッドに対してアクセスを許可するセキュリティロールを設定します。
String[] value()
なし
アプリケーションでのメソッドにアクセスするのが許可されたロールリストを設定します。

@PermitAll
すべてのセキュリティロールに対して，アクセスを許可するクラスまたはメソッドに設定します。
－
なし
－

@DenyAll
すべてのセキュリティロールに対して，アクセスを拒否するメソッドに設定します。
－
なし
－

javax.ejb
@Stateless
Stateless Session Beanのクラスに設定します。
String name()
Stateless Session Beanのパッケージを除いたクラス名
Stateless Session Beanの名称を設定します。

String mappedName()※3
なし
－

String description()
""
Stateless Session Beanの説明を設定します。

@Stateful
Stateful Session Beanのクラスに設定します。
String name()
Stateful Session Beanのパッケージを除いたクラス名
Stateful Session Beanの名称を設定します。

String mappedName()※3
なし
－

String description()
""
Stateful Session Beanの説明を設定します。

@Init
Stateful Session BeanのHomeインタフェースで定義したcreate<METHOD>()を実行した際，コールバックするメソッドに設定します。
String value()
""
対応するcreate<METHOD>()名を設定します。

@Remove
Stateful Session Beanを削除する働きを持つビジネスメソッドに設定します。
boolean retainIfException()
false
メソッドがアプリケーション例外で異常終了した場合に削除するかどうかを設定します。

@Remote
Enterprise Beanのリモートビジネスインタフェースを設定します。
アノテーションをインタフェースに設定した場合，そのインタフェースがリモートビジネスインタフェースとなります。Beanクラスに設定した場合，value属性にリモートビジネスインタフェースを設定する必要があります。
Class[] value()
{}
アノテーションをBeanクラスに設定した場合，リモートビジネスインタフェースのクラスを設定します。

@Local
Enterprise Beanのローカルビジネスインタフェースを設定します。
アノテーションをインタフェースに設定した場合，そのインタフェースがローカルビジネスインタフェースとなります。Beanクラスに設定した場合，value属性にローカルビジネスインタフェースを設定する必要があります。
Class[] value()
{}
アノテーションをBeanクラスに設定した場合，ローカルビジネスインタフェースのクラスを設定します。

@RemoteHome
リモートホームインタフェース，およびリモートコンポーネントインタフェースを使用した呼び出しをサポートするEnterprise Beanのクラスに設定します。
Class value()
なし
リモートホームインタフェースを設定します。

@LocalHome
ローカルホームインタフェース，およびローカルコンポーネントインタフェースを使用した呼び出しをサポートするEnterprise Beanのクラスに設定します。
Class value()
なし
ローカルホームインタフェースを設定します。

@TransactionManagement
Enterprise Beanのトランザクション管理種別を設定します。
なお，クラスにだけ設定できます。
TransactionManagementType value()
CONTAINER
トランザクション管理種別を設定します。

@TransactionAttribute
Enterprise BeanがCMTで動作する場合のトランザクション属性を設定します。
クラス，メソッドに設定できます。
TransactionAttributeType value()
REQUIRED
トランザクション属性を設定します。

@PostActivate※4
Stateful Session Beanが活性化された直後にコールバックするメソッドに設定します。
－
なし
－

@PrePassivate※4
Stateful Session Beanが非活性化される直前にコールバックするメソッドに設定します。
－
なし
－

@Timeout
TimerService使用時にコールバックするタイムアウトメソッドに設定します。
－
なし
－

@ApplicationException
アプリケーション例外とする例外クラスに設定します。
boolean rollback()
false
例外発生時にコンテナがトランザクションをロールバックするかどうかを設定します。

@EJB
EJBのビジネスインタフェースまたはホームインタフェースへの参照を設定します。
クラス，メソッド，フィールドに設定できます。メソッドやフィールドに設定した場合，Dependency Injectionの対象となります。ただし，メソッドはsetメソッドである必要があります。
String name()

メソッドに設定した場合
アノテーションを設定したクラス名/setメソッドのプロパティ

フィールドに設定した場合
アノテーションを設定したクラス名/フィールド名

リソース参照の名称を設定します。設定した名称はJNDI名として使用されます。アノテーションをメソッドまたはフィールドに設定する場合，省略できます。

Class beanInterface()

メソッド設定した場合
メソッドの引数の型

フィールドに設定した場合
フィールドの型

ビジネスインタフェースまたはホームインタフェースのクラスを設定します。アノテーションをメソッドまたはフィールドに設定する場合，省略できます。

String beanName()
""
参照するEJBのパッケージなしクラス名を設定します。ただし，参照するEJBクラスを定義するアノテーション（@Stateless, @Stateful）にname属性が設定されている場合，name属性の値を設定します。また，DDによる定義をサポートするEJBの場合，DDの<ejb-name>タグの値を設定します。

String mappedName()※3
なし
－

String description()
""
参照するEJBの説明を設定します。

@EJBs
@EJBを複数設定します。
なお，クラスにだけ設定できます。
EJB[] value()
なし
@EJBを設定します。

javax.interceptor
@AroundInvoke
ビジネスメソッドの呼び出しをインターセプトするメソッドに設定します。
－
なし
－

@ExcludeDefaultInterceptors
デフォルトインターセプタを適用しないクラス，およびメソッドに設定します。
－
なし
－

@ExcludeClassInterceptors
クラスインターセプタを適用しないメソッドに設定します。
－
なし
－

@Interceptors
適用するインターセプタクラスを設定します。
クラス，およびメソッドに設定できます。
Class[] value()
なし
適用するインターセプタクラスを設定します。

（凡例）

－：該当しません。

注※1

type属性はJ2EE仕様と異なり，設定値（Java Type）によって対応するDDが変わります。Java Typeによって異なるDDの対応を表10-2に示します。

注※2

mappedName属性はtype属性によって設定条件が変わります。@ResourceでのmappedName属性の設定条件を表10-3に示します。

注※3

属性を指定できますが，サポートしないため，動作しません。

注※4

アノテーションを設定できますが，活性化，非活性化の状態変化をサポートしないため，動作しません。

表10-2　type属性によるDDの対応表

type属性 | J2EE仕様で対応するDDのタグ | Cosminexus仕様で対応するDDのタグ※1
java.lang.String※2 | env-entry | env-entry
java.lang.Character※2 | env-entry | env-entry
java.lang.Integer※2 | env-entry | env-entry
java.lang.Boolean※2 | env-entry | env-entry
java.lang.Double※2 | env-entry | env-entry
java.lang.Byte※2 | env-entry | env-entry
java.lang.Short※2 | env-entry | env-entry
java.lang.Long※2 | env-entry | env-entry
java.lang.Float※2 | env-entry | env-entry
javax.xml.rpc.Service | service-ref | 例外※3
javax.xml.ws.Service | service-ref | 例外※3
javax.jws.WebService | service-ref | 例外※3
javax.sql.DataSource | resource-ref | resource-ref
javax.jms.ConnectionFactory | resource-ref | resource-ref
javax.jms.QueueConnectionFactory | resource-ref | resource-ref
javax.jms.TopicConnectionFactory | resource-ref | resource-ref
javax.mail.Session | resource-ref | resource-ref
java.net.URL | resource-ref | 例外※3
javax.resource.cci.ConnectionFactory | resource-ref | resource-ref
org.omg.CORBA_2_3.ORB | resource-ref | resource-ref
リソースアダプタによって定義されるほかのコネクションファクトリ | resource-ref | resource-env-ref
javax.jms.Queue | message-destination-ref | resource-env-ref
javax.jms.Topic | message-destination-ref | resource-env-ref
javax.resource.cci.InteractionSpec | resource-env-ref | 例外※3
javax.transaction.UserTransaction | resource-env-ref | resource-env-ref
上記以外のすべてのタイプ | resource-env-ref | resource-env-ref

注※1

mappedName要素に「!#」が含まれていた場合は，Java Typeとは関係なく，<resource-env-ref>に対応づけます。

注※2

標準DDから値を取得できないため，属性ファイルには表示しますが，DIは行いません。

注※3

インポート時に例外となります。

表10-3　@ResourceのmappedName()の設定条件

設定条件（Java Type，リソースなど） | 使用可否※1
java.lang.String | ×
java.lang.Character | ×
java.lang.Integer | ×
java.lang.Boolean | ×
java.lang.Double | ×
java.lang.Byte | ×
java.lang.Short | ×
java.lang.Long | ×
java.lang.Float | ×
javax.xml.rpc.Service | ×
javax.sql.DataSource | ○
javax.jms.ConnectionFactory | ○
javax.jms.QueueConnectionFactory | ○
javax.jms.TopicConnectionFactory | ○
javax.mail.Session | ○
java.net.URL | ×
javax.resource.cci.ConnectionFactory | ○
org.omg.CORBA_2_3.ORB | ×
javax.jms.Queue※2 | ○
javax.jms.Topic | ○
javax.resource.cci.InteractionSpec | ×
javax.transaction.UserTransaction | ×
javax.ejb.EjbContext | ×
javax.ejb.SessionContext | ×
javax.ejb.TimerService | ×
JavaBeansリソース | ○

（凡例）

○：使用できます。

×：使用できません。

注※1

管理対象オブジェクトへの対応づけは，Java Typeに関係なく，mappedName要素で対応づけます。リソースアダプタの表示名と管理対象オブジェクト名の区切り文字には，「!#」を使用してください。

注※2

uCosminexus TP1/Message Queue - AccessまたはCosminexus Reliable Messagingを使用時にjavax.jms.Queueを使用する場合，リソースアダプタの表示名とキューの表示名の区切り文字には，「#」を使用してください。

10.2　Cosminexusが対応するDependency Injection

Dependency Injection（DI）とは，ターゲットクラスのフィールドやsetメソッドにアノテーション（@EJBや@Resource）を設定することで，EJBやリソースへの参照をEJBコンテナが自動的にセットする機能です。

EJBコンテナ上で動作するクラスの中で，ターゲットクラスとなるクラスを次に示します。

Enterprise Bean

インターセプタ

また，Webコンテナ上で動作するクラスの中で，ターゲットクラスとなるクラスを次に示します。

サーブレット

フィルタ

リスナ

タグハンドラ

Enterprise Beanのホームインタフェース，またはビジネスインタフェースへの参照をDIする場合は，@EJBを設定します。

@Resourceを設定した場合は，表10-4に示すリソースのタイプをDIできます。

表10-4　@ResourceでDIできるリソースのタイプ

リソースのタイプ | DIの可否※1
java.lang.String※2 | ×
java.lang.Character※2 | ×
java.lang.Integer※2 | ×
java.lang.Boolean※2 | ×
java.lang.Double※2 | ×
java.lang.Byte※2 | ×
java.lang.Short※2 | ×
java.lang.Long※2 | ×
java.lang.Float※2 | ×
javax.xml.rpc.Service | ×
javax.xml.ws.Service | ×
javax.jws.WebService | ×
javax.sql.DataSource※3 | ○
javax.jms.ConnectionFactory | ○
javax.jms.QueueConnectionFactory※4 | ○
javax.jms.TopicConnectionFactory | ○
javax.mail.Session | ○
java.net.URL | ×
javax.resource.cci.ConnectionFactory※5 | ○
org.omg.CORBA_2_3.ORB | 　 ○※6
javax.jms.Queue※3※7 | ○
javax.jms.Topic※7 | ○
javax.resource.cci.InteractionSpec | ×
javax.transaction.UserTransaction | 　 ○※8
javax.ejb.EJBContext | 　 ○※9
javax.ejb.SessionContext | 　 ○※9
javax.ejb.TimerService | 　 　 ○※9※10
JavaBeansリソース | ○
管理対象オブジェクトの独自のインタフェース | ○

（凡例）

○：使用できます。

×：使用できません。

注※1

管理対象オブジェクトへの対応づけは，Java Typeに関係なく，mappedName要素で対応づけます。リソースアダプタの表示名と管理対象オブジェクト名の区切り文字には，「!#」を使用してください。

注※2

<env-entry-value>に値を設定できないので，DI，lookupで得られる値を設定できません。

注※3

DB Connectorが該当します。

注※4

TP1/Message Queue - Access，Cosminexus RMが該当します。

注※5

uCosminexus TP1 Connectorが該当します。

注※6

ORBのshareable属性はtrueが設定されているものとして動作します。なお，注入されるORBオブジェクトは，ほかのコンポーネントでも使用される共有のインスタンスです。

注※7

Connector 1.5に準拠したリソースアダプタを使用する場合は，JMSで定義する管理対象オブジェクト（javax.jms.Destinationインタフェースまたはサブインタフェース）をリソースアダプタの標準DD（ra.xml）の<connector>-<resourceadapter>-<adminobject>-<adminobject-interface>タグに指定してください。

注※8

CMTで動作するEnterprise Beanまたはインターセプタでは使用できません。

注※9

Webコンテナ上で動作するクラスでは使用できません。

注※10

Stateful SessionBeanや，Stateful SessionBeanに適用されたインターセプタでは使用できません。

11.　アプリケーション開発時に使用できるプロパティ

この章では，アプリケーションを開発するときに使用できるプロパティについて説明します。

＜この章の構成＞

11.1　バッチアプリケーションで使用できるプロパティ

11.1　バッチアプリケーションで使用できるプロパティ

ここでは，バッチアプリケーションを開発するときに使用できるプロパティについて説明します。

＜この節の構成＞

ejbserver.batch.currentdirプロパティ

ejbserver.batch.currentdirプロパティ

説明

バッチ実行コマンド（cjexecjob）を実行したカレントディレクトリの絶対パスを取得します。

バッチアプリケーション内で使用してください。

使用例

使用例を示します。

File f = new File(System.getProperty("ejbserver.batch.currentdir") + System.getProperty("file.separator") + "DataFile.txt");

索引

[Ａ][Ｂ][Ｃ][Ｄ][Ｅ][Ｇ][Ｈ][Ｉ][Ｊ][Ｌ][Ｍ][Ｎ][Ｏ][Ｐ][Ｒ][Ｓ][Ｕ][Ｗ]
[ア行][カ行][タ行][ハ行][ラ行]

(英字)

(Ａ)

addAttributeメソッド

addAttributeメソッド

addSSODataListenerメソッド

addSSODataメソッド

addUserDataメソッド（形式1）

addUserDataメソッド（形式2）

AttributeEntryクラス

AttributeEntryコンストラクタ

(Ｂ)

Blobインタフェース

(Ｃ)

CallableStatementクラス

ChangeDataFailedExceptionクラス

ChangeDataFailedExceptionコンストラクタ

changePasswordメソッド

checkメソッド（形式1）

checkメソッド（形式2）

CJLogRecordクラス

closeメソッド

com.cosminexus.admin.auth.api.repository.event.ChangeDataFailedException

com.cosminexus.admin.auth.api.repository.event.SSODataListenerException

com.cosminexus.admin.auth.api.repository.ldap.ObjectClassError

com.cosminexus.admin.auth.CryptoException

com.cosminexus.admin.common.ConfigError

com.cosminexus.admin.common.FormatError

com.cosminexus.admin.common.ParameterError

com.cosminexus.admin.common.UAException

com.hitachi.software.ejb.security.base.authentication.InvalidPasswordException

com.hitachi.software.ejb.security.base.authentication.InvalidUserNameException

com.hitachi.software.ejb.security.base.authentication.NotFoundServerException

Connectionクラス

Cosminexusが対応しているアノテーション

Cosminexusが対応するDependency Injection

CprfTraceクラス

createpメソッド（形式1）

createpメソッド（形式10）

createpメソッド（形式2）

createpメソッド（形式3）

createpメソッド（形式4）

createpメソッド（形式5）

createpメソッド（形式6）

createpメソッド（形式7）

createpメソッド（形式8）

createpメソッド（形式9）

createrbメソッド（形式1）

createrbメソッド（形式10）

createrbメソッド（形式2）

createrbメソッド（形式3）

createrbメソッド（形式4）

createrbメソッド（形式5）

createrbメソッド（形式6）

createrbメソッド（形式7）

createrbメソッド（形式8）

createrbメソッド（形式9）

createメソッド（形式1）

createメソッド（形式10）

createメソッド（形式2）

createメソッド（形式3）

createメソッド（形式4）

createメソッド（形式5）

createメソッド（形式6）

createメソッド（形式7）

createメソッド（形式8）

createメソッド（形式9）

(Ｄ)

DatabaseMetaDataクラス

DataSourceクラス

DelegationLoginModuleクラス

Driverクラス

(Ｅ)

EJBClientInitializerクラス

EJBクライアントアプリケーションで使用するAPI

EJBクライアントアプリケーションのAPIで使用する例外クラス

encryptメソッド

(Ｇ)

getAfterInfoメソッド

getAliasメソッド

getAttributeEntriesメソッド

getAttributeEntriesメソッド

getAttributeNamesメソッド

getAttributeNamesメソッド

getAttributeNameメソッド

getAttributesメソッド

getAttributesメソッド

getAttributeメソッド

getAttributeメソッド

getAuthorityメソッド

getBeforeInfoメソッド

getBlockUpdateメソッド

getBlockUpdateメソッド

getBufferPoolSizeメソッド

getBufSizeメソッド

getCategoryメソッド

getDatabaseNameメソッド

getDBEnvメソッド

getDBHostNameメソッド

getDescriptionメソッド

getDetectionPointメソッド

getEdenFreeMemoryメソッド

getEdenMaxMemoryメソッド

getEdenTotalMemoryメソッド

getEncodLangメソッド

getExceptionメソッド

getExecuteDirectModeメソッド

getExecuteDirectModeメソッド

getHaidメソッド

getHiRDBCursorModeメソッド

getJDBC_IF_TRCメソッド

getListenersメソッド

getLocationメソッド

getLoggerメソッド

getLoginInfoManagerメソッド

getLONGVARBINARY_Accessメソッド

getMappingRealmsメソッド

getMappingメソッド

getMessageIdメソッド

getMessageメソッド

getNameメソッド

getNetworkProtocolメソッド

getNotErrorOccurredメソッド

getObjectClassesメソッド

getObjectInfoメソッド

getObjectLocationメソッド

getOldPublicDataメソッド

getOldSecretDataメソッド

getOperationメソッド

getOptionメソッド

getOSAuthorizeメソッド

getOutputPointメソッド

getPasswordメソッド

getPasswordメソッド

getPermFreeMemoryメソッド

getPermMaxMemoryメソッド

getPermTotalMemoryメソッド

getPortNumberメソッド

getPublicDataメソッド

getPublicDataメソッド

getReceiverHostメソッド

getReceiverPortメソッド

getRequestTimeoutConfigメソッド

getRequestメソッド

getRequestメソッド

getRequestメソッド

getResponseメソッド

getResponseメソッド

getResponseメソッド

getResultメソッド

getRMIDメソッド

getRootApInfoメソッド

getRowSizeメソッド

getSecretDataメソッド

getSenderHostメソッド

getSenderPortメソッド

getServerNameメソッド

getServiceInstanceメソッド

getSQLWarningIgnoreメソッド

getSSODataListenersメソッド

getSSODataメソッド

getSubcontextメソッド

getSubcontextメソッド

getSubjectIDメソッド

getSubjectIdメソッド

getSubjectPointメソッド

getSurvivorFreeMemoryメソッド

getSurvivorMaxMemoryメソッド

getSurvivorTotalMemoryメソッド

getSV_EVENT_TRCメソッド

getTagEntryメソッド

getTagEntryメソッド

getTagEntryメソッド

getTagIDメソッド

getTagIDメソッド

getTagIDメソッド

getTenuredFreeMemoryメソッド

getTenuredMaxMemoryメソッド

getTenuredTotalMemoryメソッド

getTRC_NOメソッド

getUapNameメソッド

getUserDataメソッド

getUserIdメソッド

getUserメソッド

getXACloseStringメソッド

getXALocalCommitModeメソッド

getXAOpenStringメソッド

getXAThreadModeメソッド

(Ｈ)

handleメソッド

handleメソッド

handleメソッド

hasMoreElementsメソッド

hasMoreメソッド

(Ｉ)

isEnabledメソッド

isLoggableメソッド

(Ｊ)

JAASのログインモジュールの例外クラス

javax.security.auth.login.AccountExpiredException

javax.security.auth.login.CredentialExpiredException

javax.security.auth.login.FailedLoginException

javax.security.auth.login.FailedLoginException

javax.security.auth.login.LoginException

javax.security.auth.login.LoginException

JdbcDbpsvDataSourceクラス

JdbcDbpsvXADataSourceクラス

(Ｌ)

LdapSSODataManagerクラス

LdapSSODataManagerコンストラクタ

LdapUserDataManagerクラス

LdapUserDataManagerコンストラクタ

LdapUserEnumerationインタフェース

listUsersメソッド（形式1）

listUsersメソッド（形式1）

listUsersメソッド（形式2）

listUsersメソッド（形式2）

LoginInfoManagerクラス

LoginUtilクラス

loginメソッド

logoutメソッド

logメソッド

(Ｍ)

MemoryInfoクラス

modifySSODataメソッド

modifyUserDataメソッド

(Ｎ)

nextElementメソッド

nextメソッド

(Ｏ)

ObjectClassEntryクラス

ObjectClassEntryコンストラクタ

(Ｐ)

PasswordCryptographyインタフェース

PasswordUtilクラス

PreparedStatementクラス

Principalインタフェース

(Ｒ)

removeAttributeメソッド

removeAttributeメソッド

removeMappingメソッド

removeSSODataListenerメソッド

removeSSODataメソッド

removeUserDataメソッド

RequestTimeoutConfigFactoryクラス

RequestTimeoutConfigクラス

ResultSetMetaDataクラス

ResultSetクラス

(Ｓ)

setAfterInfoメソッド

setAliasメソッド

setAttributeEntriesメソッド

setAttributeEntriesメソッド

setAttributeNameメソッド

setAuthorityメソッド

setBeforeInfoメソッド

setBlockUpdateメソッド

setBlockUpdateメソッド

setBufferPoolSizeメソッド

setBufSizeメソッド

setCategoryメソッド

setDatabaseNameメソッド

setDBEnvメソッド

setDBHostNameメソッド

setDescriptionメソッド

setDetectionPointメソッド

setEncodLangメソッド

setExceptionメソッド

setExecuteDirectModeメソッド

setExecuteDirectModeメソッド

setHaidメソッド

setHiRDBCursorModeメソッド

setJDBC_IF_TRCメソッド

setLocationメソッド

setLONGVARBINARY_Accessメソッド

setMappingメソッド

setMessageIdメソッド

setMessageメソッド

setNameメソッド

setNetworkProtocolメソッド

setNotErrorOccurredメソッド

setObjectClassesメソッド

setObjectInfoメソッド

setObjectLocationメソッド

setOperationメソッド

setOptionメソッド

setOSAuthorizeメソッド

setOutputPointメソッド

setPasswordメソッド

setPasswordメソッド

setPasswordメソッド

setPortNumberメソッド

setPublicDataメソッド

setReceiverHostメソッド

setReceiverPortメソッド

setRequestTimeoutメソッド（形式1）

setRequestTimeoutメソッド（形式2）

setRequestメソッド

setRequestメソッド

setRequestメソッド

setResponseメソッド

setResponseメソッド

setResponseメソッド

setResultメソッド

setRMIDメソッド

setRowSizeメソッド

setSecretDataメソッド

setSenderHostメソッド

setSenderPortメソッド

setServerNameメソッド

setServiceInstanceメソッド

setSQLWarningIgnoreメソッド

setSubcontextメソッド

setSubcontextメソッド

setSubjectIDメソッド

setSubjectIdメソッド

setSubjectPointメソッド

setSV_EVENT_TRCメソッド

setTagEntryメソッド

setTagEntryメソッド

setTagEntryメソッド

setTagIDメソッド

setTagIDメソッド

setTagIDメソッド

setTRC_NOメソッド

setUapNameメソッド

setUserメソッド

setXACloseStringメソッド

setXALocalCommitModeメソッド

setXAOpenStringメソッド

setXAThreadModeメソッド

sizeメソッド

sizeメソッド

ssoDataAddedメソッド

SSODataEventクラス

SSODataEventコンストラクタ

SSODataListenerExceptionクラス

SSODataListenerExceptionコンストラクタ

SSODataListenerインタフェース

ssoDataModifiedメソッド

ssoDataRemovedメソッド

SSODataクラス

SSODataコンストラクタ

Statementクラス

(Ｕ)

unsetRequestTimeoutメソッド

UserAttributesインタフェース

UserAuditLoggerクラス

UserDataクラス

UserDataコンストラクタ

UserTransactionFactoryクラス

(Ｗ)

WebCertificateCallbackクラス

WebCertificateCallbackコンストラクタ

WebCertificateHandlerクラス

WebCertificateHandlerコンストラクタ

WebCertificateLoginModuleクラス

WebLogoutCallbackクラス

WebLogoutHandlerクラス

WebPasswordCallbackクラス

WebPasswordCallbackコンストラクタ

WebPasswordHandlerクラス

WebPasswordHandlerコンストラクタ

WebPasswordJDBCLoginModuleクラス

WebPasswordLDAPLoginModuleクラス

WebPasswordLoginModuleクラス

WebSSOCallbackクラス

WebSSOCallbackコンストラクタ

WebSSOHandlerクラス

WebSSOHandlerコンストラクタ

WebSSOLoginModuleクラス

(ア行)

(あ)

アノテーション

(カ行)

(か)

監査ログ出力で使用するAPI

(タ行)

(と)

統合ユーザ管理フレームワークで使用するAPI

統合ユーザ管理フレームワークで使用するタグライブラリ

(ハ行)

(ひ)

日立で提供するAPIの例外クラス

(ラ行)

(れ)

例外クラス

例外クラス

例外クラス

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
AMDは，Advanced Micro Devices, Inc.の商標です。
CORBAは，Object Management Groupが提唱する分散処理環境アーキテクチャの名称です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
IIOPは，OMG仕様によるORB(Object Request Broker)間通信のネットワークプロトコルの名称です。
Intelは，Intel Corporationの会社名です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems, Inc.の商標または登録商標です。
JDKは，米国 Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Microsoft SQL Serverは，米国Microsoft Corp.の商品名称です。
OMG，CORBA，IIOP，UML，Unified Modeling Language，MDA，Model　Driven　Architectureは，Object Management Group, Inc.の米国及びその他の国における登録商標または商標です。
ORACLEは，米国Oracle Corporationの登録商標です。
Oracleは，米国Oracle Corporation及びその子会社，関連会社の登録商標です。
Oracle8iは，米国Oracle Corporationの商標です。
Oracle9iは，米国Oracle Corporationの商標です。
Oracle 10gは，米国Oracle Corporationの商標です。
PA-RISCは，米国Hewlett-Packard Companyの商標です。
Red Hatは，米国およびその他の国でRed Hat, Inc. の登録商標若しくは商標です。
SOAP（Simple Object Access Protocol）は，分散ネットワーク環境においてXMLベースの情報を交換するための通信プロトコルの名称です。
Solarisは，米国Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
SQL Serverは，米国法人Sybase，Inc.の商標です。
Sun，Sun Microsystems，Javaは，米国Sun Microsystems, Inc. の米国およびその他の国における商標または登録商標です。
UNIXは，X/Open Company Limited が独占的にライセンスしている米国ならびに他の国における登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国Microsoft Corporationの米国及びその他の国における登録商標です。
Windows Vistaは，米国Microsoft Corporationの米国及びその他の国における登録商標です。
X/Openは，X/Open Company Limited の英国ならびに他の国における登録商標です。
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
プログラムプロダクト「P-9D43-7D71，P-9D43-7K71，P-9D43-7M71，P-9D43-7S71」には，米国Sun Microsystems,Inc.が著作権を有している部分が含まれています。
プログラムプロダクト「P-9D43-7D71，P-9D43-7K71，P-9D43-7M71，P-9D43-7S71」には，UNIX System Laboratories,Inc.が著作権を有している部分が含まれています。