Bohuzel mi to nepomohlo...
Ted to vypada takto:
private void makeConnection() {
try {
InitialContext ic = new InitialContext();
DataSource ds = (DataSource) ic.lookup("myDefaultDS");
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>myDefaultDS</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>myDefaultDS</res-ref-name>
<jndi-name>DefaultDS</jndi-name>
</resource-ref>
</entity>
</enterprise-beans>
</jboss>
nebo
<jboss>
<enterprise-beans>
<entity>
<ejb-name>AccountEJB</ejb-name>
<jndi-name>ejb/AccountHome</jndi-name>
<resource-ref>
<res-ref-name>myDefaultDS</res-ref-name>
<jndi-name>java:/DefaultDS</jndi-name>
</resource-ref>
</entity>
</enterprise-beans>
</jboss>
ani jedno nefunguje..
Oboje:
javax.naming.NameNotFoundException: myDefaultDS not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:491)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:499)
Jsem uz zoufaly..
L.