Hello everyone,
I have an example of a simple app using the Data module of the deltaSpike
and following what it says in the link:
http://deltaspike.apache.org/documentation/jpa.html
but instead of using JPA I am using Data in TomCat .
my class manufactures this as in documentation:
public class JUGFactory {
@PersistenceContext
private EntityManager entityManager;
@Produces
@RequestScoped
public EntityManager createEntityManager()
{
return this.entityManager;
}
public void closeEntityManager(@Disposes EntityManager entityManager)
{
if (entityManager.isOpen())
{
entityManager.close();
}
}
}
but in this way when executing the action, he throws me an exception
(attached)
now it is left as follows:
@ApplicationScoped
public class JUGFactory {
@Produces
@RequestScoped
public EntityManager criarEntityManager() {
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("soujava-rio");
return emf.createEntityManager();
}
public void closeEntityManager(@Disposes EntityManager manager) {
manager.close();
}
}
it works normal .
thanks.
--
*Daniel Dias dos Santos*
Java Developer
SouJava & JCP Member
GitHub: https://github.com/Daniel-Dos
Linkedin: http://br.linkedin.com/in/danieldiassantos
Twitter: http://twitter.com/danieldiasjava
SEVERE: Servlet.service() for servlet [br.org.soujava.rio.app.App] in context
with path [/demo] threw exception
org.jboss.resteasy.spi.UnhandledException:
org.apache.deltaspike.data.api.QueryInvocationException: Failed calling
Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
org.apache.deltaspike.data.api.QueryInvocationException,message=Failed calling
Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
org.apache.deltaspike.data.api.QueryInvocationException,message=Failed calling
Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
java.lang.reflect.InvocationTargetException,message=null
at
org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:78)
at
org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:222)
at
org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:175)
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:418)
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
at
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:227)
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:812)
Caused by: org.apache.deltaspike.data.api.QueryInvocationException: Failed
calling Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
org.apache.deltaspike.data.api.QueryInvocationException,message=Failed calling
Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
org.apache.deltaspike.data.api.QueryInvocationException,message=Failed calling
Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
java.lang.reflect.InvocationTargetException,message=null
at
org.apache.deltaspike.data.impl.handler.QueryHandler.process(QueryHandler.java:163)
at
org.apache.deltaspike.data.impl.handler.QueryHandler.invoke(QueryHandler.java:130)
at
org.apache.deltaspike.data.impl.handler.QueryHandler$Proxy$_$$_WeldClientProxy.invoke(Unknown
Source)
at
org.apache.deltaspike.proxy.spi.invocation.DeltaSpikeProxyInvocationHandler.proceed(DeltaSpikeProxyInvocationHandler.java:97)
at
org.apache.deltaspike.proxy.spi.invocation.DeltaSpikeProxyInvocationHandler.invoke(DeltaSpikeProxyInvocationHandler.java:78)
at
org.apache.deltaspike.proxy.spi.invocation.DeltaSpikeProxyInvocationHandler$Proxy$_$$_WeldClientProxy.invoke(Unknown
Source)
at
br.org.soujava.rio.repository.JUGRepository$$DSPartialBeanProxy.findAll(Unknown
Source)
at
br.org.soujava.rio.controller.JUGController.getJUGS(JUGController.java:89)
at
br.org.soujava.rio.controller.JUGController$Proxy$_$$_WeldClientProxy.getJUGS(Unknown
Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
at
org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:294)
at
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:248)
at
org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:235)
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
... 27 more
Caused by: org.apache.deltaspike.data.api.QueryInvocationException: Failed
calling Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
org.apache.deltaspike.data.api.QueryInvocationException,message=Failed calling
Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
java.lang.reflect.InvocationTargetException,message=null
at
org.apache.deltaspike.data.impl.builder.DelegateQueryBuilder.execute(DelegateQueryBuilder.java:83)
at
org.apache.deltaspike.data.impl.builder.QueryBuilder.executeQuery(QueryBuilder.java:57)
at
org.apache.deltaspike.data.impl.builder.DelegateQueryBuilder$Proxy$_$$_WeldClientProxy.executeQuery(Unknown
Source)
at
org.apache.deltaspike.data.impl.tx.TransactionalQueryRunner.executeNonTransactional(TransactionalQueryRunner.java:62)
at
org.apache.deltaspike.data.impl.tx.TransactionalQueryRunner.executeQuery(TransactionalQueryRunner.java:57)
at
org.apache.deltaspike.data.impl.tx.TransactionalQueryRunner$Proxy$_$$_WeldClientProxy.executeQuery(Unknown
Source)
at
org.apache.deltaspike.data.impl.handler.QueryHandler.process(QueryHandler.java:151)
... 44 more
Caused by: org.apache.deltaspike.data.api.QueryInvocationException: Failed
calling Repository:
[Repository=br.org.soujava.rio.repository.JUGRepository,entity=br.org.soujava.rio.model.JUG,method=findAll,exception=class
java.lang.reflect.InvocationTargetException,message=null
at
org.apache.deltaspike.data.impl.builder.DelegateQueryBuilder.invoke(DelegateQueryBuilder.java:140)
at
org.apache.deltaspike.data.impl.builder.DelegateQueryBuilder.execute(DelegateQueryBuilder.java:62)
... 50 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.deltaspike.data.impl.builder.DelegateQueryBuilder.invoke(DelegateQueryBuilder.java:132)
... 51 more
Caused by: org.jboss.weld.exceptions.IllegalProductException: WELD-000052:
Cannot return null from a non-dependent producer method: Producer for Producer
Method [EntityManager] with qualifiers [@Any @Default] declared as
[[BackedAnnotatedMethod] @Produces @RequestScoped public
br.org.soujava.rio.repository.JUGFactory.createEntityManager()] declared on
Managed Bean [class br.org.soujava.rio.repository.JUGFactory] with qualifiers
[@Any @Default]
at
br.org.soujava.rio.repository.JUGFactory.createEntityManager(JUGFactory.java:52)
StackTrace:
at
org.jboss.weld.bean.AbstractProducerBean.checkReturnValue(AbstractProducerBean.java:136)
at
org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:181)
at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
at
org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:100)
at
org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.get(ContextualInstanceStrategy.java:177)
at
org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
at
org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99)
at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99)
at
org.jboss.weldx.persistence.EntityManager$803166145$Proxy$_$$_WeldClientProxy.createQuery(Unknown
Source)
at
org.apache.deltaspike.data.impl.handler.EntityRepositoryHandler.findAll(EntityRepositoryHandler.java:165)
... 56 more