I think what "depryf" is trying to do is, define a resource-ref named
"app-specific/datasource" for the "java:/app/datasource" datasource
and then use java:comp/env/app-specific/datasource as the jndi-name for looking up the
datasource.
depryf,
Going by the exception stacktrace, i guess this is what is happening:
anonymous wrote :
| at $Proxy109.getDbColumnInfo(Unknown Source)
| at
com.imsweb.seerdms.shared.util.PropertyMappingsUtils.initialize(PropertyMappingsUtils.jav
| a:139)
| at
com.imsweb.seerdms.shared.util.PropertyMappingsUtils.initialize(PropertyMappingsUtils.jav
| a:111)
| at
com.imsweb.seerdms.web.shared.configuration.ConfigurationServlet.init(ConfigurationServle
| t.java:158)
| at javax.servlet.GenericServlet.init(GenericServlet.java:212)
anonymous wrote : at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
| at javax.naming.InitialContext.lookup(InitialContext.java:392)
| at
com.imsweb.seerdms.shared.api.ServiceLocator.lookup(ServiceLocator.java:631)
| at
com.imsweb.seerdms.shared.api.ServiceLocator.getConnection(ServiceLocator.java:597)
| at
com.imsweb.seerdms.app.shared.dao.hibernate.HibernateCommonDataDAO.getDbColumnInfo(Hibern
| ateCommonDataDAO.java:97)
You have a resource-ref defined in your web component, in which you have a startup
servlet. This startup servlet will then have access to the
java:comp/env/app-specific/datasource datasource. Based on the exception stacktrace, i can
see that in the init method of your startup servlet you are looking up an EJB and invoking
an method on the EJB. The EJB then (i guess through a DAO) tries to lookup the datasource
using java:comp/env/app-specific/datasource jndi-name. This is not going to work because,
the EJB has its own java:comp/env namespace. Since you have specified the resource-ref for
your web component and not the EJB component, the java:comp/env namespace will be empty
for the EJB and hence the lookup fails.
Just to verify this, you can lookup the datasource
"java:comp/env/app-specific/datasource" directly in the init method of the
startup servlet. I believe you should be able to successfully get the datasource.
If you want the datasource to be available at java:comp/env namespace of the EJB, then you
will have to define a resource-ref through the ejb-jar.xml and jboss.xml for the EJB.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4143648#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...