Zdar,
potreboval bych pomoct s tim, jak se pripojit k databasi v JBoss. Mam default 
nastaveni database, dodavane s JBoss.
Mam AccountBean s kodem:

    private void makeConnection() {
        try {
            InitialContext ic = new InitialContext();
            DataSource ds = (DataSource) ic.lookup("DefaultDS");
            connection = ds.getConnection();
        } catch (NamingException e) {
            throw new EJBException("Can not find the database!", e);
        } catch (SQLException e) {
            throw new EJBException("Can not connect to the database", e);
        }
    }

pak mam ejb-jar.xml s kodem:

<ejb-jar> 
        <enterprise-beans>
                <entity>
                        <ejb-name>AccountEJB</ejb-name>
                        <home>cz.ixos.ejb.entity.account.AccountHome</home>
                        <remote>cz.ixos.ejb.entity.account.Account</remote>
                        
<ejb-class>cz.ixos.ejb.entity.account.AccountBean</ejb-class>
                        <persistence-type>Bean</persistence-type>
                        <prim-key-class>java.lang.String</prim-key-class>
                        <reentrant>false</reentrant>
                        <resource-ref>
                                <res-ref-name>DefaultDS</res-ref-name> 
                                <res-type>javax.sql.DataSource</res-type> 
                                <res-auth>Container</res-auth> 
                        </resource-ref>
                </entity>
        </enterprise-beans>
</ejb-jar>

a jboss.xml:

<jboss>
    <enterprise-beans>
        <entity>
            <ejb-name>AccountEJB</ejb-name>
            <jndi-name>ejb/AccountHome</jndi-name>
            <resource-ref>
                <res-ref-name>DefaultDS</res-ref-name>
                <jndi-name></jndi-name> 
            </resource-ref>
         </entity>
    </enterprise-beans>
</jboss>

Kdyz vsak beana zavola makeConnection() dostanu:
14:39:25,646 ERROR [LogInterceptor] EJBException in method: public abstract 
cz.ixos.ejb.entity.account.Account 
cz.ixos.ejb.entity.account.AccountHome.create(java.lang.String,java.lang.String,java.lang.String,java.math.BigDecimal)
 throws java.rmi.RemoteException,javax.ejb.CreateException, causedBy:
javax.naming.NameNotFoundException: DefaultDS not bound
        at org.jnp.server.NamingServer.getBinding(NamingServer.java:491)
        at org.jnp.server.NamingServer.getBinding(NamingServer.java:499)
        at org.jnp.server.NamingServer.getObject(NamingServer.java:505)
        at org.jnp.server.NamingServer.lookup(NamingServer.java:278)


Co delam spatne? Uz nad tim dumam druhy den a nic me nepada..

Diky,
Lubos

Odpovedet emailem