[jboss-jira] [JBoss JIRA] (WFLY-6383) Entities using Extended PersistentContext are not managed
Rakesh K. Cherukuri (JIRA)
issues at jboss.org
Wed Mar 16 12:50:00 EDT 2016
[ https://issues.jboss.org/browse/WFLY-6383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rakesh K. Cherukuri updated WFLY-6383:
--------------------------------------
Description:
Entities using Extended PersistentContext are not managed in a Stateful bean.
Bean Class:
-----------------
bq. @Stateful
bq. @SessionScoped
bq. @Local(CdiStatefulEmployeeService.class)
bq. public class CdiStatefulEmployeeBean implements CdiStatefulEmployeeService {
bq. @PersistenceContext(name = "employees", type = PersistenceContextType.EXTENDED)
bq. EntityManager extendedEm;
bq. private Employee cached;
bq. @Override
bq. public String service() {
bq. cached = extendedEm.find(Employee.class, 499983);
bq. return cached.getFirstName();
bq. }
bq. @Override
bq. public String updateEntity() {
bq. cached.setFirstName("Uri2");
bq. return cached.getFirstName();
bq. }
bq. }
Client Servlet that basically invokes both service calls of the bean:
---------------------------------------------------------------------------------------
bq. @WebServlet("/atInjectedStatefulEjbClient")
bq. public class AtInjectedStatefulEjbClient extends HttpServlet {
bq.
bq. @Inject
bq. CdiStatefulEmployeeService statefulBean;
bq.
bq. @Override
bq. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
bq.
bq. HttpSession session = req.getSession(true);
bq. resp.setContentType("text/plain");
bq.
bq. PrintWriter pw = resp.getWriter();
bq.
bq. pw.println(statefulBean.service());
bq. pw.println();
bq. pw.println(statefulBean.updateEntity());
bq.
bq. session.invalidate();
bq. pw.flush();
bq. pw.close();
bq. }
bq. }
was:
Entities using Extended PersistentContext are not managed in a Stateful bean.
Bean Class:
-----------------
bq. @Stateful
bq. @SessionScoped
bq. @Local(CdiStatefulEmployeeService.class)
bq. public class CdiStatefulEmployeeBean implements CdiStatefulEmployeeService {
bq.
bq. @PersistenceContext(name = "employees", type = PersistenceContextType.EXTENDED)
bq. EntityManager extendedEm;
bq.
bq. private Employee cached;
bq.
bq. @Override
bq. public String service() {
bq. cached = extendedEm.find(Employee.class, 499983);
bq. return cached.getFirstName();
bq. }
bq.
bq. @Override
bq. public String updateEntity() {
bq. cached.setFirstName("Uri2");
bq. return cached.getFirstName();
bq. }
bq. }
Client Servlet that basically invokes both service calls of the bean:
---------------------------------------------------------------------------------------
{{@WebServlet("/atInjectedStatefulEjbClient")
public class AtInjectedStatefulEjbClient extends HttpServlet {
@Inject
CdiStatefulEmployeeService statefulBean;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession(true);
resp.setContentType("text/plain");
PrintWriter pw = resp.getWriter();
pw.println(statefulBean.service());
pw.println();
pw.println(statefulBean.updateEntity());
session.invalidate();
pw.flush();
pw.close();
}
}}}
> Entities using Extended PersistentContext are not managed
> ---------------------------------------------------------
>
> Key: WFLY-6383
> URL: https://issues.jboss.org/browse/WFLY-6383
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Affects Versions: 10.0.0.Final
> Environment: WildFLy 10.0.0.Final
> Mac
> Reporter: Rakesh K. Cherukuri
> Labels: Extended, JPA, Persistence, PersistenceContext
>
> Entities using Extended PersistentContext are not managed in a Stateful bean.
> Bean Class:
> -----------------
> bq. @Stateful
> bq. @SessionScoped
> bq. @Local(CdiStatefulEmployeeService.class)
> bq. public class CdiStatefulEmployeeBean implements CdiStatefulEmployeeService {
> bq. @PersistenceContext(name = "employees", type = PersistenceContextType.EXTENDED)
> bq. EntityManager extendedEm;
> bq. private Employee cached;
> bq. @Override
> bq. public String service() {
> bq. cached = extendedEm.find(Employee.class, 499983);
> bq. return cached.getFirstName();
> bq. }
> bq. @Override
> bq. public String updateEntity() {
> bq. cached.setFirstName("Uri2");
> bq. return cached.getFirstName();
> bq. }
> bq. }
> Client Servlet that basically invokes both service calls of the bean:
> ---------------------------------------------------------------------------------------
> bq. @WebServlet("/atInjectedStatefulEjbClient")
> bq. public class AtInjectedStatefulEjbClient extends HttpServlet {
> bq.
> bq. @Inject
> bq. CdiStatefulEmployeeService statefulBean;
> bq.
> bq. @Override
> bq. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
> bq.
> bq. HttpSession session = req.getSession(true);
> bq. resp.setContentType("text/plain");
> bq.
> bq. PrintWriter pw = resp.getWriter();
> bq.
> bq. pw.println(statefulBean.service());
> bq. pw.println();
> bq. pw.println(statefulBean.updateEntity());
> bq.
> bq. session.invalidate();
> bq. pw.flush();
> bq. pw.close();
> bq. }
> bq. }
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list