java 객체에서 json 객체로 변환시에는 json-lib 이라는 오픈소스를 이용한다.

- 링크 : http://json-lib.sourceforge.net/

( json-lib 에서 array 를 변환시 EZMorph 라이브러리가 필요하다.

  링크 : http://ezmorph.sourceforge.net/   )




자바스크립트에서 객체를 json 객체로 변환시는 json.js 를 이용한다.

- 링크 : http://json.org/  ( 각 언어별 변한 라이브러리를 제공한다. )



%% 자바에서 json 객체로 변환시

        JSONObject jsonobject = JSONObject.fromObject( object );

        JSONArray jsonArray = JSONArray.fromObject( retlist );


%% 자바스크립트에서 json 스트링으로 변환시 ( json.js 를 include )

        object.toJSONString();



**** json-lib 에서 JSONObject.fromObject() 변환시 object 가 숫자계열, boolean 인 경우 아무 값도 나오지 않는 경우가 있다. ****

크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
author image
Posted by Mr.용

토드및 골든의 사용 불가로 인해 새로운 대체인 sql developer 이 떠오르게 되었다


이놈은 오라클에서 만든 만큼 오라클은 안정적으로 접속을 할수 있는 가운데

현제 진행하고 있는 프로젝트인  ms-sql 서버에는 붙을수 없을까 하던참에

이놈이 제공을 해준다...


먼저 ms-sql 접속을 위한 사전 준비를 해야한다.


http://jtds.sourceforge.net/    <- 이곳에서 jtds 드라이버를 다운받아야 한다 .


다른 받은 jar 를 설정창  DataBase - Third Party JDBC Drivers 에 가서 해당 jar 를 등록하고


세로운 커넥터를 생성하면 잘 붙는당....


 오라클 기술문서...( 읽어보면 더 쉽게 알수 있음)


http://www.oracle.com/technology/global/kr/tech/migration/workbench/index_sqldev_omwb.html


그럼 이제 mssql 쿼리 분석기 , DTS 하곤 안녕인가...흠

출처 oracle sql-developer |작성자 지앤

크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
author image
Posted by Mr.용
1. 전체 구조 분석/설계
2. 클래스,패키지 명명 및 규칙 정의
3. 공통적으로 사용되는 부분에 대한 정의 및 협의
4. struts-config.xml 정의 및 분리
크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
author image
Posted by Mr.용
현재.. MSSQL 2005와 WebLogic9.2 에 Java 1.5를 사용하고 있습니다.

WebLogic9.2를 퍼플리싱하게되면 다음과 같은 에러가 떨어지며..

JDBC가 끊어지는 현상이 발생하고 있습니다.

조언 부탁드립니다..

에러는 다음과 같습니다. =======================================================

javax.naming.LinkException:  [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'jdbc.rpms' didn't find subcontext 'jdbc'. Resolved '' [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'jdbc.rpms' didn't find subcontext 'jdbc'. Resolved '']; remaining name 'jdbc/rpms']; Link Remaining Name: 'jdbc/rpms'
 at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:103)
 at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:884)
 at weblogic.jndi.internal.ApplicationNamingNode.resolveObject(ApplicationNamingNode.java:174)
 at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.java:856)
 at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:209)
 at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:130)
 at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:214)
 at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:130)
 at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:269)
 at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:362)
 at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)
 at com.nexzone.common.dao.TransactionDAO.initialize(TransactionDAO.java:116)
 at com.nexzone.common.dao.TransactionDAO.<init>(TransactionDAO.java:38)
 at com.nexzone.user.UserBO.getUser(UserBO.java:63)
 at com.nexzone.user.UserAction.doLogin(UserAction.java:100)
 at com.nexzone.common.filter.SessionFilter.doFilter(SessionFilter.java:53)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
 at com.nexzone.common.filter.EncodingFilter.doFilter(EncodingFilter.java:54)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
 at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3229)
 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
 at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002)
 at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908)
 at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362)
 at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
 at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: javax.naming.NameNotFoundException: While trying to lookup 'jdbc.rpms' didn't find subcontext 'jdbc'. Resolved '' [Root exception is javax.naming.NameNotFoundException: While trying to lookup 'jdbc.rpms' didn't find subcontext 'jdbc'. Resolved '']; remaining name 'jdbc/rpms'
 at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:211)
 at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:338)
 at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252)
 at weblogic.jndi.internal.ServerNamingNode_922_WLStub.lookup(Unknown Source)
 at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:374)
 at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:362)
 at javax.naming.InitialContext.lookup(InitialContext.java:351)
 at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingManager.java:101)
 ... 26 more
