jboss-user
[Arriba] [Todas las Listas]

[jboss-Usuario] [JNDI y Nombrando] - la Referencia no puede ser lanzada

To: User development <jboss-user@xxxxxxxxxxxxxxx>
Subject: [jboss-Usuario] [JNDI y Nombrando] - la Referencia no puede ser lanzada a DataSource w/ standalone app cliente
From: Steve Maring <do-not-reply@xxxxxxxxx>
Date: Tue, 20 Sep 2011 08:35:24 -0400
Auto-submitted: yes
Delivery-date: Tue, 20 Sep 2011 08:37:03 -0400
Envelope-to: traductor@xxxxxxxxxxx
List-archive: <http://lists.jboss.org/pipermail/jboss-user>
List-help: <mailto:jboss-user-request@lists.jboss.org?subject=help>
List-id: The JBoss User main mailing list <jboss-user.lists.jboss.org>
List-post: <mailto:jboss-user@lists.jboss.org>
List-subscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=subscribe>
List-unsubscribe: <https://lists.jboss.org/mailman/listinfo/jboss-user>, <mailto:jboss-user-request@lists.jboss.org?subject=unsubscribe>
Reply-to: The JBoss User main mailing list <jboss-user@xxxxxxxxxxxxxxx>
Sender: jboss-user-bounces@xxxxxxxxxxxxxxx
Steve *Maring [*http://comunidad.*jboss.*org/Personas/*stevemaring] creó la Referencia

"de discusión no puede ser lanzada a *DataSource *w/ *standalone *app cliente"

para ver la discusión, visita: *http://comunidad.*jboss.*org/Mensaje/627473#627473

--------------------------------------------------------------
estoy probando a prueba de unidad algún JPA2 *DAO clases escribí utilizar *Maven.  La persistencia.*xml Parece esto:

<?*xml Versión="1.0" *encoding="UTF-8"?>
<Versión de persistencia="2.0"
    *xmlns="*http://*java.Sol.*com/*xml/*ns/Persistencia&*quot; *xmlns:*xsi="*http://*www.*w3.*org/2001/*XMLSchema-caso&*quot;
    *xsi:*schemaLocation="*http://*java.Sol.*com/*xml/*ns/Persistencia *http://*java.Sol.*com/*xml/*ns/Persistencia/de persistencia_2_0.*xsd&*quot;>

    <Persistencia-nombre de unidad="*lifesmartEntityManager" transacción-RECURSO="de tipo_proveedor">
        <LOCAL>*org.*hibernate.*ejb.*HibernatePersistence</Proveedor>
        <no-*jta-dato-fuente>**MyDS*</no-*jta-dato-nombre>
        <de propiedad>
            <de propiedades de fuente="*hibernate.Valor" de dialecto="*org.*hibernate.Dialecto.*Oracle10*gDialect" />
            <nombre de propiedad="*hibernate.Espectáculo-*sql" valor="persistencia" />
        </de propiedades>
    </ciertas-persistencia>

</de unidad>

he desplegado el *DataSource a un corriendo caso de AS 6.1.0.Final y confirmado que el global *JNDIView tiene:

+- **MyDS* (clase: *javax.*sql.*DataSource)

Cuándo intento correr mis pruebas, los cuales confían en *Hibernate *EntityManager a *lookup y asociar el *DataSource con la persistencia-unidad, consigo:


08:05:12,185 ERROR [*DatasourceConnectionProvider] no Podría encontrar *datasource: **MyDS*
**java.*lang.*ClassCastException: *javax.Nombrando.La Referencia no puede ser lanzada a *javax.*sql.*DataSource*
        En *org.*hibernate.Conexión.*DatasourceConnectionProvider.Configura(*DatasourceConnectionProvider.*java:75)
        en *org.*hibernate.Conexión.*ConnectionProviderFactory.*newConnectionProvider(*ConnectionProviderFactory.*java:143)
        en *org.*hibernate.*ejb.*InjectionSettingsFactory.*createConnectionProvider(*InjectionSettingsFactory.*java:51)
        en *org.*hibernate.*cfg.*SettingsFactory.*buildSettings(*SettingsFactory.*java:91)
        en *org.*hibernate.*cfg.Configuración.*buildSettingsInternal(Configuración.*java:2833)
        en *org.*hibernate.*cfg.Configuración.*buildSettings(Configuración.*java:2829)
        en *org.*hibernate.*cfg.Configuración.*buildSessionFactory(Configuración.*java:1840)
        en *org.*hibernate.*ejb.*Ejb3Configuración.*buildEntityManagerFactory(*Ejb3Configuración.*java:902)
        en *org.*hibernate.*ejb.*HibernatePersistence.*createEntityManagerFactory(*HibernatePersistence.*java:57)
        en *javax.Persistencia.Persistencia.*createEntityManagerFactory(Persistencia.*java:48)


soy seguro que no es verdaderamente un nombrando problema, porque cuándo cambio el nombre a algo *bogus en la persistencia.*xml Y correr la prueba otra vez, el error es diferente:

08:25:34,525 ERROR [*DatasourceConnectionProvider] no Podría encontrar *datasource: **YourDS*
*javax.Nombrando.*NameNotFoundException: **YourDS* No ligado
        en *org.*jnp.*server.*NamingServer.*getBinding(*NamingServer.*java:771)


Algunos han sugerido que esto es realmente un *classpath el asunto y yo han empezado añadiendo *standalone cliente remoto *oriented *libs en un poco de una aproximación de escopeta.  Tan lejos, nada ha ayudado.  Mi prueba *classpath, en este punto, contiene estos artefactos declarados, y las dependencias declaradas en su *poms:

*slf4*j-*log4*j12
*testng
*jnp-cliente
*jboss-*remoting
*jbosssx-cliente
*jboss-seguridad-*spi
*hibernate-*validator
*jboss-*logging
*jboss-*ejb3-*vfs-*spi
*jboss-*ejb3-núcleo
*jboss-*kernel
*jboss-dependencia
*jboss-*classloading-*vfs
*jboss-*classloading
*jboss-*classloader
*jboss-servicio-obligatorio-núcleo
*jboss-*metadata-cliente
*jboss-transacción-*api_1.1_*spec
*jboss-*jmx
*jboss-integración
*jboss-*vfs
*jboss-reflejar
*jboss-común-núcleo
*jboss-*serialization
*hibernate-*jpa-2.0-*api
*hibernate-*entitymanager


soy, quizás, todavía perdiendo un artefacto?

-Steve *Maring
*Tampa, FL
--------------------------------------------------------------

Respuesta a este mensaje por ir a Comunidad
[*http://comunidad.*jboss.*org/Mensaje/627473#627473]

Empieza una discusión nueva en *JNDI y Nombrando en Comunidad
[*http://comunidad.*jboss.*org/Escoge-contenedor!Entrada.*jspa?*contentType=1&*containerType=14&contenedor=2083]

Steve Maring [http://community.jboss.org/people/stevemaring] created the discussion

"Reference cannot be cast to DataSource w/ standalone app client"

To view the discussion, visit: http://community.jboss.org/message/627473#627473

--------------------------------------------------------------
I am trying to unit test some JPA2 DAO classes I wrote using Maven.  The persistence.xml looks like this:

<?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="lifesmartEntityManager" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <non-jta-data-source>*MyDS*</non-jta-data-source>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
            <property name="hibernate.show-sql" value="true" />
        </properties>
    </persistence-unit>

</persistence>

I have deployed the DataSource to a running instance of AS 6.1.0.Final and confirmed that the global JNDIView has:

+- *MyDS* (class: javax.sql.DataSource)

When I try to run my tests, which rely on Hibernate EntityManager to lookup and associate the DataSource with the persistence-unit, I get:


08:05:12,185 ERROR [DatasourceConnectionProvider] Could not find datasource: *MyDS*
*java.lang.ClassCastException: javax.naming.Reference cannot be cast to javax.sql.DataSource*
        at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:75)
        at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:143)
        at org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:51)
        at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:91)
        at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2833)
        at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2829)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840)
        at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:902)
        at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)


