bob - 2013-09-25

the project i developing using dozer to mapping hibernate bean(Spring data JPA). the dozer works fine in test environment. but when deploy the project artifact in product environment and let the system runing for a awhile(more than 24th). the system will throws:

09:21:23.436 [qtp698516129-1031] ERROR org.dozer.MappingProcessor - Field mapping error -->
MapId: null
Type: null
Source parent class: com.actionsky.rds.unicom.domain.AgentDomain
Source field name: id
Source field type: class java.lang.String
Source field value: 5e28e320-0ca2-11e3-8761-1ee9d37cf1ab
Dest parent class: com.actionsky.rds.unicom.domain.AgentDomain
Dest field name: id
Dest field type: java.lang.String
org.dozer.MappingException: java.lang.NoSuchMethodException: Unable to determine write method for Field: 'id' in Class:
class com.actionsky.rds.unicom.domain.AgentDomain
at org.dozer.util.MappingUtils.throwMappingException(MappingUtils.java:82) ~[dozer-5.4.0.jar:na]
at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.invokeWriteMethod(GetterSetterPropertyDescriptor.java:280) ~[dozer-5.4.0.jar:na]
at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.setPropertyValue(GetterSetterPropertyDescriptor.java:102) ~[dozer-5.4.0.jar:na]
at org.dozer.fieldmap.FieldMap.writeDestValue(FieldMap.java:94) ~[dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.writeDestinationValue(MappingProcessor.java:895) [dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.mapFromFieldMap(MappingProcessor.java:349) [dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.mapField(MappingProcessor.java:288) [dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.map(MappingProcessor.java:248) [dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.map(MappingProcessor.java:197) [dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.map(MappingProcessor.java:187) [dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.map(MappingProcessor.java:124) [dozer-5.4.0.jar:na]
at org.dozer.MappingProcessor.map(MappingProcessor.java:119) [dozer-5.4.0.jar:na]
at sun.reflect.GeneratedMethodAccessor139.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_10]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_10]
at org.dozer.stats.StatisticsInterceptor.invoke(StatisticsInterceptor.java:43) [dozer-5.4.0.jar:na]
at $Proxy212.map(Unknown Source) [na:na]
at org.dozer.DozerBeanMapper.map(DozerBeanMapper.java:120) [dozer-5.4.0.jar:na]
at com.actionsky.rds.unicom.service.ObjectMappingService.mapObjs(ObjectMappingService.java:99) [rds-unicom-server-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
at com.actionsky.rds.unicom.rest.AgentResource.listAllDomains(AgentResource.java:224) [rds-unicom-server-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.7.0_10]
at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.7.0_10]
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:140) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:158) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:195) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:101) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:353) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:343) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:237) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [jersey-common-2.2.jar:na]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [jersey-common-2.2.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [jersey-common-2.2.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [jersey-common-2.2.jar:na]
at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [jersey-common-2.2.jar:na]
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:318) [jersey-common-2.2.jar:na]
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:211) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:982) [jersey-server-2.2.jar:na]
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:359) [jersey-container-servlet-core-2.2.jar:na]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:372) [jersey-container-servlet-core-2.2.jar:na]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:335) [jersey-container-servlet-core-2.2.jar:na]
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:218) [jersey-container-servlet-core-2.2.jar:na]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:698) [jetty-servlet-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1506) [jetty-servlet-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) [spring-web-3.2.4.RELEASE.jar:3.2.4.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-3.2.4.RELEASE.jar:3.2.4.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) [jetty-servlet-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) [jetty-servlets-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:348) [jetty-servlets-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494) [jetty-servlet-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) [jetty-servlets-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1486) [jetty-servlet-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503) [jetty-servlet-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:564) [jetty-security-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1096) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:432) [jetty-servlet-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1030) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:201) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:149) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.Server.handle(Server.java:445) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:268) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229) [jetty-server-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358) [jetty-io-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601) [jetty-util-9.0.5.v20130815.jar:9.0.5.v20130815]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532) [jetty-util-9.0.5.v20130815.jar:9.0.5.v20130815]
at com.actionsky.rds.jetty.thread.RunnableWrapper.run(RunnableWrapper.java:26) [rds-jetty-1.0-SNAPSHOT.jar:1.0-SNAPSHOT]
at java.lang.Thread.run(Unknown Source) [na:1.7.0_10]
Caused by: java.lang.NoSuchMethodException: Unable to determine write method for Field: 'id' in Class: class com.actionsky.rds.unicom.domain.AgentDomain
at org.dozer.propertydescriptor.JavaBeanPropertyDescriptor.getWriteMethod(JavaBeanPropertyDescriptor.java:47) ~[dozer-5.4.0.jar:na]
at org.dozer.propertydescriptor.GetterSetterPropertyDescriptor.invokeWriteMethod(GetterSetterPropertyDescriptor.java:278) ~[dozer-5.4.0.jar:na]
... 74 common frames omitted

BTW: the 'id' property of AgentDomain class is declared in super interface(org.springframework.data.domain.Persistable#getId). this interface is used by spring data jpa project, and the getId() method is implements in AgentDomain.
the AgentDomain class:

@Entity
@Table(name="TD_AGENT_DOMAIN")
public class AgentDomain extends AuditableBase<String>{

private static final long serialVersionUID = -4468144567536715231L;

/** The id. */
@Id
@GeneratedValue(generator = "heartbeat-uuid")
@GenericGenerator(name = "heartbeat-uuid", strategy = "org.hibernate.id.UUIDGenerator")
@Column(length = 36)
private String id;

// this declared in org.springframework.data.domain.Persistable#getId
public String getId()
{
    return id;
}

// this method does't declared in any super interface.
public void setId(String id){
    this.id = id;
}

}

last but not least, the dozer's mapping are works fine in first time, but the exception thrown when system running for quite awhile(for example, more than 24th).