From f19d038c599dc9af9ca89ea21feb1ab1509f0d1f Mon Sep 17 00:00:00 2001 From: ihommani Date: Tue, 22 Jul 2014 17:45:24 +0200 Subject: [PATCH 1/2] Updated README.md Improve the FAQ readability by adding new line between questions and answers. Also add bold letter to enlight them. --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0299a50e..d813bea1 100644 --- a/README.md +++ b/README.md @@ -37,25 +37,25 @@ of the object, the instances do not need to be discarded and recreated. No doubt that raises a lot of questions and hopefully a proper FAQ will appear here shortly! But in the meantime, here are some basic Qs and As: -Q. Does it reload anything that might change in a class file? -A. No, you can't change the hierarchy of a type. Also there are certain constructor patterns of -usage it can't actually handle right now. - -Q. With objects changing shape, what happens with respect to reflection? -A. Reflection results change over time as the objects are reloaded. For example, modifying a class +**Q**. Does it reload anything that might change in a class file? +**A**.No, you can't change the hierarchy of a type. Also there are certain constructor patterns of +usage it can't actually handle right now. + +**Q**. With objects changing shape, what happens with respect to reflection? +**A**. Reflection results change over time as the objects are reloaded. For example, modifying a class with a new method and calling getDeclaredMethods() after reloading has occurred will mean you see the new method in the results. *But* this does mean if you have existing caches in your system that stash reflective information assuming it never changes, those will need to be cleared after a reload. -Q. How do I know when a reload has occurred so I can clear my state? -A. You can write a plugin that is called when reloads occur and you can then take the appropriate +**Q**. How do I know when a reload has occurred so I can clear my state? +**A**.You can write a plugin that is called when reloads occur and you can then take the appropriate action. Create an implementation of `ReloadEventProcessorPlugin` and then register it via `SpringLoadedPreProcessor.registerGlobalPlugin(plugin)`. (There are other ways to register plugins, which will hopefully get some documentation!) -Q. What's the state of the codebase? -A. The technology is successfully being used by Grails for reloading. It does need some performance +**Q**. What's the state of the codebase? +**A**. The technology is successfully being used by Grails for reloading. It does need some performance work and a few smacks with a refactoring hammer. It needs upgrading here and there to tolerate the invokedynamic instruction and associated new constant pool entries that arrived in Java 7. From dbe2b355d1b920540f73e1a1d70be56c40c28b8e Mon Sep 17 00:00:00 2001 From: ihommani Date: Tue, 22 Jul 2014 17:47:09 +0200 Subject: [PATCH 2/2] Addes distinction to questions, in the FAQ part Added balise to the questions. --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d813bea1..f388c5b3 100644 --- a/README.md +++ b/README.md @@ -37,24 +37,24 @@ of the object, the instances do not need to be discarded and recreated. No doubt that raises a lot of questions and hopefully a proper FAQ will appear here shortly! But in the meantime, here are some basic Qs and As: -**Q**. Does it reload anything that might change in a class file? +**Q**. *Does it reload anything that might change in a class file?* **A**.No, you can't change the hierarchy of a type. Also there are certain constructor patterns of usage it can't actually handle right now. -**Q**. With objects changing shape, what happens with respect to reflection? +**Q**. *With objects changing shape, what happens with respect to reflection?* **A**. Reflection results change over time as the objects are reloaded. For example, modifying a class with a new method and calling getDeclaredMethods() after reloading has occurred will mean you see the new method in the results. *But* this does mean if you have existing caches in your system that stash reflective information assuming it never changes, those will need to be cleared after a reload. -**Q**. How do I know when a reload has occurred so I can clear my state? +**Q**. *How do I know when a reload has occurred so I can clear my state?* **A**.You can write a plugin that is called when reloads occur and you can then take the appropriate action. Create an implementation of `ReloadEventProcessorPlugin` and then register it via `SpringLoadedPreProcessor.registerGlobalPlugin(plugin)`. (There are other ways to register plugins, which will hopefully get some documentation!) -**Q**. What's the state of the codebase? +**Q**. *What's the state of the codebase?* **A**. The technology is successfully being used by Grails for reloading. It does need some performance work and a few smacks with a refactoring hammer. It needs upgrading here and there to tolerate the invokedynamic instruction and associated new constant pool entries that arrived in Java 7.