[jboss-user] [Installation, Configuration & DEPLOYMENT] - EntityManager Injection...
repkin
do-not-reply at jboss.com
Wed Jun 18 03:11:11 EDT 2008
I wanted the entitymanager have been injected by the container, I cant configure it. After a lot of trial, I decided to ask the question.
Here is the situation,
My ear file structure:
| surgeonfish.ear
| |----surgeonfish-ds.xml
| |----META-INF
| |----application.xml
| |----jboss-app.xml
| |----MANIFEST.MF
| |----surgeonfish.jar
| |----com.ao...
| |----META-INF
| |----persistence.xml
| |----MANIFEST.MF
| |----surgeonfish.war
| |----META-INF
| |----MANIFEST.MF
| |----WEB-INF
| |----classes
| |----lib
| |----web.xml
|
surgeonfish-ds.xml:
| <?xml version="1.0" encoding="UTF-8"?>
| <datasources>
| <local-tx-datasource>
| <jndi-name>time_reporting_data_source</jndi-name>
| <connection-url>jdbc:mysql://localhost:3306/timereporting</connection-url>
| <driver-class>com.mysql.jdbc.Driver</driver-class>
| <user-name>root</user-name>
| <password>test</password>
| <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
| <metadata>
| <type-mapping>mySQL</type-mapping>
| </metadata>
| </local-tx-datasource>
| </datasources>
|
application.xml
| <application>
| <display-name>Surgeonfish</display-name>
| <module>
| <web>
| <web-uri>surgeonfish.war</web-uri>
| <context-root>/surgeonfish</context-root>
| </web>
| </module>
| <module>
| <ejb>surgeonfish.jar</ejb>
| </module>
| </application>
|
jboss-app.xml:
| <jboss-app>
| <module>
| <service>surgeonfish-ds.xml</service>
| </module>
| <loader-repository>
| surgeonfish:archive=surgeonfish.ear
| </loader-repository>
| </jboss-app>
|
Here my test bean:
| package com.ao...;
|
|
| import javax.ejb.Local;
| import javax.ejb.Stateless;
| import javax.persistence.EntityManager;
| import javax.persistence.EntityManagerFactory;
| import javax.persistence.Persistence;
| import javax.persistence.PersistenceContext;
| import org.apache.commons.logging.Log;
| import org.apache.commons.logging.LogFactory;
|
| @Stateless
| @Local(value=PrStaffInterface.class)
| public class PrStaffHome {
|
| private static final Log log = LogFactory.getLog(PrStaffHome.class);
|
| @PersistenceContext(unitName="time_report_persistence_context")
| private EntityManager entityManager;
|
| public PrStaff findById(Integer id) {
| log.debug("getting PrStaff instance with id: " + id);
| try {
| /*
| EntityManagerFactory emf = Persistence.createEntityManagerFactory("time_report_persistence_context");
| EntityManager em = emf.createEntityManager();
| PrStaff instance1 = em.find(PrStaff.class, id);
| ---this lines working without any error...---
| */
|
| PrStaff instance = entityManager.find(PrStaff.class, id);->I am taking null pointer exception here...
| System.out.println("instance:"+instance);
| log.debug("get successful");
| return instance;
| } catch (RuntimeException re) {
| log.error("get failed", re);
| throw re;
| }
| }
| }
|
I cant find reason, why container is not injecting the entity manager. Of course I am missing something but I cant find. Thanks for your helps...
--EXCEPTION STACKTRACE--
------------------------------------------------------------------------
2008-06-17 17:25:40,256 ERROR [com.ao.utils.pojo.PrStaffHome] get failed
java.lang.NullPointerException
at com.ao.utils.pojo.PrStaffHome.findById(PrStaffHome.java:74)
at com.ao.jdbc.DBSecurity.checkUserPassword(DBSecurity.java:104)
at com.ao.timereport.servlet.TIMEController.doLogin(TIMEController.java:550)
at com.ao.timereport.servlet.TIMEController.service(TIMEController.java:58)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)
2008-06-17 17:25:40,287 ERROR [STDERR] java.lang.NullPointerException
2008-06-17 17:25:40,303 ERROR [STDERR] at com.ao.utils.pojo.PrStaffHome.findById(PrStaffHome.java:74)
2008-06-17 17:25:40,303 ERROR [STDERR] at com.ao.jdbc.DBSecurity.checkUserPassword(DBSecurity.java:104)
2008-06-17 17:25:40,303 ERROR [STDERR] at com.ao.timereport.servlet.TIMEController.doLogin(TIMEController.java:550)
2008-06-17 17:25:40,303 ERROR [STDERR] at com.ao.timereport.servlet.TIMEController.service(TIMEController.java:58)
2008-06-17 17:25:40,303 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
2008-06-17 17:25:40,303 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
2008-06-17 17:25:40,303 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
2008-06-17 17:25:40,303 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
2008-06-17 17:25:40,303 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
2008-06-17 17:25:40,303 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
2008-06-17 17:25:40,318 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
2008-06-17 17:25:40,334 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
2008-06-17 17:25:40,334 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
2008-06-17 17:25:40,334 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
2008-06-17 17:25:40,334 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4158893#4158893
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4158893
More information about the jboss-user
mailing list