2013년 7월 30일 화요일

sqlplus 실행 로그 남기기 - script 실행 결과 로그 남기기


spo c:\temp\spo.log

@c:\sql\test.sql
 ...
 spo off


이렇게 하면 c:\temp 폴더에 spo.log 파일이 생기며, 그 안에 test.sql의  실행 결과가 있다.

2013년 7월 23일 화요일

Websphere Application Srever 8.5 에 JDK 7 설치 하기

참고 : http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=%2Fcom.ibm.websphere.installation.base.doc%2Fae%2Ftins_installation_jdk7.html

IBM Installation Manager를 통해서 설치 한다.
  1. 저장소에 아래 URL을 추가 한다.  
    http://www.ibm.com/software/repositorymanager/com.ibm.websphere.IBMJAVA.v70 
  2. 설치를 선택한다.
  3. 기존패키지를 WAS 8.5 선택, 해당 SDK 버전을 설치 한다. 
  4. managesdk를 이용하여 sdk 버전을 변경 한다. 
> managesdk -listAvailable
CWSDK1003I: 사용 가능한 SDK:
CWSDK1005I: SDK 이름: 1.6_64
CWSDK1005I: SDK 이름: 1.7_64


> managesdk  -enableProfileAll -sdkName 1.7_64
CWSDK1017I: AppSrv01 프로파일에서 이제 SDK 1.7_64을(를) 사용할 수 있습니다.
CWSDK1017I:
AppSrv02 프로파일에서 이제 SDK 1.7_64을(를) 사용할 수 있습니다.
CWSDK1001I: 요청된 managesdk 태스크를 수행했습니다.


※ WAS 시작로그에 아래처럼 Java version이 1.7.0으로 나오면 성공 !!!

************ Start Display Current Environment ************
WebSphere [IBMJAVA7 7.0.4.1 gm1318.03]Platform 8.5.5.0 [BASE 8.5.5.0 gm1319.01] running with process name kr900963Node02Cell\kr900963Node02\server1 and process id 36744
Host Operating System is Windows 7, version 6.1
Java version = 1.7.0, Java Compiler = j9jit26, Java VM name = IBM J9 VM

2013년 4월 19일 금요일

WebSphere 서버이름 가져오기

jar : WebSphere/AppServer/plugins/com.ibm.ws.runtime.jar

class : com.ibm.websphere.runtime.ServerName

api

ServerName.getFullName() - cell , node 이름이 포함된 전체 이름
ServerName.getDisplayName() - cell , node 이름은 제외된 서버 이름
ServerName.getjsabpref() - z/WAS 인 경우 servant ID ( job id )

2012년 8월 10일 금요일

Eclipse 4.2에 RTC 4.0 설치 하기

RTC 4.0은 eclipse 3.x 를 기반으로 하기 때문에 IBM install manager로는 설치 되지 않는다.

참조 :
http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/topic/com.ibm.jazz.install.doc/topics/t_client_installation_p2.html


  1. p2 설치를 위해 RTC의 p2 설치 zip 파일을 다운 받는다. 
  2. eclipse의 help -> Install New Software 
  3. Add
  4. Archive 선택. p2 zip 파일을 지정 하고 설치 한다.

2012년 7월 27일 금요일

JDBC type 2 WAS Multiple Row Fetch 옵션 설정 - JDBC Tuning

http://www.ibm.com/developerworks/data/library/techarticle/dm-0909rowsetdb2zos/index.html

WAS에서 사용하는 DB어플리케이션은 JDBC를 사용한다. 그런데...

WAS의 Data source는 DB2 JDBC Driver에서 제공하는 클래스를 어플리케이션에게 return하지 않고, wrapping된 클래스를 return하므로  아니기 때문에 sample code처럼 data source에 직접 설정할 수 없다. 그렇다고 WAS에 보여지는 기본 data source property 에도 사용할 수 있는 property가 없다.

그러므로 WAS의 data source 사용자 정의 특성에 추가 별도로 추가 해 주어야 한다.

데이터 소스 > my data source > 사용자 정의 특성

새로작성

    이름 : enableRowsetSupport
        값 : 1
     유형 : java.lang.Integer


    이름 : fetchSize
        값 : 100
     유형 : java.lang.Integer

fetchSize는 해당 데이터 소스를 사용하는 모든 sql에 적용되므로 개별적으로 적용을 하고자 할 경우엔 프로그램에서 setFetchSize()를 사용해서 statement에 지정해야 한다. 

※ enableRowsetSupport 를 disable 할 경우엔 값을 2를 사용한다.

2012년 7월 2일 월요일

우분투 12.04 업그레이드 후 network ( eth0 ) 이 동작 하지 않음.

배포판 업그레이드 후 리부팅 까지 완벽하게 되었으나
네트워크 연결이 되지 않음.

ifconfig로 확인해 보니 eth0 가 보이지 않았으며
dmesg 상으로는 정상적으로 인식한 걸로 보임.

/etc/network/interfaces 파일에 보니 loopback만 잡혀 있음.

auto lo
iface lo inet loopback
post-up /usr/bin/sendmail.pl

그래서 eth0를 추가함.

auto eth0
iface eth0 inet dhcp
그리고 networking을 재 시작 함.
/etc/init.d/networking stop
/etc/init.d/networking start
ifconfig로 eth0가 올라오고 ip가 할당된 것을 확인 함. ^^



2012년 6월 14일 목요일

JAX-RPC 와 JAX-WS 동시에 사용하기

동시에 여러개의 WebService를 호출하는 경우, 또한 서비스간 데이터를 주고 받아야 하는 겨우 Java로 메소드 호출 하듯이 A 서비스에서 가져온 결과를 B 서비스의 호출 인자로 넘겨 주고 싶은 경우가 있다.

아마도 BPM에서 backend의 여러 시스템에서 제공하는 서비스를 조합하고자 하는 경우 이런 일들이 발생할 텐데, IBM BPM 에서 테스트 해본 결과
  • JAX-RPC 는 package 구조로 xsd의 namespace를 생성한다. 
  • JAX-WS는 서비스의 package 구조로 xsd의 namespace를 생성한다. 
  • JAX-WS는 parameter를 wrapping한 데이터 구조를 더 생성한다. 
 namespace가 일치 하지 않으면 xsd로부터 만들어지는 Business Object는 호환이 되지 않는다.

따라서 JAX-WS로 생성할 parameter object에 annotation으로 namespace를 지정해 주면 동일한 namespace의 xsd를 생성할 수 있다.

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Customer", namespace = "http://bo.demo.bizhub.ibm.com")
public class Customer {

    long customerId;
...