1

Enviornment - Application Server-Wildfly-9.0.2, EJB 3.0 In stateless session bean, Jdbc connection has been created but the deployment of jar has been failed with following error and same jar was deployed successfully in JBOSS 5.x.

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 CODE

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");
        }
    }
}
}
Kamal Vijay
  • 47
  • 1
  • 13
  • Why do you annotate the data source with `@EJB`? – assylias Mar 30 '16 at 09:08
  • Post your `persistence-unit`,`provider` & `jta-data-source` from `persistence.xml` – Sarz Mar 30 '16 at 09:10
  • After removing @EJB annotation, Jar was deployed successfully at wildfly,but the previous jars(with @EJB) was deployed succefully at jboss 5.x, Why this was not working with wildfly? Can u direct me to link? – Kamal Vijay Mar 30 '16 at 11:44

1 Answers1

2

A DataSource is a resource, but usually not an EJB.

Just remove the @EJB annotation, it does not make sense in this context.

Harald Wellmann
  • 12,615
  • 4
  • 41
  • 63