public void invalidateObject(Session session, javax.jms.Message msg) throws javax.jms.JMSException { String tableName = msg.getStringProperty("TABLE"); if (tableName == null) { return; } Class baseClass = (Class) tableNameToClass.get(tableName); if (baseClass == null) { return; } Vector pkFieldNames = (Vector) tableNameToPkFieldNames.get(tableName); if (pkFieldNames == null) { return; } // create DatabaseRecord corresponding to the message DatabaseRecord row = new DatabaseRecord(pkFieldNames.size()); for (int i = 0; i < pkFieldNames.size(); i++) { String fieldName = (String) pkFieldNames.elementAt(i); Object value = msg.getObjectProperty(fieldName); row.put(fieldName, value); } // invalidate in TopLink cache the object corresponding to the row and the baseClass session.getIdentityMapAccessor().invalidateObject(row, baseClass); }
public void run() { try { counter = 0; while (!experienceError && counter < numOftries) { if (thread == 1) { session.getIdentityMapAccessor().initializeIdentityMap(BigBadObject.class); readObject = (BigBadObject) session.readObject(referenceObject); } else { readObject = (BigBadObject) session.getIdentityMapAccessor().getFromIdentityMap(referenceObject); } if ((readObject != null) && ((readObject.number02 == null) || (!readObject.number02.equals(referenceObject.number02)))) { this.experienceError = true; } counter++; } } catch (RuntimeException ex) { this.experienceError = true; this.exception = ex; } }