[
https://issues.jboss.org/browse/WFLY-6383?page=com.atlassian.jira.plugin....
]
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.
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();
}
}}}
was:
Entities using Extended PersistentContext are not managed in a Stateful bean.
Bean Class:
-----------------
{{@Stateful
@SessionScoped
@Local(CdiStatefulEmployeeService.class)
public class CdiStatefulEmployeeBean implements CdiStatefulEmployeeService {
@PersistenceContext(name = "employees", type =
PersistenceContextType.EXTENDED)
EntityManager extendedEm;
private Employee cached;
@Override
public String service() {
cached = extendedEm.find(Employee.class, 499983);
return cached.getFirstName();
}
@Override
public String updateEntity() {
cached.setFirstName("Uri2");
return cached.getFirstName();
}
}}}
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.
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();
}
}}}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)