Aller au contenu

[JEE] Spring-EJB


uzak

Messages recommandés

Bonjour à tous.

Je sèche depuis pas mal de temps sur un petit problème, peut-être que vous pourrez me débloquer :

J'essaie d'appeler un ejb depuis un bean httpInvokerServiceExporter. Là je suis pas mal avec la config :

 <bean name="/TestService" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter" >	<property name="service" ref="testServiceEJB" />	<property name="serviceInterface"		value="package.shared.services.ITestService" /></bean> <bean name="testServiceEJB" parent="EJBProxy" > <property name="jndiName" value="framework/TestServiceImpl/local"/> <property name="businessInterface" value="package.shared.services.ITestService"/></bean>  <bean id="EJBProxy" abstract="true"class="package.framework.server.spring.LocalStatelessSessionProxyFactoryBean"/>

En fait, quand j'utilise le LocalStatelessSessionProxyFactoryBean de spring (dans EJBProxy ou directement comme classe du bean testServiceEJB), tout va bien.

Mais j'ai besoin d'un proxy factory maison. Et il a pas l'air de le prendre. Je vous montre la log spring :

[org.springframework.web.context.ContextLoader] Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name '/TestService' defined in ServletContext resource [/WEB-INF/service-servlet.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Service interface [package.framework.shared.services.ITestService] needs to be implemented by service [package .framework.server.spring.LocalStatelessSessionProxyFactoryBean@133c8e5] of class [package.framework.server.spring.LocalStatelessSessionProxyFactoryBean]

Pourtant, mon proxyfactory maison est juste une sous classe du précédent (j'ai même essayé avec une copie conforme et ça marche pas mieux...)

Je suis un noob en spring, et je me demande vraiment pourquoi il veut pas proxier comme je veux...

Je fais ça parce que j'ai besoin de décapsuler les EJBExceptions qui arrivent des EJB (que je ne peux éviter, puisque les ejb jettent des RuntimeException).

Lien vers le commentaire
Partager sur d’autres sites

Non, parce que si j'implémente l'interface, je dois implémenter les méthodes de l'interface. Ca va devenir le foutoir

Les gens devront pouvoir ajouter des services sans retoucher cette classe (ils n'auront que la version compilée pour tout dire).

J'ai plus l'impression que c'est le proxy spring qui se fait pas.

Quand je debug avec la classe LocalStatelessSessionProxyFactoryBean de spring je vois bien un Proxy$21, alors que j'ai ma classe quand ça plante

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...