Daha önceden yazdığım ejblerin business interface'lerine doğrudan erişmemizi sağlayacak bir bean olup olmadığını araştırdım. Tabi ki bu genel bir ihtiyaç olduğu için spring içinde bunun çözümü varmış. "org.springframework.ejb.access.
SimpleRemoteStatelessSessionProxyFactoryBean" sınıfı ejb erişimi için gerekli bütün esnekliği sağlıyor. Olmasaydı ben de bunun gibi bir bean yazmak zorunda kalacaktım :).
Benim test için yaptığım konfigurasyonda aşağıdaki şekilde ayarladığımda diğer beanlerim business interface'ini doğrudan kullanmaya başlıyor.
<bean id="customerProductQuery"
class="org.springframework.ejb.access.
SimpleRemoteStatelessSessionProxyFactoryBean"
singleton="true">
<property name="jndiName" value="CustomerProductQueryEJB">
<property name="lookupHomeOnStartup" value="false">
<property name="homeInterface"
value="com.kemal.ejb.CustomerProductQueryHome"/>
<property name="businessInterface" value="com.kemal.ejb.CustomerProductQuery">
<property name="jndiTemplate">
<ref local="weblogicJndiTemplate">
</property>
</bean>
<bean id="weblogicJndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop>
<prop key="java.naming.provider.url">t3://localhost:7999</prop>
<prop key="java.naming.factory.url.pkgs">weblogic.jndi.factories</prop> </props>
</property>
</bean>
Showing posts with label ejb. Show all posts
Showing posts with label ejb. Show all posts
Thursday, June 21, 2007
Monday, June 18, 2007
Spring-weblogic entegrasyonu (devam)
Geçen gün karşılaştığım "ClasscastException"'ın asıl kaynağının "org.springframework.remoting.rmi.JndiRmiClientInterceptor" sınıfındaki
stub = PortableRemoteObject.narrow(stub, getServiceInterface());
satırı olduğunu gördüm. Benim konfigurasyonumda ejb'nin service sınıfı cast edilecek şekilde ayarlı olduğu için ClassCastException alıyormuşum.
<property name="serviceInterface" value="com.kemal.ejb.CustomerProductQuery"/>
Çünkü ejb lookup sırasında home sınıfını dönüyormuş. Konfigurasyonu aşağıdaki şekilde değiştirince sorun çözülmüş oldu.
<property name="serviceInterface" value="com.kemal.ejb.CustomerProductQueryHome">
Sonuçta weblogic spring entegrasyonu konusu halledilmiş oldu, fakat bu seferde servislerin içinde
CustomerProductQuery customerProductQuery = customerProductQueryHome.create();
şeklinde kullanmak gerekiyor. Bunun engellemenin bir yolu var mı bilmiyorum.
stub = PortableRemoteObject.narrow(stub, getServiceInterface());
satırı olduğunu gördüm. Benim konfigurasyonumda ejb'nin service sınıfı cast edilecek şekilde ayarlı olduğu için ClassCastException alıyormuşum.
<property name="serviceInterface" value="com.kemal.ejb.CustomerProductQuery"/>
Çünkü ejb lookup sırasında home sınıfını dönüyormuş. Konfigurasyonu aşağıdaki şekilde değiştirince sorun çözülmüş oldu.
<property name="serviceInterface" value="com.kemal.ejb.CustomerProductQueryHome">
Sonuçta weblogic spring entegrasyonu konusu halledilmiş oldu, fakat bu seferde servislerin içinde
CustomerProductQuery customerProductQuery = customerProductQueryHome.create();
şeklinde kullanmak gerekiyor. Bunun engellemenin bir yolu var mı bilmiyorum.
Saturday, June 16, 2007
Spring ve Weblogic entegrasyonu
Weblogic yeni öğrenmeye başladığım bir application server. Spring'i weblogic üzerinde ayağa kaldırmak sorun değil fakat weblogic üzerinde geliştirilmiş ejb'lerin spring tarafında kullanılabilmesi sorun olacağa benziyor.
Bu konuda güzel bir doküman buldum. Spring tarafında remote bean'lere ulaşmak için "org.springframework.remoting.rmi.JndiRmiProxyFactoryBean" proxy sınıfı yazılmış. Bu sınıf gerekli parametreleri ile verdiğinizde bağlanıp kullanabileceğini söylüyor.
Bean konfigurasyonu yaptığımda gerçekten bağlanmaya çalışıyor. Fakat "ClassCastException" alıyor. Aldığı bu hata konusunda biraz daha araştırma yapmam gerekecek.
Bu dokümanda ayrıca distributed-transaction,console support for spring beans,web services enablement,jmx konularında weblogic'e özel spring konfigurasyonlarının nasıl yapıldığından da bahsediyor.
Spring 1.2.x Integration with WebLogic Server
Kemal.
Bu konuda güzel bir doküman buldum. Spring tarafında remote bean'lere ulaşmak için "org.springframework.remoting.rmi.JndiRmiProxyFactoryBean" proxy sınıfı yazılmış. Bu sınıf gerekli parametreleri ile verdiğinizde bağlanıp kullanabileceğini söylüyor.
Bean konfigurasyonu yaptığımda
Bu dokümanda ayrıca distributed-transaction,console support for spring beans,web services enablement,jmx konularında weblogic'e özel spring konfigurasyonlarının nasıl yapıldığından da bahsediyor.
Spring 1.2.x Integration with WebLogic Server
Kemal.
Subscribe to:
Posts (Atom)