3 Stimmen

Verdrahtung einer UserServiceFactory der Google AppEngine mit Spring

Ich wollte den Google App Engine-Benutzerdienst in Spring verdrahten, indem ich zunächst eine UserServiceFactory-Bean erstellte und diese dann verwendete, um eine Instanz von UserService zu erhalten.

<bean id="googleUserServiceFactory"
      class="com.google.appengine.api.users.UserServiceFactory"></bean>

<bean id="googleUserService" 
      class="com.google.appengine.api.users.UserService" 
      factory-bean="googleUserServiceFactory" 
      factory-method="getUserService"></bean>

Ich bin mir ziemlich sicher, dass dies der richtige Weg ist, um eine Bohne zu verdrahten, die man von einer Fabrik bekommt, aber ich bekomme diesen Fehler:

Fehler beim Erstellen einer Bean mit dem Namen 'googleUserService', die in der ServletContext-Ressource [/WEB-INF/hardwire-service.xml] definiert ist: Keine passende Fabrik-Methode gefunden: Fabrik-Bean 'googleUserServiceFactory'; Fabrik-Methode 'getUserService'

Es heißt, dass die Fabrikmethode nicht gefunden werden kann. Kann es sein, dass sich der Name der Fabrikmethode geändert hat?

2voto

Jeune Punkte 3440

Ich habe dies zu arbeiten, indem Sie eine MethodInvokingFactoryBean stattdessen. Es beunruhigt mich immer noch zu denken, was falsch ist mit dem, was ich früher tat. Wie auch immer:

<bean id="googleUserService"
      class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">

       <property name="staticMethod"
                 value="com.google.appengine.api.users.
                            UserServiceFactory.getUserService">
       </property>
</bean>

1voto

Jan Willies Punkte 11

Können Sie auch dies tun:

@Configuration
public class AppConfig {

    @Bean
    public UserService userService() {
        return UserServiceFactory.getUserService();
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X