Showing posts with label netbeans. Show all posts
Showing posts with label netbeans. Show all posts

Monday, June 06, 2011

Web Application Developing on JBoss, Netbeans and Maven

Jsp sayfalarındaki değişimleri gerçek zamanlı olarak görebilmek için, JBoss'a uygulamaların açık (exploded) olarak deploy edilmesi gerekiyor. Ancak JBoss'un deploy dizini ile NetBeans'in derlediği Maven projesi /target/ dizini malesef aynı değil. JBoss üzerinde de, Weblogic'teki gibi "I will make the deployment accessible from the following location." opsiyonu olmadığından; bu sorunun üstesinden gelmek için Windows'un symbolic link yapısını kullanmak işe yarayabilir. Symbolic Link oluştururken dikkat edilecek husus, klasörün isminin .war şeklinde bitmesi. Böylece JBoss deploy dizinini tararken, bu "hede.war" ismindeki klasörün, açık durumda bulunan bir web application olduğunu anlıyor. Şöyle ki;

D:\>cd D:\jboss\server\default\deploy
D:\jboss\server\default\deploy>mklink /D deneme.war D:\svn\deneme-web-app\trunk\target\deneme

Böylece IDE'nizde 1 harfini değiştirdiğiniz Jsp sayfanız, anında target dizinine gönderiliyor, JBoss da bunu okuyarak değişimleri exploded deploy edilmiş war'unuza yansıtıyor. IDE üzerinde yaptığınız değişikliği zahmetsizce (tekrar clean & deploy, target dizinini aç, kopyala, JBoss deploy dizinine war at vs yapmadan), sadece tarayıcıdan F5 yaparak görmek çok güzel.

Niye İngilizce başlık yazdım bilmiyorum.

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