2016-03-30 13 views
0

環境 - Application Server-Wildfly-9.0.2、EJB 3.0 ステートレスセッションBeanではJdbc接続が作成されましたが、 jarのデプロイメントはエラーを受けて失敗し、同じjarがJBOSS 5.xに正常にデプロイされました。wildfly-9.0.2.Finalの「javax.sql.DataSource」タイプのインタフェースを持つEJBが見つかりません

10:56:08,693 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."test.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."test.jar".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "test.jar" 
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163) 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEE0052: Failed to install component SlsDetailsBean 
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:109) 
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156) 
... 5 more 
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYEJB0406: No EJB found with interface of type 'javax.sql.DataSource' for binding todc.test.ejb.session.SlsDetailsBean/ds2 
at org.jboss.as.ejb3.deployment.processors.EjbInjectionSource.getResourceValue(EjbInjectionSource.java:90) 
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.processBindings(ComponentInstallProcessor.java:263) 
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.access$000(ComponentInstallProcessor.java:80) 
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor$1.handle(ComponentInstallProcessor.java:215) 
at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54) 
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deployComponent(ComponentInstallProcessor.java:211) 
at org.jboss.as.ee.component.deployers.ComponentInstallProcessor.deploy(ComponentInstallProcessor.java:101) 
... 6 more 

Javaコード

package todc.test.ejb.session; 

import java.io.Serializable; 
import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.Statement; 
import javax.annotation.Resource; 
import javax.ejb.EJB; 
import javax.ejb.Local; 
import javax.ejb.Stateless; 
import javax.sql.DataSource; 
import org.jboss.ejb3.annotation.LocalBinding; 

@Local(SlsDetailsLocal.class) 
@Stateless 
@LocalBinding(jndiBinding="test_SlsDetailsBean/local") 
public class SlsDetailsBean implements Serializable, SlsDetailsLocal 
{ 
private static final long serialVersionUID = 1L; 
Connection conn=null; 
@EJB 
@Resource(mappedName="java:/TESTDS") 
private DataSource ds2; 

public void getList() throws Exception 
{ 
    Statement st = null; 
    ResultSet rs = null; 

    try 
    { 
     conn = ds2.getConnection();    
     st = conn.createStatement(); 
    } 
    catch(Exception e){ 
     e.printStackTrace(); 
    } 
    finally{ 
     try { 
      if (rs != null) { 
       rs.close(); 
      } 
      if (st != null) { 
       st.close(); 
      } 
      if (conn != null) { 
       conn.close(); 
      } 
     } catch (Exception ex) { 
       ex.printStackTrace(); 
      System.out.println("[] Error Occured in Closing JDBC Objects"); 
     } 
    } 
} 
} 
+0

なぜデータソースに '@ EJB'を付けるのですか? – assylias

+0

'persistence.xml'から' persistence-unit'、 'provider'&' jta-data-source'を投稿します – Sarz

+0

@EJBアノテーションを削除した後、Jarはwildflyで正常にデプロイされましたが、@ JJB jboss 5.xでうまく展開されました。なぜこれがwildflyで動作していなかったのですか?私はリンクするように指示できますか? –

答えて

2

A DataSource EJBリソースであるが、通常はありません。

@EJB注釈を削除するだけで、この文脈で意味をなさない。

関連する問題