제2장 JTC 클래스와 함수

내용 목차

2.1. 개요
2.2. TuxService
2.2.1. createCarrayBuffer
2.2.2. createFieldBuffer
2.2.3. createStringBuffer
2.2.4. setAttribute
2.2.5. setDefaultCharset
2.2.6. setServiceName
2.2.7. tpacall
2.2.8. tpcall
2.2.9. tpconnect
2.2.10. tpdiscon
2.2.11. tpgetrply
2.2.12. tprecv
2.2.13. tpsend
2.2.14. TuxService
2.3. TuxAsyncService
2.3.1. getXAResource
2.3.2. tpacall
2.3.3. TuxAsyncService
2.4. TuxRemoteServiceManager
2.4.1. TuxedoRemoteServiceManager
2.4.2. createStringBuffer
2.4.3. createCarrayBuffer
2.4.4. createFiledBuffer
2.4.5. tpcall
2.5. TuxBuffer
2.6. TuxStringBuffer/TuxCarrayBuffer
2.6.1. getBytes
2.6.2. getString
2.6.3. setBytes
2.6.4. setString
2.7. TuxFieldBuffer
2.7.1. createField
2.7.2. getField
2.7.3. getFields
2.8. TuxFMLBeanGen

본 장에서는 JTC의 클래스와 함수에 대해 설명한다.

2.1. 개요

다음은 JTC가 제공하는 클래스 목록이다.

클래스설명
TuxServiceTuxedo의 서비스를 수행하기 위한 함수를 제공하는 클래스이다.
TuxAsyncServiceAsync Listener 구조를 지원하기 위한 TuxService의 상속 클래스이다.
TuxRemoteServiceManager클러스터 도메인에서 서비스를 호출하기 위한 클래스이다.
TuxBufferTuxedo와 데이터를 주고받기 위해 사용되는 Tuxedo 데이터 버퍼들의 상위 클래스이다.

TuxStringBuffer

TuxCarrayBuffer

String/Byte 배열 데이터를 사용하는 데 필요한 버퍼를 생성하는 클래스이다.
TuxFieldBufferTuxedo의 FML / FML32 버퍼를 사용하기 위한 데이터 클래스이다.
TuxFMLBeanGenFML을 주고받는 서비스의 기본 JAVA Bean Class를 생성할 수 있는 유틸리티이다.

다음 절에서 각 클래스와 클래스에서 제공하는 함수에 대해 설명한다.

2.2. TuxService

Tuxedo의 서비스를 수행하기 위한 함수를 제공하는 클래스로, 모든 통신이 TuxService를 통해 이루어진다.

다음은 TuxService 클래스에서 제공하는 함수에 대한 설명이다.

함수설명
createCarrayBufferTuxedo와의 통신에 사용할 수 있는 Byte 배열 타입 버퍼를 생성한다.
createFieldBufferTuxedo와의 통신에 사용할 수 있는 FML 버퍼를 생성한다.
createStringBufferTuxedo와의 통신에 사용할 수 있는 String 타입 버퍼를 생성한다.
setAttribute서비스에 적용할 사용자 flags를 설정한다.
setDefaultCharsetString 데이터를 사용하는 경우 Byte 배열 ↔ String으로 인코딩 및 디코딩하는 캐릭터 셋을 지정한다.
setServiceNameTuxService 인스턴스의 기본 서비스 이름을 변경한다.
tpacall비동기형 방식으로 Tuxedo의 서비스를 호출한다.
tpcall동기형 방식으로 Tuxedo의 서비스를 호출한다.
tpconnectTuxedo 대화형 통신을 설정한다.
tpdisconTuxedo 대화형 통신을 해제한다.
tpgetrplytpacall에 대한 응답을 받아온다.
tprecv설정된 대화형 서비스를 통해 메시지를 수신한다.
tpsend설정된 대화형 서비스를 통해 메시지를 송신한다.
TuxServiceTuxService를 생성한다.

2.2.1. createCarrayBuffer

