2012-08-09 1 views
3

나는 WLST과 자이 썬에 관한 몇 가지 질문을 가지고 대 :WLST 자이 썬 웹 로직 10.3.3

OS : 유닉스/리눅스

상황 : 자동
writeIniFile를 사용하여 만든 wlst-file을 포함 할 수 없습니다
1) 2) 캐시 메시지를 사용하지 않고 org.python.util.jython

정보 :
1)는 wlst.pywriteIniFile를 이용하여 생성 된 대화 형 java weblogic.WLST 세션
2) java org.python.util.jython을 사용하여 자이 썬을 시작할 때 메시지 sys-package-mgr: can't create package cache dir, '/opt/oracle/fmw/fmw11gR1PS2/wlserver_10.3/server/lib/weblogic.jar/cachedir/packages'이 표시됩니다.
3) 자주 사용되는 모듈의 위치는 알 수 없습니다. weblogic.WLST를 들어이 <WL-Home>/wlserver_10.3/common/wlst/modules

질문입니다 :
공통 모듈이 포함 자이 썬 배치해야 1)?
2) 자이 썬 캐시 위치를 변경하는 방법?
3) 다른 자이 썬 버전으로 업데이트 할 수 있습니까?

모든 도움을 환영합니다.

답변

1

1) 공통 모듈은 포함 된 자이 썬에 대해 어디에 배치해야합니까? 공용 모듈을 배치 할 수 있지만 테스트하지는 못했지만 클래스 경로에 있으면 jython의 새 패키지를 선택해야합니다.

2) 어떻게 자이 썬 캐시 위치를 변경합니까? 모든 사용자가 temp 디렉토리에 액세스 할 수 있어야합니다. WLSTTemp 폴더에서 패키지를 참조 용으로 캐싱하는/var/또는/tmp에 대한 사용 권한을 확인하십시오. Caching issue fix

3) 다른 jython 버전으로 업데이트 할 수 있습니까? 자이 썬으로 확장 가능하며 WLST에는 jython.jar가 포함되어있다. 다른 모든 자이 썬 모듈을 사용하려면 자이 썬을 설치하고 sys.path가 자이 썬 설치 디렉토리를 가리 키도록해야한다. 힌트를 사용할 수 있습니다 discussion thread

4

예, 당신은 다른 자이 썬을 사용할 수 있지만 지원되지 않으며 살기 위해 몇 가지 영향이 있습니다. 우리는 jython 2.7a2를 사용합니다.

다음은 jyton을 시작하는 데 사용하는 스크립트입니다. 그것은 캐시 위치를 변경하고 클래스 경로에 FKUTILS 디렉토리를 추가합니다

#!env sh 
# Script to run jython with wlst as a module 
# set up WL_HOME, the root directory of your WebLogic installation 
WL_HOME="/produkter/oracle/weblogic/wlserver" 
WLST_OFFLINE_LOG=/tmp/wlstblaj.$$.log 
WLST_CACHEDIR=~/.jythoncachedir 
FKUTILS="/program/fkuitls/" 
JYTHON="/program/jython" 

killed() { 
    echo "" 
    echo Cleaning up tempfile: $WLST_OFFLINE_LOG 
    rm -rf $WLST_OFFLINE_LOG 
    trap - 0 
} 


umask 027 
touch $WLST_OFFLINE_LOG 
chmod 777 $WLST_OFFLINE_LOG 
if [ ! -d $WLST_CACHEDIR ] ; then 
    mdkir -p $WLST_CACHEDIR 
fi 

trap killed 0 1 2 15 
# set up common environment 
. "${WL_HOME}/server/bin/setWLSEnv.sh" 2>&1 > /dev/null 

CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${FMWLAUNCH_CLASSPATH}${CLASSPATHSEP}${DERBY_CLASSPATH}${CLASSPATHSEP}${DERBY_TOOLS}${CLASSPATHSEP}${POINTBASE_CLASSPATH}${CLASSPATHSEP}${POINTBASE_TOOLS}:${FKUTILS}" 

#echo CLASSPATH=${CLASSPATH} 

JVM_ARGS="-classpath ${JYTHON}/jython.jar:${CLASSPATH} -Dpython.path=${CLASSPATH}:${HOME} ${WLST_PROPERTIES} ${JVM_D64} ${MEM_ARGS} ${CONFIG_JVM_ARGS} -Dpython.cachedir=$WLST_CACHEDIR -Dwlst.offline.log=$WLST_OFFLINE_LOG -Dweblogic.management.confirmKeyfileCreation=true -Djava.security.egd=file:///dev/urandom" 

eval '"${JAVA_HOME}/bin/java"' ${JVM_ARGS} org.python.util.jython '"[email protected]"' 

을 (우리가 우리 자신의 모듈을 저장하는 곳입니다) 그리고 해결 방법으로 당신은 writeInitfile에서 WLST 파일을 수정해야 (당신은 할 수있다 여전히 스택 트레이스를 얻을 수 있지만 작동합니다) 방금 자이 썬 최초의 스크립트를 시작할 수 후

from weblogic.management.scripting.utils import WLSTUtil 
import sys 

origPrompt = sys.ps1 
# Workaround start..  
try: 
    theInterpreter = WLSTUtil.ensureInterpreter() 
except: 
    pass 

theInterpreter = WLSTUtil.ensureInterpreter() 

# End workaround. 

WLSTUtil.ensureWLCtx(theInterpreter) 
execfile(WLSTUtil.getWLSTScriptPath()) 
execfile(WLSTUtil.getOfflineWLSTScriptPath()) 
exec(WLSTUtil.getOfflineWLSTScriptForModule()) 
execfile(WLSTUtil.getWLSTCommonModulePath()) 
theInterpreter = None 
sys.ps1 = origPrompt 
modules = WLSTUtil.getWLSTModules() 
for mods in modules: 
    execfile(mods.getAbsolutePath()) 
wlstPrompt = "false" 

을하고 WLST-파일을 가져옵니다.

예 :

Jython 2.7a2 (default:9c148a2, May 24 2012, 15:49:00) [Java 
HotSpot(TM) 64-Bit Server VM (Sun Microsystems Inc.)] on java1.6.0_34 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import fkwl as wl 
>>> wl.connect('user','password','t3://server') 
Connecting to t3://server with userid user ...