I tried the following code:
Session.instance().invalidate();
1) I have 2 session-scoped SFSB's. How does Seam handle this? Are both of
them invalidated?
2) How/when does Seam re-instantiate the SFSB's that were invalidated?
I am getting the following exception when peerAction SFSB is referenced below:
| Caused by: java.lang.NullPointerException
| at
com.cox.beans.session.SecurityAuditAction.findAuditList(SecurityAuditAction.java:151)
| at
com.cox.beans.session.SecurityAuditAction.invalidateSession(SecurityAuditAction.java:134)
with:
| public void invalidateSession() {
|
| //user selected a peer from peer selectOneMenu, so invalidate
session and continue...
|
| Session.instance().invalidate();
|
| findAuditList();
| }
|
| // 12-03/07 - got following exception when I clicked cancel in
modalPanel:
| // Caused by java.lang.IllegalStateException with message: "begin
method invoked from a long-running conversation, try using @Begin(join=true) on
method: findAuditList"
| // adding join=true...
|
| @Begin(join=true, flushMode=FlushModeType.MANUAL) // <-- use this
with SMPC
| @Factory("myAuditList")
| public void findAuditList()
| {
| Boolean hardCodeEmployeeId =
Boolean.parseBoolean(SecurityAuditProperties.getPropertyObject().getProperty(SecurityAuditConstants.HARD_CODE_EMPLOYEE_ID));
| Integer employeeId;
|
| if (hardCodeEmployeeId) { //if true in props file then we're
testing only...
|
| employeeId = peerAction.getEmployeeId().intValue();
|
| if (employeeId == null) {
|
| employeeId =
Integer.parseInt(SecurityAuditProperties.getPropertyObject().getProperty(SecurityAuditConstants.EMPLOYEE_ID));
//using btkach id for now;
| }
| }
| else {
| log.info("in getAuditList(): user.getUserId() = " +
user.getUserId() + " user.getBillingId() = " + user.getBillingId());
|
| //employeeId = getEmployeeId();
|
| employeeId = peerAction.getEmployeeId().intValue();
|
| }
| myAuditList = emICOMS.createQuery("SELECT gem, tsaw "+
|
"FROM TblSecurityAuditWorking tsaw, "+
|
"GlobalEmployeeMaster gem "+
|
"WHERE tsaw.id.siteId = gem.id.siteId "+
|
"AND tsaw.id.employeeNumber = gem.id.employeeNumber "+
|
"AND tsaw.reportToId = :employeeId " +
|
"ORDER BY tsaw.id.employeeNumber ASC")
|
.setParameter("employeeId", employeeId)
|
.getResultList();
|
| //instantiate null valued noteList
| noteAction.initialize(myAuditList);
|
| log.info("in findAuditList(): myAuditList.size() = " +
myAuditList.size());
|
| noteLoadList = emICOMS.createQuery("SELECT saw.id.siteId,
saw.id.employeeNumber, "+
| "("+
| "SELECT
count(san) as AcctApprovedNoteCount "+
| "FROM
TblSecurityAuditNote san "+
| "WHERE
san.siteId = saw.id.siteId "+
| "AND
san.employeeNumber = saw.id.employeeNumber "+
| "AND
san.noteType = 'accountApproved' "+
| ") as
AcctApprovedCount, "+
| "("+
| "SELECT
count(san) as secLevelApprovedNoteCount "+
| "FROM
TblSecurityAuditNote san "+
| "WHERE
san.siteId = saw.id.siteId "+
| "AND
san.employeeNumber = saw.id.employeeNumber "+
| "AND
san.noteType = 'secLevelApproved' "+
| ") as
secLevelApprovedCount, "+
| "("+
| "SELECT
count(san) as adjLimitApprovedNoteCount "+
| "FROM
TblSecurityAuditNote san "+
| "WHERE
san.siteId = saw.id.siteId "+
| "AND
san.employeeNumber = saw.id.employeeNumber "+
| "AND
san.noteType = 'adjLimitApproved' "+
| ") as
adjLimitApprovedCount "+
| "FROM
TblSecurityAuditWorking saw "+
| "WHERE
saw.reportToId = :employeeId")
|
.setParameter("employeeId", employeeId)
|
.getResultList();
|
|
|
| log.info("in findAuditList(): noteLoadList.size() = " +
noteLoadList.size());
|
|
|
| }
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4115587#4115587
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4115587
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user