CTG 클래스
본 장에서는 CTG 클래스의 사용법에 대해서 설명한다.
1. 개요
다음은 J2EE ECI 응용프로그램 개발을 위해 제공하는 클래스 목록과 발생 가능한 Exception 관련 클래스 목록이다.
-
클래스 목록
클래스 설명 ECI Connector의 트랜잭션 상태를 제어한다.
단독으로는 현재 지원하지 않는다. (ECIConnection 참조)
단독으로는 현재 지원하지 않는다. (ECIConnectionFactory 참조)
단독으로는 현재 지원하지 않는다. (ECIConnectionSpec 참조)
단독으로는 현재 지원하지 않는다. (ECIInteraction 참조)
단독으로는 현재 지원하지 않는다. (ECIInteractionSpec 참조)
단독으로는 현재 지원하지 않는다. (ECIManagedConnectionFactory 참조)
OSC 서버에 대한 커넥션을 나타내는 클래스이다. 이 객체를 통해 interaction을 생성하고 CICS로 송수신한다.
OSC 서버에 대한 커넥션을 가져올 수 있는 클래스이다.
OSC 서버에 대한 커넥션의 특성이 정의된 클래스이다. 사용자는 getConnection을 수행하는 경우 이 객체가 담고 있는 커넥션의 특성을 사용한다.
ECIConnection 객체를 통해 OSC 서버로 요청을 주고받는 동작을 나타내는 클래스이다.
CICS 서버와 요청을 주고받는 동작의 특성을 정의한 클래스이다.
ECIConnection 객체를 생성하기 위해 사용되는 상위 클래스이다. 이 클래스는 CICS 서버로의 연결을 위한 전체 정보를 담고 있다.
-
Exception 관련 클래스
Exceptions 설명 CICSResourceException 클래스의 에러코드에 대한 상수를 담고 있는 클래스이다. OSC 서버 업무 수행 중에 발생한 에러에 대한 상수를 정의한다.
ECIInteraction으로 요청 수행 중 에러가 발생했을 때 Exception 정보를 담고 있는 클래스이다.
2. CCILocalTransaction
CCILocalTransaction 객체는 ECI Connector의 트랜잭션 상태를 제어한다. ECIConnection.getLocalTransaction() 메소드를 통해서만 접근할 수 있다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class CCILocalTransaction implements javax.resource.cci.LocalTransaction
메소드
다음은 CCILocalTransaction 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public void begin() |
새로운 로컬 트랜잭션을 시작한다.
|
public void commit() |
현재 진행 중인 로컬 트랜잭션을 커밋한다.
|
public void rollback() |
현재 진행 중인 로컬 트랜잭션을 롤백한다.
|
3. CICSConnection
CICSConnection 단독으로는 현재 지원하지 않는다. 자세한 내용은 ECIConnection을 참조한다.
4. CICSConnectionFactory
CICSConnectionFactory 단독으로는 현재 지원하지 않는다. 자세한 내용은 ECIConnectionFactory를 참조한다.
5. CICSConnectionSpec
CICSConnectionSpec 단독으로는 현재 지원하지 않는다. 자세한 내용은 ECIConnectionSpec을 참조한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class CICSConnectionSpec implements javax.resource.cci.ConnectionSpec
메소드
다음은 CICSConnectionSpec 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public void setUserName(java.lang.String newUser) |
프로그램을 수행할 때 TACF 인증에 사용되는 ID를 설정한다. ECIInteractionSpec 클래스의 setUserID()가 호출되었다면 이 메소드를 통해 설정한 값은 무시된다. |
public java.lang.String getUserName() |
프로그램 수행할 때 TACF 인증에 사용되는 ID를 반환한다. |
public void setPassword(java.lang.String newPass) |
프로그램 수행할 때 TACF 인증에 사용되는 Password를 설정한다. ECIInteractionSpec 클래스의 setPassword()가 호출되었다면 이 메소드를 통해 설정한 값은 무시된다. |
public java.lang.String getPassword() |
프로그램 수행할 때 TACF 인증에 사용되는 Password를 반환한다. |
String getHost() |
OSC 서버의 호스트 주소를 가져온다. |
void setHost(String host) |
OSC 서버의 호스트 주소를 설정한다. |
int getHost_port() |
OSC 서버의 호스트에 대한 포트 번호를 가져온다. |
void setHost_port(Integer host_port) |
OSC 서버의 호스트에 대한 포트 번호를 설정한다. |
String getBackup() |
OSC 서버의 백업 호스트 주소를 가져온다. |
void setBackup(String backup) |
OSC 서버의 백업 호스트 주소를 설정한다. |
int getBackup_port() |
OSC 서버의 백업 호스트에 대한 포트 번호를 가져온다. |
void setBackup_port(Integer backup_port) |
OSC 서버의 백업 호스트에 대한 포트 번호를 설정한다. |
int getConnectTimeout() |
OSC 서버에 접속하는 경우 최대 연결 대기 시간을 가져온다. (단위: 초) |
void setConnectTimeout(Integer connectTimeout) |
OSC 서버에 접속하는 경우 최대 연결 대기 시간을 설정한다. |
6. CICSInteraction
CICS 서버와 주고받는 동작을 나타내는 클래스이다. 이 클래스는 연결에 대한 정보를 가지고 있으며, 이를 통해 CICS 서버와의 송수신을 실행한다. CICSInteraction 단독으로는 현재 지원하지 않는다. 자세한 내용은 ECIInteraction을 참조한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class CICSInteractionSpec implements javax.resource.cci.Interaction
메소드
다음은 CICSInteraction 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public Connection getConnection() |
자기 자신의 인스턴스(CICSInteraction)를 생성한 ECIConnection 클래스 인스턴스를 반환한다. |
public ResourceWarning getWarnings() |
Interaction에서 execute() 메소드 수행 중 발생한 에러가 있을 경우, 에러 정보를 포함하는 CICSResourceException 클래스를 반환한다. 에러가 발생하지 않았을 경우 null을 반환한다.
|
public void clearWarnings() |
Interaction에 저장되어 있는 ResourceWarning 정보를 삭제한다.
|
public boolean execute(InteractionSpec aspec, Record sndRecord, Record rcvRecord) |
해당 메소드는 직접 호출하면 안되며, 반드시 ECIInteraction 클래스를 사용해야 한다.
|
public void close() |
Interaction에 해당하는 ECIConnection 연결을 닫는다.
|
7. CICSInteractionSpec
CICSInteractionSpec 단독으로는 현재 지원하지 않는다. 자세한 내용은 ECIInteractionSpec을 참조한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class CICSInteractionSpec implements javax.resource.cci.InteractionSpec
메소드
다음은 CICSInteractionSpec 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public int getInteractionVerb() |
해당 인스턴스에 저장된 InteractionVerb를 가져온다. 어떤 타입의 interaction이 사용되는지를 가리킨다. 다음의 값을 반환한다.
|
public void setInteractionVerb(int newVerb) |
새로운 interactionVerb를 설정한다. 어떤 타입의 interaction이 사용되는지를 가리킨다.
|
public void addPropertyChangeListener(PropertyChangeListener pcl) |
PropertyChangeListener를 추가한다. |
public void removePropertyChangeListener(PropertyChangeListener pcl) |
PropertyChangeListener를 제거한다. |
8. CICSManagedConnectionFactory
CICSManagedConnectionFactory 단독으로는 현재 지원하지 않는다. 자세한 내용은 ECIManagedConnectionFactory를 참조한다. 각 메소드와 관련된 기본 설정값은 리소스 어댑터(Resource Adapter)에 정의한 설정값이 저장되어 있다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class CICSManagedConnectionFactory implements com.tmax.ofctg.connector.cics.CICSLogTraceLevels, java.io.Serializable, javax.resource.spi.ManagedConnectionFactory, javax.resource.spi.ResourceAdapterAssociation, javax.resource.spi.ValidatingManagedConnectionFactory
9. CICSResourceException
ECIInteraction으로 요청 수행중 에러가 발생했을 때 Exception 정보를 담고 있다.
ECIInteraction 클래스의 getWarnings() 메소드를 통해 첫 번째 Exception 정보를 가져올 수 있다. 또한 ECIInteraction 클래스의 execute() 메소드 수행 중 Exception이 발생되는 경우 Abend Code 등 부가적인 오류정보를 가져올 수 있다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class CICSResourceException extends javax.resource.cci.ResourceWarning
메소드
다음은 CICSResourceException 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public String getAbendCode() |
요청 수행 중 Abend가 발생한 경우 Abend Code 값을 반환한다. Abend Code가 없으면 null을 리턴한다. |
public int getCicsRespCode() |
ECIResourceAdapterRc 클래스에 정의된 Response Code 상수를 반환한다. 에러에 대한 상세 정보는 ECIResourceAdapterRc를 참조한다. |
public int getCicsServerStatus() |
ECIResourceAdapterRc 클래스에 정의된 Server Status 상수를 반환한다. 에러에 대한 상세 정보는 ECIResourceAdapterRc를 참조한다. |
10. ECIConnection
OSC 서버에 대한 커넥션을 나타내는 클래스이다. 이 객체를 통해 interaction을 생성하고 CICS로 송수신을 하게 된다. ECIConnectionFactory 클래스의 getConnection() 메소드를 통해 객체를 생성한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class ECIConnection extends CICSConnection implements javax.resource.cci.Connection
메소드
다음은 ECIConnection 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public void close() |
커넥션을 닫는다.
|
public Interaction createInteraction() |
커넥션을 통해 실행할 ECIInteraction을 생성한다.
|
public LocalTransaction getLocalTransaction() |
커넥션의 트랜잭션 상태를 제어하는데 사용할 Local Transactinon 객체를 가져온다.
|
11. ECIConnectionFactory
ECI Connection을 가져올 수 있는 클래스이다. 사용자는 리소스 어댑터 설정을 통해 이 클래스를 lookup한다. getConnection을 통해 리소스 어댑터의 설정 또는 커넥션 스펙이 담고 있는 설정이 반영된 커넥션을 가져온다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class ECIConnectionFactory extends com.tmax.ofctg.connector.cics.CICSConnectionFactory
메소드
다음은 ECIConnectionFactory 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public Connection getConnection(ConnectionSpec connectionSpec) |
커넥션의 트랜잭션 상태를 제어할 Local Transaction 객체를 가져온다.
|
12. ECIConnectionSpec
ECI Connection의 특성이 정의된 클래스이다. 사용자는 getConnection을 수행하는 경우 이 객체가 담고 있는 커넥션의 특성을 사용한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class ECIConnectionSpec extends com.tmax.ofctg.connector.cics.CICSConnectionSpec
생성자
생성자 | 설명 |
---|---|
public ECIConnectionSpec() |
ECIConnectionSpec 객체를 생성한다. |
public ECIConnectionSpec(java.lang.String user, java.lang.String pass) |
user name과 password를 사용해서 새로운 ECIConnectionSpec을 생성한다. |
메소드
자세한 내용은 CICSConnectionSpec를 참조한다.
13. ECIInteraction
ECI Connection이 OSC Region 서버와 주고받는 동작을 나타내는 클래스이다. 이 클래스는 연결에 대한 정보를 가지고 있으며, 이를 통해 OSC Region 서버와의 송수신을 실행한다. ECIConnection 클래스의 createInteraction() 메소드를 통해 해당 객체를 생성한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class ECIInteraction extends com.tmax.ofctg.connector.cics.CICSInteraction
메소드
다음은 ECIInteraction 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public Connection getConnection() |
자기 자신의 인스턴스(CICSConnection)를 생성한 ECIConnection 클래스 인스턴스를 반환한다. |
public ResourceWarning getWarnings() |
Interaction에서 execute() 메소드 수행 중 발생한 에러가 있을 경우 에러 정보를 포함하는 CICSResourceException 클래스를 반환한다. 에러가 발생하지 않았을 경우 null을 반환한다.
|
public void close() |
Interaction에 해당하는 ECIConnection 연결을 닫는다.
|
public boolean execute(InteractionSpec aspec, Record sndRecord, Record rcvRecord) |
|
14. ECIInteractionSpec
ECI Connection이 CICS 서버와 주고받는 동작의 특성을 정의한 클래스이다. ECIInteraction은 CICS 서버와의 송수신을 실행하는 경우 ECIInteractionSpec에 정의된 특성을 이용한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class ECIInteractionSpec implements java.io.Serializable, javax.resource.cci.InteractionSpec
생성자
생성자 | 설명 |
---|---|
public ECIInteractionSpec() |
ECIInteractionSpec 클래스 객체를 생성한다. 다음의 값을 설정한다.
|
public ECIInteractionSpec(int verb, String prog) |
ECIInteractionSpec 클래스 객체를 생성한다. 기본 설정값은 ECIInteractionSpec() 생성자를 참고한다.
|
public ECIInteractionSpec(int verb, String prog, int timeout, int commLen, int repLen) |
ECIInteractionSpec 클래스 객체를 생성한다. 기본 설정값은 ECIInteractionSpec() 생성자를 참고한다.
|
메소드
다음은 ECIInteractionSpec 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public int getCommareaLength() |
COMMAREA 길이를 반환한다. |
public int getExecuteTimeout() |
ECIInteraction 클래스의 execute() 메소드를 수행할 때 타임아웃 시간을 가져온다. |
public int getInteractionVerb() |
InteractionVerb를 반환한다. InteractionSpec 클래스에 정의된 SYNC_SEND, SYNC_RECEIVE, SYNC_SEND_RECEIVE 중에 하나를 반환한다. |
public String getFunctionName() |
프로그램 이름을 반환한다. |
public String getPassword() |
프로그램을 수행할 때 TACF 인증에 사용되는 Password를 반환한다. |
public int getReplyLength() |
응답 데이터의 길이를 반환한다. 현재는 이 설정값과 상관없이 응답으로 들어오는 데이터를 모두 수신한다. |
public String getTPNName() |
TP name을 반환한다. |
public String getTranName() |
Tran name을 반환한다. |
public String getUserID() |
프로그램을 수행할 때 TACF 인증에 사용되는 ID를 반환한다. |
public void setCommareaLength(int length) |
COMMAREA 길이를 설정한다. |
public void setExecuteTimeout(int time) |
ECIInteraction 클래스의 execute() 메소드를 수행할 때 타임아웃 시간을 설정한다. 이 메소드를 호출하지 않으면 기본값으로 Resource Adaptor 설정값을 사용한다. |
public void setFunctionName(String name) |
호출할 프로그램의 이름을 설정한다. |
public void setInteractionVerb(int verb) |
InteractionVerb를 설정한다(현재 SYNC_SEND_RECEIVE만 지원). |
public void setUserID(String password) |
프로그램을 수행할 때 TACF 인증에 사용되는 ID를 설정한다. 값이 설정될 경우 ECIConnectionSpec 클래스의 setUserName() 메소드보다 우선하여 적용된다. |
public void setPassword(String password) |
프로그램을 수행할 때 TACF 인증에 사용되는 Password를 설정한다. 값이 설정될 경우 ECIConnectionSpec 클래스의 setPassword() 메소드보다 우선하여 적용된다. |
public void setReplyLength(int length) |
응답 데이터의 길이를 설정한다. 현재는 이 설정값과 상관없이 응답으로 들어오는 데이터를 모두 수신한다. |
public void setTPNName(String newTPNName) |
ECI Call 을 통해 수행될 Mirror Transaction 이름을 설정한다. TPNName, TranName 모두 지정되어 있지 않으면, 기본값인 CPMI가 Mirror Transacion 이름으로 사용된다. 단, TPNName, TranName 항목을 모두 지정하는 경우 TPNName이 우선 적용된다. |
public void setTranName(java.lang.String newTranName) |
ECI Call 을 통해 수행될 Mirror Transaction 이름을 설정한다. TPNName, TranName 모두 지정되어 있지 않으면, 기본값인 CPMI가 Mirror Transacion 이름으로 사용된다. 단, TPNName 항목을 지정하지 않고 TranName만 지정한 경우 Mirror Transacion에는 기본값인 CPMI가 적용되고 OSC의 EIBTRNID에 TranName이 적용된다. |
15. ECIManagedConnectionFactory
ECIManagedConnectionFactory 클래스는 ECI Connection을 생성하기 위해 사용되는 상위 클래스이다. 이 클래스는 CICS 서버로의 연결을 위한 전체 정보를 담고 있다. 이 정보는 리소스 어댑터의 ra.xml에서 설정한다. ra.xml 설정 예제는 리소스 어댑터 설정 파일을 참고한다.
사용자는 클래스를 직접 사용하지 않으며, 리소스 어댑터에 설정된 이름으로 lookup을 실행하면 createConnectionFactory를 통해 생성된 ECIConnectionFactory를 가져와 사용하게 된다. 리소스 어댑터에 설정 가능한 이름과 타입에 대한 설명은 CICSManagedConnectionFactory를 참고한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public final class ECIManagedConnectionFactory extends com.tmax.ofctg.connector.cics.CICSManagedConnectionFactory implements javax.resource.spi.ManagedConnectionFactory, javax.resource.spi.TransactionSupport
16. ECIResourceAdapterRc
OSC 서버 업무 수행 중에 발생한 에러에 대한 상수를 정의한다.
-
패키지
com.tmax.ofctg.connector.cics
-
클래스 정의
public class ECIResourceAdapterRc
메소드
다음은 ECIResourceAdapterRc 클래스의 메소드 목록이다.
메소드 | 설명 |
---|---|
public static String getErrorMessage(int cicsRespCode) |
에러 상수에 대한 문자열을 반환한다.
각 코드에 대한 자세한 내용은 "ECIResourceAdapterRc 클래스 상수"를 참고한다. |
Response Code 중 ECI_ERR_NO_REPLY, ECI_ERR_REQUEST_TIMEOUT, ECI_ERR_EXEC_NOT_RESIDENT, ECI_ERR_NULL_WIN_HANDLE, ECI_ERR_NULL_MESSAGE_ID, ECI_ERR_ALREADY_ACTIVE, ECI_ERR_RESOURCE_SHORTAGE, ECI_ERR_NO_SESSIONS, ECI_ERR_NULL_SEM_HANDLE, ECI_ERR_INVALID_VERSION, ECI_ERR_MORE_SYSTEMS, ECI_ERR_CALL_FROM_CALLBACK, ECI_ERR_NO_SYSTEMS, ECI_ERR_MAX_SYSTEMS, ECI_ERR_MAX_SESSIONS, ECI_ERR_ROLLEDBACK, ECI_ERR_XID_INVALID에 대해서는 지원하지 않는다. |
ECIResourceAdapterRc 클래스 상수
다음은 ECIResourceAdapterRc 클래스의 상수 목록이다.
상수명 | 값 | 설명 |
---|---|---|
public static final short ECI_CLIENTSTATE_UNKNOWN |
0 |
클라이언트 상태를 알 수 없다. |
public static final short ECI_CLIENTSTATE_UP |
1 |
클라이언트가 사용 가능하다. |
public static final int ECI_ERR_CICS_DIED |
-4 |
통신 중에 Region 서버가 내려갔다. |
public static final int ECI_ERR_INVALID_CALL_TYPE |
-14 |
ECI_SYNC, ECI_SYNC_TPN 외의 값을 지정한 경우이다. |
public static final int ECI_ERR_INVALID_DATA_AREA |
-19 |
COMMAREA LENGTH와 실제 받은 데이터의 길이가 맞지 않은 경우이다. |
public static final int ECI_ERR_INVALID_DATA_LENGTH |
-1 |
COMMAREA LENGTH가 유효하지 않은 경우이다. |
public static final int ECI_ERR_INVALID_EXTEND_MODE |
-2 |
extend mode가 ECI_NO_EXTEND가 아닌 경우이다. |
public static final int ECI_ERR_INVALID_TRANSID |
-24 |
정의되지 않은 트랜잭션이 호출된 경우이다. |
public static final int ECI_ERR_LUW_TOKEN |
-8 |
알 수 없는 LUW 토큰이다. |
public static final int ECI_ERR_NO_CICS |
-3 |
해당 Region 서버가 기동되어 있지 않은 경우이다. |
public static final int ECI_ERR_RESPONSE_TIMEOUT |
-6 |
응답 대기 중 타임아웃이 발생한 경우이다. |
public static final int ECI_ERR_SECURITY_ERROR |
-27 |
userid, password 인증오류가 발생한 경우이다. |
public static final int ECI_ERR_SYSTEM_ERROR |
-9 |
알 수 없는 내부오류이다. |
public static final int ECI_ERR_TRANSACTION_ABEND |
-7 |
트랜잭션 ABEND가 발생한 경우이다. |
public static final int ECI_ERR_UNKNOWN_SERVER |
-22 |
알 수 없는 Region 서버이다. |
public static final int ECI_EXTENDED |
2 |
extend mode가 EXTENDED인 경우이다. |
public static final int ECI_NO_ERROR |
0 |
정상 종료된 경우이다. |
public static final int ECI_NO_EXTEND |
1 |
extend mode가 NO_EXTEND이다. |
public static final short ECI_SERVERSTATE_DOWN |
2 |
서버가 기동되어 있지 않은 경우이다. |
public static final short ECI_SERVERSTATE_UNKNOWN |
0 |
서버 상태를 알 수 없는 경우이다. |
public static final short ECI_SERVERSTATE_UP |
1 |
서버 상태가 정상인 경우이다. |
public static final int ECI_SYNC |
1 |
call type이 SYNC로 지정된 경우이다. |
public static final int ECI_SYNC_TPN |
2 |
call type이 SYNC_TPN으로 지정된 경우이다. |