Uploaded image for project: 'RESTEasy'
  1. RESTEasy
  2. RESTEASY-712

Synchronization issue of hibernate,spring, resteasy

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • 2.0.1.GA
    • 2.0.1.GA
    • jaxrs

      The project i am working on is a combination of Springs , Hibernate and Resteasy services. In this project i need to get the data from mysql database using hibernate and Springs is used of configuring all the service and Impl classes.
      It has two methods which return database data in xml and json format using reseasy procedures.I have configured every thing correctly and the output is generated correctly but the problem is "The same code is sometimes producing the output and sometimes not"(It is giving a null pointer exception and stack trace is as follows).

      SEVERE: Servlet.service() for servlet [Resteasy] in context with path [/resteasy] threw exception
      org.jboss.resteasy.spi.UnhandledException: java.lang.NullPointerException
      at org.jboss.resteasy.core.SynchronousDispatcher.hand leApplicationException(SynchronousDispatcher.java: 323)
      at org.jboss.resteasy.core.SynchronousDispatcher.hand leException(SynchronousDispatcher.java:199)
      at org.jboss.resteasy.core.SynchronousDispatcher.hand leInvokerException(SynchronousDispatcher.java:175)
      at org.jboss.resteasy.core.SynchronousDispatcher.getR esponse(SynchronousDispatcher.java:529)
      at org.jboss.resteasy.core.SynchronousDispatcher.invo ke(SynchronousDispatcher.java:491)
      at org.jboss.resteasy.core.SynchronousDispatcher.invo ke(SynchronousDispatcher.java:120)
      at org.jboss.resteasy.plugins.server.servlet.ServletC ontainerDispatcher.service(ServletContainerDispatc her.java:200)
      at org.jboss.resteasy.plugins.server.servlet.HttpServ letDispatcher.service(HttpServletDispatcher.java:4 8)
      at org.jboss.resteasy.plugins.server.servlet.HttpServ letDispatcher.service(HttpServletDispatcher.java:4 3)
      at javax.servlet.http.HttpServlet.service(HttpServlet .java:722)
      at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:304)
      at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:210)
      at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:224)
      at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:169)
      at org.apache.catalina.authenticator.AuthenticatorBas e.invoke(AuthenticatorBase.java:472)
      at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:168)
      at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:100)
      at org.apache.catalina.valves.AccessLogValve.invoke(A ccessLogValve.java:929)
      at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:118)
      at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:405)
      at org.apache.coyote.http11.AbstractHttp11Processor.p rocess(AbstractHttp11Processor.java:964)
      at org.apache.coyote.AbstractProtocol$AbstractConnect ionHandler.process(AbstractProtocol.java:515)
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProce ssor.run(JIoEndpoint.java:304)
      at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)
      Caused by: java.lang.NullPointerException
      at com.filter.rest.guiimpl.FilterRestServiceImpl.list NodesXML(FilterRestServiceImpl.java:37)
      at sun.reflect.GeneratedMethodAccessor41.invoke(Unkno wn Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.jboss.resteasy.core.MethodInjectorImpl.invoke( MethodInjectorImpl.java:140)
      at org.jboss.resteasy.core.ResourceMethod.invokeOnTar get(ResourceMethod.java:252)
      at org.jboss.resteasy.core.ResourceMethod.invoke(Reso urceMethod.java:217)
      at org.jboss.resteasy.core.ResourceMethod.invoke(Reso urceMethod.java:206)
      at org.jboss.resteasy.core.SynchronousDispatcher.getR esponse(SynchronousDispatcher.java:514)
      ... 22 more

      Spring version is 3.0.4 RELEASE
      Springsecurity version 3.03 RELEASE
      Resteasy version 2.0.1 GA
      JDK 1.7
      Tomcat 7.0.22

      According to my guess the code might be creating a synchronization exception is:

      @Autowired
      FilterService fl;

      public List<Node> listNodesJSON(@Context ServletContext servletContext){

      return fl.listNodesJSON(servletContext);
      }
      public List<Node> listNodesXML(@Context ServletContext servletContext){

      return fl.listNodesJSON(servletContext);
      }

      Here FilterService is an interface which is implemented by my service class.

      The xml configuration(application context.xml) is as follows

      <context:annotation-config />
      <context:component-scan base-package="com.filter" />
      <tx:annotation-driven transaction-manager="transactionManager" />
      <bean class="org.springframework.dao.annotation.Persiste nceExceptionTranslationPostProcessor"/>

      <bean id="masterDAO" class="com.filter.dao.jpa.MasterJpaDao">
      </bean>
      <bean id="filterService" class="com.rest.filter.impl.FilterServiceImpl">
      </bean>

      <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
      destroy-method="close" p:driverClass="${jdbc.driverClassName}"
      p:jdbcUrl="${debug.prefix:}${jdbc.url}" p:user="${jdbc.username}"
      password="${jdbc.password}" p:initialPoolSize="10" p:maxPoolSize="30"
      p:acquireRetryAttempts="5" p:acquireRetryDelay="3000"
      p:idleConnectionTestPeriod="300">
      </bean>

      <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionM anager"
      p:entityManagerFactory-ref="entityManagerFactory" />

      <bean id="entityManagerFactory"
      class="org.springframework.orm.jpa.LocalContainerE ntityManagerFactoryBean"
      p:dataSource-ref="dataSource">
      <property name="loadTimeWeaver">
      <bean class="org.springframework.instrument.classloading .InstrumentationLoadTimeWeaver" />
      </property>
      <property name="persistenceUnitName" value="filterservicePU" />

      This bean <bean id="masterDAO" class="com.filter.dao.jpa.MasterJpaDao"> is for implementing the database methods which will
      make a database query to get the data.

      <bean id="filterService" class="com.rest.filter.impl.FilterServiceImpl"> this bean is used for making the view of the fetched data.
      If any details are required i am ready to post them.
      Please help me in solving this issue . Thanks in advance.

        1. xml data.png
          xml data.png
          242 kB
        2. web.xml
          2 kB
        3. Node.java
          2 kB
        4. json data.png
          json data.png
          227 kB
        5. FilterServiceImpl.java
          2 kB
        6. FilterService.java
          1 kB
        7. FilterRestServiceImpl.java
          1 kB
        8. FilterRestService.java
          1 kB
        9. exception.png
          exception.png
          169 kB
        10. eclipse stack trace.png
          eclipse stack trace.png
          183 kB

              patriot1burke@gmail.com Bill Burke (Inactive)
              nagarjun_jira nagarjun kovi (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: