2

私はそのようなステートレスローカルBeanを持っています:

@Stateless(name="GerencialFacadeBean", mappedName="GerencialFacade")
public class GerencialFacadeBean implements GerencialFacadeBeanLocal {

    @Resource(name="jdbc/adq_sistint", mappedName = "jdbc/adq_sistint")
    private DataSource dataSource;
.. }

したがって、この Bean を使用すると、次の例外が発生しました。

Caused by: com.bea.core.repackaged.springframework.beans.factory.BeanCreationException: Dependency injection failure: can't find the bean definition about class interface javax.sql.DataSource; nested exception is com.bea.core.repackaged.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [javax.sql.DataSource] is defined: No beans of type javax.sql.DataSource; owner=com.bea.core.repackaged.springframework.context.support.GenericApplicationContext@5d225fc1: display name [com.bea.core.repackaged.springframework.context.support.GenericApplicationContext@5d225fc1]; startup date [Mon Oct 15 16:30:12 BRT 2012]; parent: com.bea.core.repackaged.springframework.context.support.GenericApplicationContext@885e019
    at com.oracle.pitchfork.inject.Jsr250Metadata.applyInjections(Jsr250Metadata.java:241)
    at com.oracle.pitchfork.inject.Jsr250Metadata.inject(Jsr250Metadata.java:223)
    at com.oracle.pitchfork.inject.Jsr250Metadata.injectAndPostConstruct(Jsr250Metadata.java:253)
    at com.oracle.pitchfork.inject.Jsr250MetadataBeanPostProcessor.postProcessAfterInstantiation(Jsr250MetadataBeanPostProcessor.java:40)
    at com.bea.core.repackaged.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:957)
    at com.bea.core.repackaged.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:470)
    ... 66 more
Caused by: com.bea.core.repackaged.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [javax.sql.DataSource] is defined: No beans of type javax.sql.DataSource; owner=com.bea.core.repackaged.springframework.context.support.GenericApplicationContext@5d225fc1: display name [com.bea.core.repackaged.springframework.context.support.GenericApplicationContext@5d225fc1]; startup date [Mon Oct 15 16:30:12 BRT 2012]; parent: com.bea.core.repackaged.springframework.context.support.GenericApplicationContext@885e019
    at com.oracle.pitchfork.inject.Jsr250Metadata.getUniqueInstanceOfType(Jsr250Metadata.java:304)
    at com.oracle.pitchfork.inject.Jsr250Metadata.resolveByType(Jsr250Metadata.java:298)
    at com.oracle.pitchfork.inject.Jsr250Metadata.resolve(Jsr250Metadata.java:285)
    at com.oracle.pitchfork.inject.Jsr250Metadata.applyInjections(Jsr250Metadata.java:235) 

重要:

次のように、(同じ EAR 内の) Web サービスからこの EJB を使用します。

.. class MyWebService.. {
 @EJB(name="GerencialFacadeBean", mappedName="GerencialFacade")
 private GerencialFacadeBeanLocal gerencialBean;

}

そして、Web サービスのクラスでデータソースを取得しようとすると、正常に動作します。

編集:

別の考慮事項: REMOTE インターフェイスを使用すると機能します。しかし、ローカルインターフェースで使いたいです。

私は Weblogic 10.3.5 を使用しています。私のデータソースは作成され、他のアプリケーション (JNDI によって直接取得) で正常に動作します。

4

0 に答える 0