EntityManager의 찾기에서 영원한 널 리턴을 어떻게 디버그/수정 할 수 있습니까?
문제
나는 이것을 따르고있다 예시. 찾을 때 마다이 오류가 계속됩니다.java.lang.NullPointerException
at LoginAction.service(LoginAction.java:41)
at Dispatcher.doWork(Dispatcher.java:82)
at Dispatcher.doGet(Dispatcher.java:64)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380)
at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
어디서보기 시작 해야할지 모르겠습니다. 41 번째 라인은 연산자입니다 .FindoPerator (1), 여기@EJB
private OperatorBeanService operator;
나는 유리 피쉬 2.1에서 이것을하려고 노력하고있다. 이것은 지속성입니다 :
<persistence-unit name="persistMe" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/peciu</jta-data-source>
<properties>
<property name="eclipselink.jdbc.batch-writing" value="JDBC"/>
<property name="eclipselink.target-database" value="myDB"/>
<property name="eclipselink.target-server" value="host"/>
<property name="eclipselink.logging.level" value="ALL"/>
</properties>
</persistence-unit>
이 지속성을 가진 별도의 JPA 프로젝트를 시도했습니다.<persistence-unit name="OperatorService" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>Operator</class>
<properties>
<property name="eclipselink.jdbc.batch-writing" value="JDBC"/>
<property name="eclipselink.jdbc.driver" value="COM.ibm.db2os390.sqlj.jdbc.DB2SQLJDriver"/>
<property name="eclipselink.jdbc.url" value="jdbc:db2://host:50000/myDB"/>
<property name="eclipselink.jdbc.user" value="user"/>
<property name="eclipselink.jdbc.password" value="pass"/>
</properties>
</persistence-unit>
그리고 그것은 단지 잘 작동하여 연산자 테이블에서 결과를 반환했습니다. 내가 무엇을 놓치고 있는지 모르겠습니다. 시간 내 주셔서 감사합니다. iulia
해결책
OperatorBeanService가 주입되지 않은 이유를 파악해야합니다 (@EJB 주석).
나는 약간 혼란 스럽지만, 당신은 Glassfish를 사용하여 WebSphere 튜토리얼/예제를 따르고 있습니까? 아마도 당신은 그것이 작동하는지 확인하는 것이었을 것입니까? 응답이 아닌 답변에 대해 죄송하지만, 나는 갈 것이 많지 않습니다.
-약간 뒤틀리게 하다