Como pego o nome do DataSource?

Olá pessoal,

Existe alguma forma de eu pegar o nome do DataSource que estou usando em uma aplicação Java Web?

O problema é que eu às vezes uso a base de produção e às vezes uso a de desenvolvimento, então gostaria de mostrar na página Web qual o nome do DataSource que estou usando no momento.

Sei que o valor é guardado no arquivo “persistence.xml”, sei também que quem pega esses dados é o EntityManager. Será que não existe então algo como “EntityManager.getDataSourceName()”?

Estou usando o Netbeans 6.9.1, usando JSF 2.0 e fazendo persistência com EclipseLink (JPA 2.0). Segue também o meu “persistence.xml”:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="Toz2PU" transaction-type="JTA">
    <jta-data-source>TozDS</jta-data-source>
    <properties/>
  </persistence-unit>
</persistence>

A linha que eu preciso é a “jta-data-source”. Preciso saber se é TozDS, ou TozDS_desenv.

Agradeço qualquer ajuda que possa me apontar na direção correta!

Não achei uma maneira genérica de fazer isso. Mas como você disse que está usando o EclipseLink 2.0, encontrei este post que fala sobre o que você procura:
http://kr.forums.oracle.com/forums/thread.jspa?threadID=711608 Pelo que entendi, o código que você quer é esta parte:

// Container mode
entityManagerDelegate = (EntityManagerImpl)entityManager.getDelegate();
uow = (UnitOfWorkImpl)((JpaEntityManager)entityManagerDelegate).getActiveSession().acquireUnitOfWork();
databaseLogin = (DatabaseLogin)uow.getProject().getDatasourceLogin();
connector = (JNDIConnector)databaseLogin.getConnector();
dataSource = connector.getDataSource();
System.out.println("dataSource: " + dataSource);
// continua aqui...

Também dei uma pesquisada na API do EclipseLink e por lá, tem algumas maneiras de se conseguir isso. Dá uma olhada e qualquer dúvida, estamos aqui:
http://www.eclipse.org/eclipselink/api/2.0/index.html