JBPM Admin Console III

Oluşturulan iş akışı programatik olarak, GPD vasıtası ile veya admin-console üzerinden deploy edilebilir. Programatik olarak deploy etmek için ProcessDefinition sınıfının sağladığı parseParZipInputStream ve parseXmlInputStream metodlarından yararlanılabilir. parseParZipInputStrean metodunu kullanmak için iş akışının ilgili tüm dosyaları bir arşiv dosyasına eklenmelidir. PAR, “process archieve” anlamına gelmektedir ve jar dosyalarına benzemektedir. Aşağıda GPD’nin sağladığı deployment view’ı görülmektedir. “Deployment […]

Read More →
MockFactoryBean

Diyelim ki Spring application context dosyalarından birini yükleyerek entegrasyon birim testi gerçekleştirmek istiyorsunuz. Ancak yüklediğiniz application context içerisindeki bean tanımlarından birisi başka bir application context içinde tanımlı bir bean’a ihtiyaç duyuyor, bu bean’da diğer bir application context dosyasındaki başka bir bean’a ihyiyaç duyuyor ve bu böyle gidiyor… Anlayacağınız entegrasyon birim testi yapacağım derken neredeyse bütün […]

Read More →
Moving FilterInvocation Definitions out of XML Files in Acegi

SpringSource has recently announced that they renamed Acegi Security as Spring Security, and are preparing for a major release which will be called as 2.0. Actually its first milestone release is already available for download. According to Ben Alex, there are various enhancements to bean configurations and new features introduced such as hierarchical roles etc. […]

Read More →
JBPM Admin Console II

JBPM’in JPA ile entegre edilmesi, Spring WebFlow ile birlikte kullanılması hakkında yayımladığım blog yazılarından sonra sık sık JBPM ile ilgili sorular alıyorum. Bu soruların bir kısmı genel olarak JBPM’in tercih edilmesi, diğer bir kısmı ise JBPM’in JSF gibi UI tekonolojileri ile nasıl kullanılabileceği hakkında oluyor. Aslında Spring WebFlow entegrasyonunu anlattığım blog yazısı UI entegrasyonu ile […]

Read More →
Mockito ile Null Object

Dün bir iş arkadaşımla bir monitoring kabiliyeti üzerinde çalışırken, kendisinin “Null Object” örüntüsünü kullandığını gördüm. Hepimizin bildiği üzere Null Object örüntüsü bizim kod içerisinde null referans ile karşılaşabilecek kısımların öncelikle null kontrolü yapma gereksinimini ortadan kaldırmaya çalışıyor. Herhangi bir metod null döndürmek yerine return tipini implement eden veya ondan türeyen, ancak içerisinde herhangi bir davranış […]

Read More →
How to Solve DTD Validation Problem When Parsing XML Files

I think many people, you can also count on me, think that, in order to prevent getting exceptions when DTD specified in XML file to be parsed is unaccessible, setting validation feature of an XML parser to false is the way to go. Unfortunately, it is simply wrong! Actually, the fact that we don’t request […]

Read More →
iPhone Ne Kadar Güvenli?

iPhone Ne Kadar Güvenli? Geçenlerde Ankara ve İstanbul’da düzenlenen bilgi güvenliği seminerlerine katıldım, konuşmacılar bilişim dünyasının değişik alanlarındaki güvenlik problemlerine değinen sunumlar yaptılar. Bunlardan birisi de iPhone’ların hacklenmesi, cep telefonu konuşmalarının, mesajlaşmaların takibi, hatta iPhone ile ortam dinlemelerinin bile yapılabilmesi hakkındaydı. iPhone piyasaya çıkmasından itibaren kendi başına bir fenomen oldu. Hemen hepimiz iPhone’u öncelikle bir […]

Read More →
Clean Up Your ThreadLocals

Forgetting to clean up ThreadLocal variables might really hurt you. Let’s see how. I have several integration tests with Spring WebFlow and JSF and in one of them I have an setUp method like that: @Before public void setUp() {      RequestContextHolder.setRequestContext(new MockRequestContext()); } I just create a MockRequestContext and put it into RequestContextHolder so […]

Read More →
Auto Scanning JPA Entities

Most of the time you will find JPA’s auto scan mechanism for annotated entities very limited. It only scans paths starting from parent of classpath:META-INF/ folder from which persistence.xml is loaded. If you want to use persistence.xml file located in a different place, for example in a jar, your annotated entities won’t be scanned because […]

Read More →