quick question: should I be able to directly serialize (Cache.put
(...)) results of JDO queries into Memcache?
It "appears" not ...
I have the following class(es):
@PersistenceCapable(identityType=IdentityType.APPLICATION,
objectIdClass=CityState.CityStateKey.class, cacheable="true",
detachable="true")
public class CityState implements Serializable {
public static class CityStateKey implements Serializable {
@NotPersistent
private static Pattern p =
Pattern.compile("^(.*),\\s?([A-Za-z]{2})
$");
public CityStateKey() { }
public CityStateKey(String keyValue) {
final Matcher m = p.matcher(keyValue.trim());
if (m.matches()) {
city = m.group(1);
state = State.valueOf((m.group(2))).name();
} else
throw new
IllegalArgumentException(keyValue);
}
/* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
// elided ...
}
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
// elided...
}
public String toString() { return (city + Address.COMMASPACE +
state); }
public String state;
public String city;
}
public CityState(final String city, final String state) {
this.city = city.trim();
this.state = state;
}
@Override
public String getCity() {
return city;
}
@Override
public String getState() {
return state;
}
/* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode() {
// elided...
}
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object obj) {
// elided...
}
@Override
public String toString() { return city + Address.COMMASPACE +
state; }
@Persistent(primaryKey="true") public String state; // should be
State GAE/JDO does not support...
@Persistent(primaryKey="true") public String city;
}
when I query "select from CityState" via JDO I get a
StreamingQueryResult ...
if I attempt to put that as a value into memcache I get the typical
NotSerializableException indicating that
an object in the graph is not serializable ...
any thoughts/suggestions, clearly the (simple) app domain objects are
(both) serializable as are the
internal fields ...
Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---