I am getting the below error while trying to call a service class
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.NullPointerException
    org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:431)
    org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:372)
    org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:417)
    org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:255)
    org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
    com.plm.conn.model.QueueService$$EnhancerBySpringCGLIB$$9405c9f4.getAll()
    com.plm.conn.hcontroller.HomeController.home(HomeController.java:67)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
    org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
    org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
    org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:685)
    org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:919)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:851)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
My servlet-context.xml
    <!-- Derby configuration -->
    <beans:bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <beans:property name="driverClassName"
            value="org.apache.derby.jdbc.ClientDriver" />
        <beans:property name="url"
            value="jdbc:derby://localhost:1527//office;create=false" />
        <beans:property name="username" value="office" />
    </beans:bean>
    <!-- EntityManagerFactory -->
    <beans:bean id="emf"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <beans:property name="jtaDataSource" ref="dataSource" />
        <beans:property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
        <beans:property name="packagesToScan" value="com.plm.conn.model" />
    </beans:bean>
    <!-- Transaction adapter -->
    <beans:bean id="jpaVendorAdapter"
        class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <beans:property name="databasePlatform"
            value="org.hibernate.dialect.DerbyDialect" />
        <beans:property name="showSql" value="true" />
        <beans:property name="generateDdl" value="false" />
    </beans:bean>
    <!-- Transaction Manager -->
    <beans:bean id="transactionManager"
        class="org.springframework.orm.jpa.JpaTransactionManager">
        <beans:property name="entityManagerFactory" ref="emf" />
        <beans:property name="dataSource" ref="dataSource" />
    </beans:bean>
    <beans:bean
        class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
    <!-- tx:annotation-driven /-->
    <tx:annotation-driven transaction-manager="transactionManager" />
    <context:component-scan base-package="com.plm.conn.model" />
Service
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Repository
@Transactional
@Component
@Service
public class QueueService implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private static final Logger logger = LoggerFactory
            .getLogger(QueueService.class);
    @PersistenceContext
    private EntityManager em;
    @Transactional
    public void addQueue(Queue queue) {
          logger.info(" info..."+em.toString());
                  em.persist(queue);
    }
    @Transactional
    public List<Queue> getAll() {
        TypedQuery<Queue> query = em.createNamedQuery("Queue.findAll",
                Queue.class);
        logger.info(" info..." + query.getResultList());
        return query.getResultList();
    }
}
and my controller where i am calling the queue
package com.plm.conn.hcontroller;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import com.plm.conn.model.Queue;
import com.plm.conn.model.QueueService;
/**
 * Handles requests for the application home page.
 */
@Controller
public class HomeController {
    private static final Logger logger = LoggerFactory
            .getLogger(HomeController.class);
    @Autowired
    private QueueService queueSvc;
    /**
     * Simply selects the home view to render by returning its name.
     */
    @RequestMapping(value = { "/", "/home" }, method = RequestMethod.GET)
    public String home(Locale locale, Model model, HttpServletRequest request,
            HttpServletResponse response) {
        Queue queue = new Queue();
        //queue.setMsgidProd("1212121212");
        //queueSvc.addQueue(queue);
        logger.info(queueSvc.toString());
        model.addAttribute("list", queueSvc.getAll());
        return "home";
    }
}
 
     
     
    