Blackberry geliştirmede önceki versiyonları da desteklemek gerekirse Eclipse Help Menüsünden Install New Software diyerek aşağıdaki linki ekliyoruz:
http://www.blackberry.com/go/eclipseUpdate/3.6/java
Aşağıdaki ekrandaki gibi önceki versyionlar da listeleniyor ve yükleme tamamlandıktan sona bu versiyonlar için de geliştirme yapabiliriz.
Java'da JTA (Java Transaction API) ile transaction yapmak mümkün.
Hibernate'te şöyle yapılıyor:
Pseudocode:
method(){
try{
tranasction.begin();
islem();
tranasction.commit();
}catch(exception){
transction.rollback();
}
}
Spring ise AOP ile pattern vererek şu isimde olan bütün sınıfların içindeki şu methodları transactional yap diyebiliyoruz. Bu durumda Spring AOP ile sınıflara hiç dokunmadan transaction methodlarını ekliyor. Örnek bir konfigürasyon:
<aop:config>
<aop:pointcut id="txManager" expression="execution(* org.btdeneyim.mblog.service.*Service.*(..))"/>
<aop:advisor id="advPerf" pointcut-ref="txManager" advice-ref="performanceMonitorInterceptor" order="0"/>
<aop:advisor id="advTx" pointcut-ref="txManager" advice-ref="txAdvice" order="1"/>
</aop:config>
Java'da JVM'i ayağa kaldırırken çeşili parametreler verebiliyoruz. Mesela Tomcat'i çalışıracağınız zaman timezone vermek istereseniz catalina.bat veya Unix sistemler için catalina.sh dosyasında JAVA_OPTS parametrelerine şöyle İstanbul / Türkiye için şu parametreyi ekleyiniz:
-Duser.timezone=Europe/Istanbul
Tomcat'in maksimum adresleyeceği RAM'i şöyle verebilirisiniz:
-Xmx RAMMİKARI G veya m
Muharremtac.com'ıun bulunduğu sunucuda bu değer şöyle:
-Xmx6G
Yani bu sunucu Tomcat'i 6 GB'a kadar RAM kullanabilir. Sunucumuz 8 GB olduğundan sorun olmuyor ama ikinci bir Tomcat Instance açmak istesem yüksek RAM taleplerinde sorun çıkabilir.
Spring MVC 3 ile hiç request nesnesine bakmadan doğrudan obje gönderip almak mümkün. Örnek:
@RequestMapping(value = "/login")
@ResponseBody
public User user(@RequestBody User user) {
işlemler...
return user;
}
Fakat bu metoda düşecek talebin marshalling olarak ne tipte olacağını Spring servlet contexte söylemek gerekiyor. Mesela burada JSON ile veri göndereceksek GSON veya Jackson message converter ayarlaması yapmamız lazım:
Örnek:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
</list>
</property>
</bean>
jQuery Mobile'da bazı pluginlerde sayfa yüklendiğinde sorun yaşayabilirsiniz. Mesela
mobiscroll ile ben bu sorunu yaşadım. Çözüm şöyle:
<div data-role="page"> içinde live diye bir method yapıp scroller yüklemesini orada yapıyoruz.
Örnek:
<div data-role="page">
<script type="text/javascript">
$('[data-role=page]').live('pageshow', function () {
$('#expireDate').scroller({ dateFormat: 'dd/mm/yyyy' ,dateOrder : 'ddmmyyyy' });
});
</script>