Wednesday, June 16, 2010

Oracle Weblogic'i Regional Settings en-US Yapmadan Çalıştırmak

Oracle Weblogic Server Türkçe/Türkiye ortamında çalışmamak konusunda oldukça inatçı. Weblogic'i localda çalıştırırken Dil/ülke ayarları sebebiyle benim yaşadığım sıkıntıları yaşayan varsa aşağıdakilerin yardımı olabilir.

Regional Settings'i en-US yapmadan weblogic'i localda çalıştırmak için;
(localinizdeki weblogic'in adının base_domain olduğunu varsayıyorum)
D:\oracle\Middleware\user_projects\domains\base_domain\bin\setDomainEnv.cmd


Dosyasını açın orada JAVA_PROPERTIES tanımını bulun.
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME%


Bende bu şekilde. Sonra onun sonuna "-Duser.language=en -Duser.region=US" parametrelerini ekleyin; yani şu hale gelecek;
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% -Duser.language=en -Duser.region=US

Böylece java çalıştırılırken Windows'tan Regional Settings çekilmiyormuş.

Bir de Weblogic galiba default olarak 4 threade izin veriyor. Bu yüzden BEA-000402 (There are: 5 active sockets, but the maximum number of socket reader threads allowed by the configuration is: 4. You may want to alter your configuration.) hatası ile karşılaşılması olası. Bunu engellemek, yani max thread sayısını yükseltmek için ayar satırına aşağıdakileri ekleyin:
 -XX:NewSizeThreadIncrease=100 -Dweblogic.ThreadPoolPercentSocketReaders=50 -Dweblogic.ThreadPoolSize=100 -Dweblogic.SelfTuningThreadPoolSizeMin=100


NetBeans veya Eclipse gibi bir IDE kullanıyorsanız ve Weblogic'inizde debug yapmak istiyorsanız, aynı satırın sonuna aşağıdakileri ekleyin. JPDA ayarları için bunu yaparsanız IDE'niz Weblogic'inizle haberleşebilir. Sadece Weblogic için değil, herhangi bir Java EE uygulama sunucusuna bu ayarı ekleyebilirsiniz.
 -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n


Sunucu çıktı dosyalarını da değiştirmek için de, "WLS_REDIRECT_LOG" yazan satırı bulun, onun yukarısına aşağısına bir şeyler ekleyip şu hale getirin:
@REM START WEBLOGIC


echo starting weblogic with Java version:

%JAVA_HOME%\bin\java %JAVA_VM% -version
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
if "%WLS_REDIRECT_LOG%"=="" (
echo Starting WLS with line:
echo %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% >d:\var\log\weblogic\weblogic.%mydate%_%mytime%.out.txt 2>d:\var\log\weblogic\weblogic.%mydate%_%mytime%.err.txt
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% >d:\var\log\weblogic\weblogic.%mydate%_%mytime%.out.txt 2>d:\var\log\weblogic\weblogic.%mydate%_%mytime%.err.txt
) else (
echo Redirecting output from WLS window to %WLS_REDIRECT_LOG%
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% -Dweblogic.Name=%SERVER_NAME% -Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy %JAVA_OPTIONS% %PROXY_SETTINGS% %SERVER_CLASS% >"%WLS_REDIRECT_LOG%" 2>&1
)





NetBeans için benzeri sıkıntı yaşarsanız,
D:\Program Files\NetBeans 6.7.1\etc\netbeans.conf


Dosyasında netbeans_default_options satırını bulun ve sonuna " --locale en:US" ekleyin. Ek olarak oluşturulacak tüm yeni dosyaların utf-8 olarak tanımlanması için de " -J-Dfile.encoding=UTF-8" değerini ekleyebilirsiniz.
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true -J-Dfile.encoding=UTF-8 --locale en:US"






JBoss AS için benzeri sıkıntı yaşarsanız,
D:\jboss\bin\run.conf.bat


Dosyasında Java ayarlarının yapıldığı satırları bulup, araya bir yere şunu ekleyin;

set "JAVA_OPTS=%JAVA_OPTS% -Duser.language=en -Duser.region=US -Dfile.encoding=utf8"

Bunu yapmazsanız JBoss Admin Console "testplatform" diye açılıyor ve hiçbir şeyi değiştirmeye izin vermiyor. Ben bu testplatform sorununu bu şekilde çözdüm.

Umarım sizin de işinize yarar :3


No comments: