Aller au contenu
View in the app

A better way to browse. Learn more.

Next

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[JEE] Spring-EJB

Featured Replies

Posté(e)

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).

Posté(e)

Salut à toi !

Je suis pas un grand connaisseur de Spring, mais au vu du message d'erreur, est-ce que ta classe LocalStatelessSessionProxyFactoryBean implémente ITestService ?

Posté(e)
  • Auteur

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

Archivé

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.