Kenan Sevindik

  • Ortak Tomcat Kurulumu Üzerinden Birden Fazla Instance Çalıştırmak

    By Kenan Sevindik
    Zaman zaman aynı makina üzerinde birden fazla Tomcat instance’ını çalıştırmak isteyebiliriz. Bunun için farklı Tomcat kurulumları yapmak kolay ve hızlı bir çözüm olabilir, ancak güncelleme ve projelerin paylaştıkları kütüphanelerin yönetimi açısından bakıldığında ortak bir Tomcat kurulumu üzerinden birden fazla Tomcat instance’ını çalıştırmak çok daha avantajlı olmaktadır. [Read More]
  • Java Dergisi Yazıları

    By Kenan Sevindik
    2010 yılında bir girişimle Özcan Acar tarafından hayata geçirilen Java Dergisi malesef kısa bir süre sonra yayın hayatına veda etmişti. O dönemde bende dergiye yazılarımla katkıda bulunuyordum. Derginin ilk iki sayısında yayımlanan ve 3. sayısı için hazırladığım fakat yayımlanma imkanı bulamayan yazılarımı buradan sizlerle tekrardan paylaşmak istedim. [Read More]
  • Hibernate mi, JPA mı?

    By Kenan Sevindik
    Hibernate ile ilgili eğitimlerimizde ve danışmanlık faaliyetlerimizde sıklıkla karşılaştığım sorulardan bazıları JPA mı kullanalım, Hibernate mi? Siz hangisini tercih ediyorsunuz? veya Niçin Hibernate/JPA? şeklinde oluyor. [Read More]
  • BeanFactoryLocator ve Spring ile Modüler Programlama

    By Kenan Sevindik
    Spring ile ilgili bir önceki yazımızda BeanFactoryLocator yardımı ile web uygulamalarında parent-child ApplicationContext hiyerarşisinin nasıl kurulabileceğini anlatmıştık. Bu yazımızda ise BeanFactoryLocator ile standalone bir uygulamanın birden fazla modüle ayrıştırılarak her bir modülün kendine ait bir ApplicationContext yönetmesi nasıl sağlanabilir, modüller arası bağımlılıklar nasıl yönetilebilir gibi sorulara cevap vermeye çalışacağız. [Read More]
  • EhCache'i Monitor Etmek

    By Kenan Sevindik
    EhCache özellikle Hibernate’deki ikincil önbellek kabiliyetini sağlamak için yaygın biçimde kullanılmaktadır. EhCache ile çalışırken “cache region” olarak adlandırılan bölgelerdeki aktiviteleri izlemek için değişik yollara başvurabiliriz. [Read More]
  • ThreadLocal Değişken Kullananlar, Aman Dikkat!

    By Kenan Sevindik
    ThreadLocal değişkenler hem Java hem de .NET ile geliştirilen kurumsal uygulamalarda zaman zaman karşımıza çıkıyor. ThreadLocal bir değişkenin değeri her Thread için farklı farklı olabilmektedir. Bu değişkenler, en çok uygulamanın katmanları arasında bağlamsal bir verinin (contextual data) metotlara parametre geçmeden taşınması için kullanılmaktadır; örneğin, transaction verisi veya güvenlikle ilgili kullanıcı... [Read More]
  • Sorting Your Beans With Spring OrderComparator

    By Kenan Sevindik
    Sometimes you may need to execute your collection of beans in a specified order. For example, in one of our projects, we have a collection of EventHandlers which operate when certain Events occur. For each event, there might be more than one EventHandler instance that needs to operate. Most of... [Read More]
  • Reassociated object has dirty collection reference

    By Kenan Sevindik
    This is something really weird Hibernate error you may come up in several situations. When I first googled around, I found some sites commenting the source of error as “trying to attach a transient entity with the session, or entity with a collection not in type of PersistentCollection etc.” However,... [Read More]
  • Allowing roles without defining them in intercept-url element

    By Kenan Sevindik
    Spring Security Framework has lots of authentication and authorization features, and almost all of them can be customized and extended according to your own needs. One of the common requests I come up with is that developers don’t want to explicitly define roles which have administrative privileges in intercept-url elements... [Read More]
  • Adding New Permission Types to Spring Security ACL

    By Kenan Sevindik
    Domain object level security is probably the least used feature of Spring Security compared to URL-based and method-level security features for enterprise Java web applications. However, when you have a security requirement something like “I want to restrict some operations which are allowed for some roles based on criteria that... [Read More]
  • Spring ve Event Tabanlı Mimariler

    By Kenan Sevindik
    Dört günlük Spring Application Framework Core Eğitimi‘mizde Spring hakkında pek çok konu üzerinde duruyoruz. Bu konulardan birisi de Spring container’ın event publish mekanizmasıdır. Spring Application Framework ile sistemimizi event tabanlı bir mimari üzerine bina etmek oldukça kolaydır. Spring container kurumsal uygulamalarda bir event bus olarak görev yapabilir. Uygulama içerisindeki farklı... [Read More]
  • If Your Eclipse Hangs...

    By Kenan Sevindik
    Recently, my STS installation started to freeze during “initializing java/spring tooling” step. As a first attempt, I suspended all validations from window>preferences>validation, however it didn’t help much. Whenever you experience a hang or freeze in your Eclipse installation, it is always a good habit to look inside of .metadata/.log file... [Read More]
  • Soyutlama Heryerde

    By Kenan Sevindik
    Java programlama dili eğitimlerinde java ve object oriented programlama konularını anlatmaya soyutlama kavramı ile başlıyorum. Neden mi? Çünkü soyutlama hemen her an gerçekleştirdiğimiz bir aktivite. Hayatın her yerinde ve her anında geçerli. İnsanoğlunun çevresindeki olayları ve olguları anlayabilmesi, problemleri çözebilmesi için bu olay ve olguların sadece belirli bir boyutuna odaklanması... [Read More]
  • Hibernate ve İkincil ÖnBellek Yazı Dizisi

    By Kenan Sevindik
    Hibernate ve Second Level Cache’in anlatıldığı bir yazı dizisini yayımladık. Yazılarda Hibernate’in çok sık kullanılmayan, kullanıldığında da zaman zaman saç baş yolduran bu özelliği hakkında dikkat edilmesi gereken noktalar, eşzamanlı erişim stratejilerinin davranışları, önbelleğin konfigürasyonu ve kullanımı hakkında işinize yarayabilecek konulara değindik. [Read More]
  • Hibernate İkincil Önbellek Eşzamanlı Erişim Stratejileri

    By Kenan Sevindik
    Hibernate ikincil önbellek yapısı, değişik eşzamanlı erişim stratejilerini desteklemektedir. Bunlar daha önce de belirttiğimiz gibi transaction isolation düzeylerine benzemektedir. Bu stratejilerin kısıtları azaldıkça performansları artar, ancak uygulamanın stale veri ile karşılaşma ihtimali de aynı şekilde fazlalaşır. Dört adet eşzamanlı erişim stratejisi vardır. [Read More]
  • Spring Application Framework'de Kullanılan Tasarım Örüntüleri

    By Kenan Sevindik
    Spring Application Framework’ü öğrenirken, sunduğu kabiliyetlerin hangi iyi pratikler ve design pattern’lar üzerine kurulu olduğunu bilmek şüphesiz framework’ü daha sağlıklı biçimde öğrenmenizi sağlayacaktır. İşte Spring Application Framework içerisinde kullanılan pattern’lar ve kullanıldıkları yerler: [Read More]
  • Spring AOP ile Performans Takibi

    By Kenan Sevindik
    Spring Application Framework’ün en sevdiğim özelliklerden birisi de aspect oriented programlamayı oldukça kolay yapılabilir bir hale getirmesidir. Spring, hem kendi AOP framework’üne sahiptir, hem de AspectJ ile sağlam bir entegrasyon sunar. Spring AOP kendi çözümüdür, tam bir AOP framework olma iddiasında değildir. Proxy tabanlı bir framework’dür. Sadece “method execution join... [Read More]