Caused by: javax.naming.NameNotFoundException: While trying to lookup 'jdbc.rpms' didn't find subcontext 'jdbc'. Resolved ''
 at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
 at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:247)
 at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:171)
 at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
 at weblogic.jndi.internal.RootNamingNode_WLSkel.invoke(Unknown Source)
 at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:550)
 at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:224)
 at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:440)
 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
 at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:436)
 at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:58)
 at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:975)
 ... 2 more





============================================================================================================================
위 현상은 BPM 설정시..
System.setProperty("java.naming.factory.initial","weblogic.jndi.WLInitialContextFactory");
System.setProperty("java.naming.provider.url", "t3://" + WL_SERVER+ ":" + WL_PORT);

이라고 설정하는 부분이 있었는데 이부분 때문에 발생하는 현상이였습니다.


이 부분을 다음과 같이 설정을 바꾸었습니다.

주석 처리를 하고... \bea\user_projects\domains\pms_domain\bin\ 폴더에 존재하는
setDomainEnv.cmd(.sh) 258라인에 다음 구문을 추가합니다.

-Dfuego.j2ee.initialctx.file=파일위치/ALBPMJNDI.properties


그리고 위 파일을 생성합니다.

java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory

java.naming.provider.url=t3://160.60.1.129:7001


내용은 위와 같습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
author image
Posted by Mr.용

weblogic 9.2 start up class 등록하는 방법에 대해서 질문 드립니다.

 

기존까지는 weblogic.common.T3StartupDef 라는 클래스를 사용해서..

 

public class StartupSample implements T3StartupDef {
  public void setServices(T3ServicesDef services) {}
  public String startup(String name, Hashtable args) throws Exception {
    // do startup actions here
    return "message to appear in log";
  }
}

 

위 예제와 같은 방식으로 사용하면 되었는데...

 

지금 확인해보니 이 클래스가 Deprecated 되었더군요..

 

혹시 weblogic9.2 버전에서 start-up class 를 등록하는 방법 아시는 분이 계시면 도움 부탁드립니다.

 

ps. Deprecated 되여서 다음 url에서 확인하라도 하는데...

     http://edocs.bea.com/wls/docs92/index.html 여기서 Starting and Stopping Servers: Quick Reference

      여기서 찾아보아도 제 눈에는 보이지 않아서^^; 도움 부탁드립니다.


=====================================================================


자답입니다^^;

 

다음과 같은 방식으로 해결했습니다.

 

우회적인 방법으로 Listener를 사용하는 방법이 있더군요...

 

다른 WAS에서도 linstener 등록을 하시면 사용가능할듯합니다.

 

ServletContextListener 를 상속 받아서

 

// 종료 될때..

public void contextDestroyed(ServletContextEvent arg0) {

}

 

// 시작 때...

public void contextInitialized(ServletContextEvent arg0) {

}

 

를 구현해주시면 간단하게 해결되겠습니다.

 

추가적으로 web.xml에 아래 내용을 추가해야됩니다.

<listener>
  <description>XXXX<description>
  <display-name>XXXX</display-name>
  <listener-class>XXXX.XXXX.XXXX.XXXX</listener-class>
 </listener>

 

추가되는 위치는 filter-mapping 다음에 오면 되겠습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
Writer profile
author image
Posted by Mr.용