users@glassfish.java.net

How to map Global JNDI name and ENC.

From: <glassfish_at_javadesktop.org>
Date: Wed, 24 Jun 2009 22:53:16 PDT

In Glassfish, I have created a global JNDI name :

JNDI name = jdbc/abcd .

And in my code, I tried to inject the resource with the same name:

@Resource(name="jdbc/abcd")
private static DataSource ds;

I assume that this will be interpreted as Environment Naming Context (ENC) name : java:comp/env/jdbc/abcd .

Fortunately I think Glassfish will automatically resolve ENC name to global JNDI name if a resource with the same Global JNDI name exists.

But what if I have :

@Resource (name="Some_Portable_JNDI_Name")
DataSource ds;

And still my global JNDI name on server is jdbc/abcd.

How to provide the mapping between ENC (java:comp/env/Some_Portable_JNDI_Name) and Global JNDI name (jdbc/abcd) in this case?

I think I have to provide this mapping in Glassfish specific deployment descriptor?
May I know waht is that and how to provide mapping?

I dont want to rely on mappedName property of @Resource annotation as that makes code difficult to port.

Can you please tell me which file I have to use to map these two?
[Message sent by forum member 'arunkumark007' (arunkumark007)]

http://forums.java.net/jive/thread.jspa?messageID=352842