1
我創建了一個簡單的EJB3測試項目,代碼很簡單:幫助與EJB 3,WebLogic和春天
@Stateless
@Remote({ ISumaSimple.class })
public class SumaSimpleBean implements ISumaSimple {
/**
* Default constructor.
*/
public SumaSimpleBean() {
// TODO Auto-generated constructor stub
}
@Override
public int sumar(int a, int b) {
// TODO Auto-generated method stub
return a + b;
}
}
public interface ISumaSimple {
public int sumar(int a, int b);
}
好吧,我的客戶是一個獨立的彈簧aplication其配置爲:
<bean id="sumaSimpleServicio"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiEnvironment">
<props>
<prop key="java.naming.factory.initial">
org.apache.openejb.client.RemoteInitialContextFactory
</prop>
<prop key="java.naming.provider.url">
ejbd://localhost:4201
</prop>
</props>
</property>
<property name="jndiName" value="SumaSimpleBeanRemote" />
</bean>
<bean id="clienteService" class="qtx.cliente.simple.ClienteService">
<property name="sumaSimpleServicio" ref="sumaSimpleServicio"></property>
</bean>
所有工作順利,但後來我嘗試使用WebLogic部署10.3,只是改變這些值:
weblogic.jndi.WLInitialContextFactory
T3://本地主機:7010
在WebLogic JNDI樹我的EJB是下:SimpleEJB3SimpleEJB_jarSumaSimple3_ISumaSimple
當然,我加入wlclient.jar到我的春天客戶端的classpath。
部署進行得很完美,但我認爲我缺少weblogic案例中的一些東西,但是不知道。我的春天客戶拋出這個例外:
Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [qtx.ejb.simple._SumaSimple3_gwze0z_ISumaSimpleIntf_Stub] to required type [qtx.servicio.simple.ISumaSimple] for property 'sumaSimpleServicio'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [qtx.ejb.simple._SumaSimple3_gwze0z_ISumaSimpleIntf_Stub] to required type [qtx.servicio.simple.ISumaSimple] for property 'sumaSimpleServicio': no matching editors or conversion strategy found
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:391)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1249)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
... 14 more
Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [qtx.ejb.simple._SumaSimple3_gwze0z_ISumaSimpleIntf_Stub] to required type [qtx.servicio.simple.ISumaSimple] for property 'sumaSimpleServicio': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:219)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
... 18 more
任何幫助,將不勝感激。