Java EEサブクラス化LocalStatelessSessionProxyFactoryBean

私は invoke メソッドをオーバーライドするために LocalStatelessSessionProxyFactoryBean をサブクラス化しようとしています。

クライアントはhttp invokerメカニズムを介してサービスにアクセスしています。クライアントにはクラスがないため、すべてのEJBExceptionをアンラップする必要があります。 私は春のAOPでもうまくいきませんでした。

クライアントに提出されたすべての例外はランタイムであり、@ApplicationExceptionですべての例外に注釈を付けることはできないという制約があります。 (このアノテーションが継承されていれば、それは私にとっては良い解決策でした)

私の春の設定は次のとおりです:


   
   
 


    
    
  

私の問題はjbossを起動するときです

[org.springframework.web.context.ContextLoader] Context initialization failed
org.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 [packag[email protected]133c8e5] of class [package.framework.server.spring.LocalStatelessSessionProxyFactoryBean]

jee:local-slsb タグを使用するか、 LocalStatelessSessionProxyFactoryBean クラスでBeanを宣言してもこのエラーは発生しません。

デバッグするときに、プロキシが実行されるべき場所ではなく、チェックが失敗します。

  at org.springframework.remoting.support.RemoteExporter.checkServiceInterface(RemoteExporter.java:136)
        at org.springframework.remoting.support.RemoteExporter.getProxyForService(RemoteExporter.java:155)
        at org.springframework.remoting.rmi.RemoteInvocationSerializingExporter.prepare(RemoteInvocationSerializingExporter.java:88)
        at org.springframework.remoting.rmi.RemoteInvocationSerializingExporter.afterPropertiesSet(RemoteInvocationSerializingExporter.java:81)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)

助けてくれてありがと

0
なぜあなたがこれをやっているのかをさらに明確にしてください。簡単な方法があるかもしれません。
追加された 著者 skaffman,

1 答え

私はSpringのHttpInvokerServiceExporterをサブクラス化してhandleRequest()のEJBExceptionをアンラップしました。

0
追加された