Tuxedo와의 통신에 사용할 수 있는 Byte 배열 타입 버퍼를 생성하는 함수이다.

  • 프로토타입

    public TuxBuffer createCarrayBuffer([int size])
  • 파라미터

    파라미터설명
    sizecreateCarrayBuffer로 생성할 CarryBuffer의 크기이다.
  • 반환값

    TuxBuffer를 반환한다.

2.2.2. createFieldBuffer

Tuxedo와의 통신에 사용할 수 있는 FML 버퍼를 생성하는 함수이다.

  • 프로토타입

    public TuxBuffer createFieldBuffer([boolean isFML32, [int size,]] 
                                       TuxFieldTable table)
  • 파라미터

    파라미터설명
    isFML32

    다음 값 중 원하는 값을 지정한다.

    • True: FML32를 사용하는 경우

    • False: FML16을 사용하는 경우

    sizecreateFieldBuffer로 생성할 FieldBuffer의 크기이다.
    tableTuxFieldGen()을 이용하여 생성된 테이블 클래스이다.
  • 반환값

    TuxBuffer를 반환한다.

  • 예제

    java -cp ..\webtJtc.jar tmax.webt.util.TuxFieldGen  -32 com.tys.sde.wtc anta.fld
    
    package com.tys.sde.wtc;
    
    import tmax.webt.util.TuxFieldTable;
    
    public class anta.fld implements TuxFieldTable {
        public static final int    ftp_hostdir = 167804166;
        public static final int    ftp_filename = 167804165;
        public static final int    ftp_dir = 167804164;
        public static final int    ftp_pswd = 167804163;
        public static final int    ftp_id = 167804162;
        public static final int    ftp_svr = 167804161;
        public static final int    split_filename = 167807162;
        public static final int    split_data = 167807161;
        public static final int    carray01 = 201349593;
        public static final int    string99 = 167792259;
        public static final int    string98 = 167792258;
        public static final int    string97 = 167792257;
        public static final int    string96 = 167792256;
        public static final int    string93 = 167792253;
    }
    javac -classpath .;webtJtc.jar;sdeLib.jar;%JEUS_HOME%/lib/
    system/jeus.jar WTCService.java 2> err

2.2.3. createStringBuffer

Tuxedo와의 통신에 사용할 수 있는 String 타입 버퍼를 생성하는 함수이다.

  • 프로토타입

    public TuxBuffer createStringBuffer([int size])
  • 파라미터

    파라미터설명
    sizecreateStringBuffer로 생성할 StringBuffer의 크기이다.
  • 반환값

    TuxBuffer를 반환한다.

2.2.4. setAttribute

서비스에 적용할 사용자 flags를 설정하는 함수이다.

  • 프로토타입

    public void setAttribute(int attr, boolean value)
  • 파라미터

    파라미터설명
    attr대상 flags의 값이다.
    value

    WebtAttribute의 설정 및 해제 여부를 설정한다.

    • True: WebtAttribute를 설정한다.

    • False: WebtAttribute를 해제한다.

2.2.5. setDefaultCharset

String 데이터를 사용하는 경우 Byte 배열 ↔ String으로 인코딩 및 디코딩하는 캐릭터 셋을 지정하는 함수이다.

ISO-8859-1, UFT-8, EUC-KR 등 원하는 캐릭터 셋을 지정할 수 있으며 지정하지 않으면 Java 기본값인 ISO-8859-1로 지정된다. 반드시 버퍼를 생성하기 전에 값을 설정해야 한다.

  • 프로토타입

    public void setDefaultCharset(String charset)
  • 파라미터

    파라미터설명
    charset인코딩할 캐릭터 셋 값이다. (기본값 : ISO-5589-1)
  • 예제

    TuxService service = new TuxService("SAMPLE", "TUXDOM");
    service.setDefaultCharset("ISO-8859-1");
    TuxBufferImpl buf = service.createStringBuffer(); // ISO-8859-1
    
    service.setDefaultCharset("ISO-8859-2");
    TuxBufferImpl buf2 = service.createStringBuffer(); // ISO-8859-2

2.2.6. setServiceName

