MDM 시스템 문제 있는데 문제 원인 못찾고 있어서 긴급 지원 중. 몇 만 년전 써봤던 시스템이라 아무 기억도 안나서 별 뾰족한 수 못 찾고 있고 일단 데이타 인터페이스라도 수작업으로 하는거 좀 편하게 하려고 또 몇 천 년만에 groovy 스크립트 작성. groovy 에서 아주 초보적인 db 사용법과 http 콜 하는 기능 들어가있어서 샘플용으로 공유해봅니다 ㅎ
참고로 http 콜하는 기능은 groovy 기본 기능인 URL 대신 httpBuilder 란 라이브러리 사용했는데 코드 최상단에 보면 @Grab 으로 Maven Repository 에서 jar 내려 받아 사용하게 해놓았습니다.
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='1.7' )
import groovyx.net.http.HTTPBuilder
import groovy.sql.Sql
sql = Sql.newInstance("jdbc:oracle:thin:@....", "id", "pw", "oracle.jdbc.pool.OracleDataSource")
def sqlStr = '''
SELECT organization_id, inventory_item_id, msg_type_cd
FROM ...
'''
//http get url : http://www.abc.com/mdm/HjsMessageBrokerServlet?ModuleName=PIM&InterfaceType=MDM007-0001&TransactionStatus=U&TransactionId=103|560720
def html = null
def http = new HTTPBuilder("http://abc.com/mdm/HjsMessageBrokerServlet")
sql.eachRow(sqlStr) { row ->
println("${row.organization_id}|${row.inventory_item_id}")
html = http.get(
path : "/mdm/HjsMessageBrokerServlet",
query : [ ModuleName : "PIM",
InterfaceType : row.msg_type_cd,
TransactionStatus : "U",
TransactionId : row.organization_id + "|" + row.inventory_item_id ]
)
println html
}
'Slack 채널 정리' 카테고리의 다른 글
암달의 법칙(Amdahl's law) (0) | 2019.11.27 |
---|---|
forEach 의 콜백함수에 param 넘기는 예 (0) | 2019.11.27 |
js - 제목 붙이기 애매한 (0) | 2019.11.27 |
batch 스크립트에서 파일 탭으로 열기 (0) | 2019.11.27 |
js - 배열에 들어있는 Object Literal의 값으로 연산하는 함수 (0) | 2019.11.27 |