No se puede acceder a la fuente de datos de forma remota a través de JBoss

Context

Tengo un JBoss donde he implementado con éxito una fuente de datosmydatasource-ds.xml. Su nombre JNDI esjava:mydatasourceDS. JBoss afirma que la fuente de datos se implementó con éxito. La agresión de la consola JMX también.

Problem

Quiero usar esta fuente de datos de una aplicación Java de cliente lanzada en una JVM separada. Pero recibo una excepción diciendo quejava:mydatasourceDS no pudo ser encontrado

java.lang.ClassCastException: javax.naming.Reference cannot be cast to javax.sql.DataSource

Detalles

Aquí está elpersistence.xml archivo

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
<persistence-unit name="mydatasource-db" transaction-type="JTA">
    <jta-data-source>java:mydatasourceDS</jta-data-source>
    <properties>
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />

        <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
        <property name="hibernate.hbm2ddl.auto" value="update" />
        <property name="hibernate.default_schema" value="rec" />

        <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
    </properties>
</persistence-unit>

Aquí está eljndi.properties archivo

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

Aquí está el classpath de la aplicación:

jndi.properties
log4j.properties
META-INF\persistence.xml
hibernate-jpa-2.0-api-1.0.0.Final.jar
jnp-client-5.0.3.GA.jar
jboss-common-core-2.2.14.GA.jar
jboss-logging-spi-2.1.0.GA.jar
hibernate-entitymanager-3.6.4.Final.jar
hibernate-core-3.6.4.Final.jar
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-3.2.0.Final.jar
jta-1.1.jar
javassist-3.12.0.GA.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
log4j-1.2.16.jar
xstream-1.4.1.jar
xmlpull-1.1.3.1.jar
xpp3_min-1.1.4c.jar

EDITA He encontrado la fuente del problema. Losjavax.sql.DataSource que estaba disponible para mi aplicación cliente NO era la que recibí de JNDI. El que recibo de JNDI es el JBossjavax.sql.DataSource. El mismo nombre PERO clases ligeramente diferentes, por lo tanto, la ClassCastException ...

A partir de este escrito, el JBoss javax.sql.DataSource se puede encontrar en este paquete: jboss-j2ee-4.2.3.GA.jar

Respuestas a la pregunta(4)

Su respuesta a la pregunta