TuxService 인스턴스의 기본 서비스 이름을 변경하는 함수이다.

  • 프로토타입

    public void setServiceName(String serviceName)
  • 파라미터

    파라미터설명
    serviceName호출할 Tuxedo의 서비스명이다.
  • 예제

    TuxService service = new TuxService("SAMPLE", "TUXDOM");
    Service.tpcall(buf);// calls “SAMPLE” service
    
    service.setServiceName ("SAMPLE2");
    Service.tpcall(buf);// calls “SAMPLE2” service

2.2.7. tpacall

비동기형 방식으로 Tuxedo의 서비스를 호출하는 함수이다. 클라이언트는 서비스를 호출한 뒤 해당 서비스 호출에 대한 핸들러 값을 받아오게 되며 이 핸들러를 이용하여 언제든지 결과값을 받아올 수 있다.

  • 프로토타입

    public TuxCallDescripter tpacall([String svcname,] TuxBuffer input
                                     [, WebtAttribute attr])
  • 파라미터

    파라미터설명
    svcnameTuxedo의 서비스명이다.
    input요청할 TuxBuffer 타입의 버퍼이다.
    attr서비스의 속성값이다.
  • 반환값

    TuxCallDescripter를 반환한다.

2.2.8. tpcall

동기형 방식으로 Tuxedo의 서비스를 호출하는 함수이다. 클라이언트는 지정된 시간까지 블록된 상태로 결과값을 기다리게 된다. TuxService 인스턴스를 생성할 때 설정한 기본 서비스 이외의 서비스를 호출하고자 하는 경우 서비스명을 지정해 줄 수 있다.

  • 프로토타입

    public TuxBuffer tpcall(String svcname, TuxBuffer input[[, WebtAttribute attr], 
                            int timeout])
  • 파라미터

    파라미터설명
    svcnameTuxedo의 서비스명이다.
    input요청할 TuxBuffer 타입의 버퍼이다.
    timeout서비스를 요청할 때 최대 수행시간이다.
  • 반환값

    TuxBuffer를 반환한다.

  • 예제

    try {
         TuxBufferImpl rcvbuf = service.tpcall(sndbuf);
         out.println(rcvbuf.getString());
    }
    catch (WebtException e) {
         e.printStackTrace();
         out.println("error Occurred");
         return;
    }

2.2.9. tpconnect

Tuxedo 대화형 통신을 설정하는 함수이다.

  • 프로토타입

    public TuxCallDescripter tpconnect([TuxBuffer sndbuf,] [WebtAttribute attr,] 
                                        boolean recvNext)
  • 파라미터

    파라미터설명
    sndbuf요청할 TuxBuffer 타입의 버퍼이다.
    attr서비스의 속성값이다.
    recvNext

    다음 값 중 원하는 값을 지정한다.

    • True: 다음 응답을 받는다.

    • False: 응답을 한 번만 받는다.

  • 반환값

    TuxCallDescripter를 반환한다.

2.2.10. tpdiscon

Tuxedo 대화형 통신을 해제하는 함수이다.

  • 프로토타입

    public void tpdiscon(TuxCallDescripter cd)
  • 파라미터

    파라미터설명
    cdtpconnect()의 수행을 통해 반환된 핸들러 값이다.

2.2.11. tpgetrply

tpacall에 대한 응답을 받아오기 위한 함수이다.

  • 프로토타입

    public TuxBuffer tpgetrply(TuxCallDescripter cd[, WebtAttribute attr]
                               [, int timeout])
  • 파라미터

    파라미터설명
    cdtpacall()의 정상적인 수행을 통해 반환된 핸들러 값이다.
    attr서비스의 속성값이다.
    timeout서비스를 요청할 때 최대 수행시간이다.
  • 반환값

    TuxBuffer를 반환한다.

  • 예제

    TuxService service = new TuxService("READDATA", "TUXDOM");
    TuxBufferImpl sndbuf = service.createCarrayBuffer();
    sndbuf.setBytes(toconv);
    
    try {
          TuxCallDescripter cd = service.tpacall(sndbuf);
          TuxBufferImpl rcvbuf = service.tpgetrply(cd);
          out.println(rcvbuf.getString());
    }
    catch (WebtException e) {
        e.printStackTrace();
        out.println("error Occurred");
        return;
    }

