[
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. @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)