{"action":"opened","issue":{"url":"https://api.github.com/repos/FasterXML/jackson-module-afterburner/issues/53","labels_url":"https://api.github.com/repos/FasterXML/jackson-module-afterburner/issues/53/labels{/name}","comments_url":"https://api.github.com/repos/FasterXML/jackson-module-afterburner/issues/53/comments","events_url":"https://api.github.com/repos/FasterXML/jackson-module-afterburner/issues/53/events","html_url":"https://github.com/FasterXML/jackson-module-afterburner/issues/53","id":59724264,"number":53,"title":"Include checksum in generated class names (to resolve #51)","user":{"login":"cowtowncoder","id":55065,"avatar_url":"https://avatars.githubusercontent.com/u/55065?v=3","gravatar_id":"","url":"https://api.github.com/users/cowtowncoder","html_url":"https://github.com/cowtowncoder","followers_url":"https://api.github.com/users/cowtowncoder/followers","following_url":"https://api.github.com/users/cowtowncoder/following{/other_user}","gists_url":"https://api.github.com/users/cowtowncoder/gists{/gist_id}","starred_url":"https://api.github.com/users/cowtowncoder/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cowtowncoder/subscriptions","organizations_url":"https://api.github.com/users/cowtowncoder/orgs","repos_url":"https://api.github.com/users/cowtowncoder/repos","events_url":"https://api.github.com/users/cowtowncoder/events{/privacy}","received_events_url":"https://api.github.com/users/cowtowncoder/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-03T23:22:37Z","updated_at":"2015-03-03T23:22:37Z","closed_at":null,"body":"(see #51 for background)\r\n\r\nAs things are, generated classes use simple naming scheme, which works ok with one notable exception: when properties are included/excluded with annotations, resulting accessor classes will differ.\r\nBut since it is not possible re-load classes, the initial definition remains, and may cause exception (or worse, potentially wrong output or binding).\r\n\r\nOne simple thing to do is to calculate checksum on bytecode and attach that as part of classname. This should result in different class name if actual contents change.\r\n\r\nIf even this fails we may need to consider use of randomized id instead; but let's try this first."}}