2.2.12. tprecv

설정된 대화형 서비스를 통해 메시지를 수신하는 함수이다.

  • 프로토타입

    public TuxBuffer tprecv(TuxCallDescripter cd[,WebtAttribute attr])
  • 파라미터

    파라미터설명
    cdtpacall() 함수의 정상적인 수행에 대해 반환된 핸들러 값이다.
    attr서비스의 속성값이다.
  • 반환값

    TuxBuffer를 반환한다.

  • 예제

    TuxService service = new TuxService("TMXDOM","TOUPPER_CONVN");
    TuxBuffer sndbuf = service.createStringBuffer();
    sndbuf.setString("conversation service");
    TuxCallDescripter cd = service.tpconnect(false);
    
    if(cd == null) {
          out.println("tpconnect failed!");
    }
    else {
          service.tpsend(cd, sndbuf, true);
          WebtAttribute attr = new WebtAttribute();
          attr.setTPNOTIME(true);
          
          if(service.isRecvNext()) {
                 TuxBuffer rcvbuf = service.tprecv(cd,attr);
          }
    }
    service.tpdiscon(cd);

2.2.13. tpsend

설정된 대화형 서비스를 통해 메시지를 송신하는 함수이다.

  • 프로토타입

    public void tpsend(TuxCallDescripter cd,TuxBuffer tx[, WebtAttribute attr], 
                       boolean recvNext)
  • 파라미터

    파라미터설명
    cdtpacall() 함수의 정상적인 수행에 대해 반환된 핸들러 값이다.
    tx요청할 TuxBuffer 타입의 버퍼이다.
    attr서비스의 속성값이다.
    recvNext

    다음 값 중 원하는 값을 지정한다.

    • True: 다음 응답을 받는다.

    • False: 응답을 한 번만 받는다.

2.2.14. TuxService

TuxService를 생성하는 함수이다. Tuxedo 도메인이 하나만 설정되어 있다면 서비스 이름만 파라미터로 설정하는 것이 가능하다.

  • 프로토타입

    public TuxService([String domainName,] String serviceName)
  • 파라미터

    파라미터설명
    domainNameTuxedo의 도메인명이다.
    serviceNameTuxedo의 서비스명이다.
  • 반환값

    TuxService를 반환한다.

2.3. TuxAsyncService

Async listener 구조를 지원하기 위한 TuxService의 상속 클래스로 TuxAsyncService에서 제공하는 함수는 다음과 같다.

함수설명
getXAResourceXA Resource를 생성한다.
tpacall비동기형 방식으로 Tuxedo의 서비스를 호출한다.
TuxAsyncServiceTuxService를 생성한다.

다음은 TuxAsyncService를 이용한 Async listener 구조의 사용 예제이다.

