0

Spring と JPA を使用している Wildfly で実行されている Web アプリケーションがあります。現在、アプリケーションのログイン モジュールをカスタム モジュールとして JBoss に移動しています。

コード スニペットは以下のとおりです。

マイログインモジュール

public class MyLoginModule extends AbstractServerLoginModule
{

private Principal caller;
private char[] credential;
private String[] roleList;

@Inject
@DaoQualifier
private Dao dao;    


@Override
public void initialize(Subject subject, CallbackHandler callbackHandler,
          Map sharedState, Map options) {
    super.initialize(subject, callbackHandler, sharedState, options);

    super.principalClassName = "com.myapp.login.LoginPrincipal";

}

 @Override   
 public boolean login() throws LoginException
 {


  logger.info("inside login "+dao);
  if (super.login())
  {
    ................
  }
  else
  {
      ............
   }
}

}

以下に示す DaoImpl クラス。

 public class DaoImpl implements Dao {
     @Inject
     private EntityManager em;

     //implementation methods
  }

Pom.xml の依存関係

  <dependencies>        
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.5</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>4.0.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.picketbox</groupId>
        <artifactId>picketbox</artifactId>
        <version>4.0.21.Beta1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.logging</groupId>
        <artifactId>jboss-logging</artifactId>
        <version>3.1.4.GA</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.1-api</artifactId>
        <scope>provided</scope>
    </dependency>        

ビーンズ.xml

<beans
   xmlns="http://xmlns.jcp.org/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
                  http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
    bean-discovery-mode="all">
</beans>

この jar が JBoss/modules にデプロイされ、サーバーが開始されると、dao オブジェクトは常に null になります。私のコードに欠けているものはありますか?

4

2 に答える 2