Thursday, June 21, 2007

Spring ile Remote Ejb erişimi

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>

1 comment:

fatihk said...

Eyvallah Kemal baba, faidelendik.