I am certain that it is not truly a naming problem, because when I change the name to something bogus in the persistence.xml and run the test again, the error is different:

08:25:34,525 ERROR [DatasourceConnectionProvider] Could not find datasource: *YourDS*
javax.naming.NameNotFoundException: *YourDS* not bound
        at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)


Some have suggested this is really a classpath issue and I have started adding standalone remote client oriented libs in a bit of a shotgun approach.  So far, nothing has helped.  My test classpath, at this point, contains these declared artifacts, and the dependencies declared in their poms:

slf4j-log4j12
testng
jnp-client
jboss-remoting
jbosssx-client
jboss-security-spi
hibernate-validator
jboss-logging
jboss-ejb3-vfs-spi
jboss-ejb3-core
jboss-kernel
jboss-dependency
jboss-classloading-vfs
jboss-classloading
jboss-classloader
jboss-service-binding-core
jboss-metadata-client
jboss-transaction-api_1.1_spec
jboss-jmx
jboss-integration
jboss-vfs
jboss-reflect
jboss-common-core
jboss-serialization
hibernate-jpa-2.0-api
hibernate-entitymanager


I am, perhaps, still missing an artifact?

-Steve Maring
Tampa, FL
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/627473#627473]

Start a new discussion in JNDI and Naming at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2083]

_______________________________________________
*jboss-Usuario *mailing lista
*jboss-user@xxxxxxxxxxxxxxx
*https://listas.*jboss.*org/*mailman/*listinfo/*jboss-Usuario
_______________________________________________
jboss-user mailing list
jboss-user@xxxxxxxxxxxxxxx
https://lists.jboss.org/mailman/listinfo/jboss-user
<Anterior por Tema] Tema Actual [Siguiente por Tema>