I am having trouble saving an object on google app engine. Here is my POJO class:
package subasta.domain.users; import javax.jdo.annotations.IdentityType; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.PrimaryKey; import javax.jdo.annotations.Persistent; @PersistenceCapable(identityType = IdentityType.APPLICATION) public class User { @PrimaryKey @Persistent private String nombre; public User(String nombre){ this.nombre = nombre; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } } Here is my JDO Code.: package subasta.repository.users; import java.util.Set; import java.util.logging.Logger; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManagerFactory; import javax.jdo.PersistenceManager; import subasta.domain.users.User; public class JDOUserDAO implements UserDAO{ /** Logger for this class and subclasses */ private static final Logger log = Logger.getLogger(UserDAO.class .getName()); private static final PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory("transactions- optional"); //PersistenceManagerFactory pmf; //public void setPmf(PersistenceManagerFactory pmf) { //this.pmf = pmf; //} public void saveUser(User user){ PersistenceManager pm = pmf.getPersistenceManager(); try{ pm.makePersistent(user); }finally { pm.close(); } } @SuppressWarnings("unchecked") public Set<User> getUsers(){ PersistenceManager pm = pmf.getPersistenceManager(); Set<User> users = (Set<User>)pm.getManagedObjects (User.class); pm.close(); return users; } } Things go wrong when making the call to makePersistent. The exception is: 08-sep-2009 16:51:35 com.google.appengine.repackaged.com.google.common.base.FinalizableReferenceQueue <init> INFO: Failed to start reference finalizer thread. Reference cleanup will only occur when new references are created. java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.google.appengine.repackaged.com.google.common.base.FinalizableReferenceQueue.<init> (FinalizableReferenceQueue.java:124) at com.google.appengine.repackaged.com.google.common.labs.misc.InterningPools $WeakInterningPool.<clinit>(InterningPools.java:104) at com.google.appengine.repackaged.com.google.common.labs.misc.InterningPools.newWeakInterningPool (InterningPools.java:48) at com.google.appengine.repackaged.com.google.io.protocol.ProtocolSupport.<clinit> (ProtocolSupport.java:55) at com.google.apphosting.api.DatastorePb$PutRequest.freeze (DatastorePb.java:8452) at com.google.apphosting.api.DatastorePb$PutRequest$1.<init> (DatastorePb.java:8367) at com.google.apphosting.api.DatastorePb$PutRequest.<clinit> (DatastorePb.java:8364) at com.google.appengine.api.datastore.DatastoreServiceImpl.put (DatastoreServiceImpl.java:152) at com.google.appengine.api.datastore.DatastoreServiceImpl.put (DatastoreServiceImpl.java:138) at com.google.appengine.api.datastore.DatastoreServiceImpl.put (DatastoreServiceImpl.java:130) at org.datanucleus.store.appengine.RuntimeExceptionWrappingDatastoreService.put (RuntimeExceptionWrappingDatastoreService.java:93) at org.datanucleus.store.appengine.DatastorePersistenceHandler.put (DatastorePersistenceHandler.java:165) at org.datanucleus.store.appengine.DatastorePersistenceHandler.put (DatastorePersistenceHandler.java:112) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects (DatastorePersistenceHandler.java:239) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject (DatastorePersistenceHandler.java:225) at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent (JDOStateManagerImpl.java:3185) at org.datanucleus.state.JDOStateManagerImpl.makePersistent (JDOStateManagerImpl.java:3161) at org.datanucleus.ObjectManagerImpl.persistObjectInternal (ObjectManagerImpl.java:1298) at org.datanucleus.ObjectManagerImpl.persistObject (ObjectManagerImpl.java:1175) at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent (JDOPersistenceManager.java:669) at org.datanucleus.jdo.JDOPersistenceManager.makePersistent (JDOPersistenceManager.java:694) at subasta.repository.users.JDOUserDAO.saveUser(JDOUserDAO.java: 29) at subasta.web.users.RegisterController.onSubmit (RegisterController.java:38) at org.springframework.web.servlet.mvc.SimpleFormController.onSubmit (SimpleFormController.java:409) at org.springframework.web.servlet.mvc.SimpleFormController.onSubmit (SimpleFormController.java:381) at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission (SimpleFormController.java:267) at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal (AbstractFormController.java:265) at org.springframework.web.servlet.mvc.AbstractController.handleRequest (AbstractController.java:153) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle (SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:875) at org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:807) at org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:571) at org.springframework.web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:511) at javax.servlet.http.HttpServlet.service(HttpServlet.java:713) at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1093) at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter (TransactionCleanupFilter.java:43) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at com.google.appengine.tools.development.StaticFileFilter.doFilter (StaticFileFilter.java:121) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter (ServletHandler.java:1084) at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:405) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle (DevAppEngineWebAppContext.java:54) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at com.google.appengine.tools.development.JettyContainerService $ApiProxyHandler.handle(JettyContainerService.java:313) at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:313) at org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:506) at org.mortbay.jetty.HttpConnection$RequestHandler.content (HttpConnection.java:844) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java: 205) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java: 381) at org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:396) at org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442) Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup) at java.security.AccessControlContext.checkPermission (AccessControlContext.java:323) at java.security.AccessController.checkPermission (AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java: 532) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkPermission(DevAppServerFactory.java:139) at com.google.appengine.tools.development.DevAppServerFactory $CustomSecurityManager.checkAccess(DevAppServerFactory.java:166) at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:288) at java.lang.Thread.init(Thread.java:332) at java.lang.Thread.<init>(Thread.java:419) at com.google.appengine.repackaged.com.google.common.base.internal.Finalizer.<init> (Finalizer.java:96) at com.google.appengine.repackaged.com.google.common.base.internal.Finalizer.startFinalizer (Finalizer.java:82) ... 62 more I have tried google and nothing. Does anybody know what Im doing wrong? 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 google-appengine-java@googlegroups.com To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en -~----------~----~----~----~------~----~------~--~---