TmaxXid xid = new TmaxXid(1,4,0);
TuxAsyncService service = new TuxAsyncService("TUXGW1","TUX_INSERT");
try {
    service.getXAResource().start(xid, 0);
} 
catch (XAException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
TuxBuffer input = service.createStringBuffer();
input.setString("abc");
TuxAsyncMsgListener listener = new TestMsgListener(service, xid);
service.tpacall(input, null, listener ); 

다음은 TuxAsyncService을 사용하여 TuxAsyncMsgListener를 구현하는 예제이다. TuxAsyncMsgListener 인터페이스는 void handleEvent(TuxBuffer rcvBuffer)와 void handleError(Exception e) 메소드를 가지고 있다. 이 메소드에 수신 동작을 구현한다.

public class TestMsgListener implements TuxAsyncMsgListener {
       TuxAsyncService service; 
       Xid xid;

       public TestMsgListener(TuxAsyncService service, Xid xid) {
              this.service = service;
              this.xid = xid;
       }

       public void handleError(Exception e) {
              System.out.println(e);
       }

       public void handleEvent(TuxBuffer rcvBuffer) {
              System.out.println(Thread.currentThread().getName() 
                                 +" ] rcv " + rcvBuffer);
              try {
                   service.getXAResource().prepare(xid, 
                                 new TestTuxPrepareMsgListener(service,xid));
              } 
              catch (XAException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              }
       }
}

2.3.1. getXAResource

XA Resource를 생성하는 함수이다.

  • 프로토타입

    public TuxAsyncXAResource getXAResource()
  • 반환값

    TuxAsyncXAResource를 반환한다.

    Async Listener를 위해 TuxAsyncXAResource에 추가 구현된 메소드들은 다음과 같다.

    public int prepare(Xid xid, TuxAsyncMsgListener listener)
    public void commit(Xid xid, TuxAsyncMsgListener listener)
    public void rollback(Xid xid, TuxAsyncMsgListener listener)

2.3.2. tpacall

비동기형 방식으로 Tuxedo의 서비스를 호출한다. TuxAsyncMsgListener 인터페이스는 void handleEvent(TuxBuffer rcvBuffer)와 void handleError(Exception e) 메소드를 가지고 있다. 이 메소드에 수신 동작을 구현한다. “2.2.7. tpacall”에 응답을 처리하기 위한 Listener를 파라미터로 추가한다.

  • 프로토타입

    public TuxCallDescripter tpacall(TuxBuffer input, WebtAttribute attr, 
                                     TuxAsyncMsgListener listener)
  • 파라미터

    파라미터설명
    input요청할 TuxBuffer 타입의 버퍼이다.
    attr서비스의 속성값이다.
    listener수신 메시지의 동작이 구현된 객체이다.
  • 반환값

    TuxCallDescripter를 반환한다.

2.3.3. TuxAsyncService

TuxService를 생성하는 함수이다. Tuxedo 도메인이 하나만 설정되어 있다면 서비스 이름만 파라미터로 하는 것이 가능하다.

  • 프로토타입

    public TuxAsyncService([String domainName,] String serviceName)
  • 파라미터

    파라미터설명
    domainNameTuxedo의 도메인명이다.
    serviceNameTuxedo의 서비스명이다.
  • 반환값

    TuxAsyncService를 반환한다.

2.4. TuxRemoteServiceManager

JTC 클러스터를 사용할 때에는 효율적인 호출을 위해 이 클래스의 API를 사용한다. 이 클래스는 어떤 서비스를 호출할 때 맞는 리모트 도메인을 통해 호출하도록 동작한다.

기존과 같이 TuxService를 통해서 호출할 경우에는 매번 다른 도메인으로 호출될 수 있다. TuxedoRemoteServiceManager를 통해 서비스를 호출할 경우 한 서비스가 특정 리모트 도메인을 통해 호출되기 시작하면 그 이후로는 그 서비스는 항상 같은 도메인을 통해서 호출된다.

다음은 TuxRemoteServiceManager에서 제공하는 함수에 대한 설명이다.

함수설명
TuxedoRemoteServiceManager클래스의 생성자이다.
createStringBufferTuxedo와의 통신에 사용할 수 있는 String 형 버퍼를 생성한다.
createCarrayBufferTuxedo와의 통신에 사용할 수 있는 Byte 배열형 버퍼를 생성한다.
createFiledBufferTuxedo와의 통신에 사용할 수 있는 필드형 버퍼를 생성한다.
tpcallTuxedo 서비스를 호출한다.

2.4.1. TuxedoRemoteServiceManager

TuxedoRemoteServiceManager 클래스를 생성한다.

  • 프로토타입

    Public TuxedoRemoteServiceManager()

2.4.2. createStringBuffer

Tuxedo와의 통신에 사용할 수 있는 String 형 버퍼를 생성하는 함수로 동작은 TuxService 클래스의 createStringBuffer 함수와 동일하다.

  • 프로토타입

    Public TuxBuffer createStringBuffer([int size])
  • 반환값

    TuxBuffer를 반환한다.

2.4.3. createCarrayBuffer

Tuxedo와의 통신에 사용할 수 있는 Carray 형 버퍼를 생성하는 함수로 동작은 TuxService 클래스의 createCarrayBuffer 함수와 동일하다.

  • 프로토타입

    Public TuxBuffer createCarrayBuffer([int size])
  • 반환값

    TuxBuffer를 반환한다.

2.4.4. createFiledBuffer

Tuxedo와의 통신에 사용할 수 있는 Filed 형 버퍼를 생성하는 함수로 동작은 TuxService 클래스의 createFiledBuffer(TuxFieldTable) 함수와 동일하다.

  • 프로토타입

    Public TuxBuffer createFiledBuffer(TuxFieldTable table)
  • 파라미터

    파라미터설명
    tableTuxFieldGen을 이용하여 생성된 테이블 클래스이다.
  • 반환값

    TuxBuffer를 반환한다.

2.4.5. tpcall

Tuxedo 서비스를 호출하는 함수이다.

  • 프로토타입

    Public TuxBuffer tpcall(String svcname, TuxBuffer input)
  • 파라미터

    파라미터설명
    svcname요청할 서비스명이다.
    input요청할 TuxBuffer 타입의 버퍼이다.
  • 반환값

    TuxBuffer를 반환한다.

2.5. TuxBuffer

Tuxedo와 데이터를 주고받기 위해 사용되는 Tuxedo 데이터 버퍼들의 상위 클래스이다. 특별한 함수는 제공하지 않으며 하위 데이터 버퍼 클래스들에 대한 인터페이스를 제공한다. Tuxedo 데이터 버퍼는 TuxService 인스턴스의 메소드를 이용하거나 WebtBuffer 클래스의 Static 메소드를 이용하여 생성한다.

2.6. TuxStringBuffer/TuxCarrayBuffer

각각 String / Byte 배열 데이터를 사용하기 위한 버퍼이다.

다음은 TuxStringBuffer/TuxCarrayBuffer가 제공하는 함수에 대한 설명이다.

함수설명
getBytes저장된 String 값을 Byte 배열 값으로 변환하여 읽어온다.
getString저장되어 있는 String 값을 읽어온다.
setBytesByte 배열 값을 저장한다.
setStringString 값을 저장한다.

2.6.1. getBytes

저장된 String 값을 Byte 배열 값으로 변환하여 읽어오는 함수이다.

  • 프로토타입

    public byte[] getBytes()
  • 반환값

    저장되어 있는 String 값을 Byte 배열로 변환하여 반환한다.

2.6.2. getString

저장되어 있는 String 값을 읽어오는 함수이다.

  • 프로토타입

    public String getString([String charset])
  • 파라미터

    파라미터설명
    charset인코딩을 위한 캐릭터 셋을 지정할 수 있으며 필요하지 않은 경우 NULL을 설정한다.
  • 반환값

    저장되어 있는 String 값을 반환한다.

2.6.3. setBytes

Byte 배열 값을 저장하는 함수이다.

  • 프로토타입

    public void setBytes(byte[] val)
  • 파라미터

    파라미터설명
    val요청할 Byte 타입의 데이터이다.

2.6.4. setString

String 값을 저장하는 함수이다.

  • 프로토타입

    public void setString(String value[, String charset])
  • 파라미터

    파라미터설명
    value요청할 String 타입의 데이터이다.
    charset디코딩를 위한 캐릭터 셋을 지정할 수도 있으며 필요하지 않은 경우 NULL을 설정한다.

2.7. TuxFieldBuffer

Tuxedo의 FML / FML32 버퍼를 사용하기 위한 데이터 클래스이다. TuxFieldBuffer는 버퍼 내부에 고유의 키값과 키 이름을 갖는 여러 개의 필드를 가지며 각 필드는 다시 여러 개의 값을 가질 수 있다. 사용자는 값을 저장하기 위해서 실제로 값을 넣을 수 있는 필드를 먼저 생성해야 한다.

String 또는 Byte 배열을 저장하는 타입과 숫자형을 저장하는 타입으로 구분되며 필드의 타입과 다른 타입의 데이터 저장을 시도하는 경우 WebtBufferException이 발생한다.

다음은 TuxFieldBuffer가 제공하는 함수에 대한 설명이다.

함수설명
createFieldTuxFieldBuffer 내에 새 필드를 생성한다.
getField키값에 해당하는 필드를 반환한다.
getFields필드 버퍼 내에 있는 모든 필드를 Vector로 반환한다.

2.7.1. createField

TuxFieldBuffer 내에 새 필드를 생성하는 함수이다.

  • 프로토타입

    public WebtField createField(int fldkey|string fldkey)
  • 파라미터

    파라미터설명
    int fldkey생성할 int 형 필드키 값이다.
    string fldkey생성할 String 형 필드키 값이다.
  • 반환값

    키값에 해당하는 필드가 이미 생성되어 있을 경우 이미 생성된 필드를 반환한다.

  • 예제

    Table table = new Table()
    TuxBufferImpl buf = WebtBuffer.createTuxFieldBuffer(true, table);
    
    // field key 값이 INT1인 WebtField 객체를 생성한다.
    WebtField field1 = buf.createField(table.INT1);
    
    // field key 이름이 "INT2" 인 WebtField 객체를 생성한다.
    WebtField field2 = buf.createField("INT2");

2.7.2. getField

키값에 해당하는 필드를 반환하는 함수이다.

  • 프로토타입

    public WebtField getField(int fldkey|string fldkey)
  • 파라미터

    파라미터설명
    int fldkey반환된 Tuxbuffer로부터 읽을 int 형 필드키 값이다.
    string fldkey반환된 Tuxbuffer로부터 읽을 String 형 필드키 값이다.
  • 반환값

    키값에 해당하는 필드를 반환한다. 필드가 존재하지 않을 경우 NULL을 반환한다.

2.7.3. getFields

필드 버퍼 내에 있는 모든 필드를 Vector로 반환하는 함수이다.

  • 프로토타입

    public Vector getFields()
  • 반환값

    필드 버퍼 내에 있는 모든 필드를 Vector로 반환한다.

  • 예제

    Table table = new Table();
    TuxBufferImpl buf = WebtBuffer.createTuxFieldBuffer(true, table);
    
    WebtField field = buf.createField(table.INPUT);
    field.add("VALUE1");
    field.add("VALUE2");
    field.add("VALUE3");
    
    Vector fields = buf.getFields();
    String[] fieldValues = (String[])fields.toArray(new String[0]);
    
    for (int i=0; i++; i<fieldValues.length) {
        System.out.prinln("Value[" + i + "]  : " + fieldValues[i]);
    

2.8. TuxFMLBeanGen

JAVA 사용자의 편의를 위해서 서비스에 있는 request/reply 메시지 타입이 FML일 경우 기본 JAVA Bean Class를 생성할 수 있는 유틸리티이다.

  • 사용법

    java -cp webt*.jar tmax.jtc.util.TuxFMLBeanGen -f 서비스정의파일[,서비스정의파일] 
    -m fml파일[,fml파일] -o 생성디렉터리 [-s 서비스[,서비스]] [-p 패키지이름]
  • 파라미터 설명

    파라미터설명
    -f서비스 정의 파일 리스트이다. (여러 파일을 함께 입력할 수 있다.)
    -m사용할 FML 파일이다.
    -o결과물인 Java 파일이 만들어질 디렉터리이다.
    -s서비스 정의 파일에 있는 서비스 중 Java 소스로 변환을 원하는 서비스 이름 리스트이다. (여러 개를 입력하는 경우 공백 없이 콤마(,)로 구분하여 나열한다.)
    -p생성된 파일이 속할 패키지 이름이다.
  • 서비스 정의 파일 형식

    *서비스이름
    *request
    FIELDNAME1
    FIELDNAME2
    
    *reply
    FIELDNAME3
    FIELDNAME4
    
    
    반복...

    한 파일에 여러 개의 서비스를 정의할 수 있다. request는 서비스로 요청하는 메시지 구성이며, reply에서 서비스에서 tpreturn에 의해 전달되어지는 메시지 구성이다.

  • 변환된 Java 파일

    사용자가 입력한 서비스 이름으로 request와 reply 두 개 파일을 생성한다.

    • 서비스이름+RequestBean.java

    • 서비스이름+ReplyBean.java

    각 필드값과 메소드는 다음과 같다.

    구분 설명
    필드값public type 필드명으로 필드값을 정의한다.
    getter/setter
    • public type get필드명

    • public set필드명(type)