PessoALL, seguinte:
estou usando EJB Lite para uma app jse; até então as chamadas dos componentes EJB funcionam perfeitamente; o problema só aparece quando tentei fazer a conexão via jta com o banco.
Vejam abaixo:
[code]@Stateless
@DataSourceDefinition(name=“java:app/jdbc/estudo”,
databaseName=“estudo”,
password=“123456”,
user=“postgres”,
className=“org.postgresql.Driver”,
portNumber=5432,
serverName=“localhost”)
public class DataSourceCustomBean {
@PersistenceContext(unitName="ExemploEJbPU")
private EntityManager em;[/code]
Este dataSource é quem disponibiliza o data-source-name para que possa referenciar no persistence.xml, que ficou configurado do seguinte modo:
[code]<?xml version="1.0" encoding="UTF-8"?>
java:app/jdbc/estudo
<properties>
<property name="eclipselink.ddl-generation" value="update"/>
</properties>
[/code]
A chamada a este componente é feita do seguinte modo:
[code]EJBContainer container = EJBContainer.createEJBContainer();
InitialContext context = (InitialContext) container.getContext();
DataSourceCustom dataSource = (DataSourceCustom) context.lookup("java:global/classes/DataSourceCustomBean");
[/code]
Assim que tento rodar a aplicação, me é retornado o seguinte stack, no momento que ele vai criar o EJBContainer:
SEVERE: Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method
java.lang.RuntimeException: javax.naming.NamingException: Lookup failed for 'java:app/jdbc/estudo' in SerialContext [Root exception is javax.naming.NamingException: Invocation exception: Got null ComponentInvocation ]
at org.glassfish.persistence.jpa.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:111)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:130)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:96)
at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:121)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:644)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:296)
at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:214)
at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:144)
at org.glassfish.ejb.embedded.EJBContainerImpl.deploy(EJBContainerImpl.java:128)
at org.glassfish.ejb.embedded.EJBContainerProviderImpl.createEJBContainer(EJBContainerProviderImpl.java:120)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:102)
at javax.ejb.embeddable.EJBContainer.createEJBContainer(EJBContainer.java:78)
at exemploejb.Main.main(Main.java:32)
Aguardo sugestões/soluções.