You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/08/03 13:17:35 UTC

isis-site git commit: ISIS-1082: update to migration notes

Repository: isis-site
Updated Branches:
  refs/heads/asf-site 10cafe680 -> bc0599fea


ISIS-1082: update to migration notes


Project: http://git-wip-us.apache.org/repos/asf/isis-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis-site/commit/bc0599fe
Tree: http://git-wip-us.apache.org/repos/asf/isis-site/tree/bc0599fe
Diff: http://git-wip-us.apache.org/repos/asf/isis-site/diff/bc0599fe

Branch: refs/heads/asf-site
Commit: bc0599feaebbf02ad446676a637191ac865a1870
Parents: 10cafe6
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Aug 3 12:06:09 2015 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Aug 3 12:06:09 2015 +0100

----------------------------------------------------------------------
 content/migration-notes.html | 54 +++++++++++++++------------------------
 1 file changed, 21 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis-site/blob/bc0599fe/content/migration-notes.html
----------------------------------------------------------------------
diff --git a/content/migration-notes.html b/content/migration-notes.html
index fc4c37a..cb5963a 100644
--- a/content/migration-notes.html
+++ b/content/migration-notes.html
@@ -512,7 +512,7 @@ table.CodeRay td.code>pre{padding:0}
 <div class="sect3">
 <h4 id="_in_the_parent_code_pom_xml_code">In the parent <code>pom.xml</code></h4>
 <div class="paragraph">
-<p>under the <code>&lt;project&gt;/&lt;properties&gt;</code>, remove:</p>
+<p>under the <code>project/properties</code>, remove:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -525,7 +525,7 @@ table.CodeRay td.code>pre{padding:0}
 <div class="sect3">
 <h4 id="_in_code_dom_pom_xml_code">In <code>dom/pom.xml</code>,</h4>
 <div class="paragraph">
-<p>under <code>&lt;build&gt;/&lt;plugins&gt;</code>, remove:</p>
+<p>under <code>build/plugins</code>, remove:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -551,7 +551,7 @@ table.CodeRay td.code>pre{padding:0}
 </div>
 </div>
 <div class="paragraph">
-<p>and (if you have it) under <code>&lt;build&gt;/&lt;pluginManagement&gt;/&lt;plugins&gt;</code>, remove:</p>
+<p>and (if you have it) under <code>build/pluginManagement/plugins</code>, remove:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -589,7 +589,7 @@ table.CodeRay td.code>pre{padding:0}
 </div>
 </div>
 <div class="paragraph">
-<p>and instead in <code>&lt;profiles&gt;</code> add:</p>
+<p>and instead, under <code>&lt;profiles&gt;</code> add:</p>
 </div>
 <div class="listingblock">
 <div class="content">
@@ -716,6 +716,20 @@ isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true</cod
 </tr>
 </table>
 </div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Setting <code>autoCreateAll</code> to <code>true</code> is important to do when running with an in-memory database.  If you don&#8217;t do this then the tables will be created lazily anyway by DataNucleus, but in some circumstances this can lead to deadlocks.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>In addition, change:</p>
 </div>
@@ -772,18 +786,7 @@ isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true</cod
 </ul>
 </div>
 <div class="paragraph">
-<p>Prior to 1.9.0 we used the <a href="https://github.com/ronmamo/reflections">Reflections</a> library to do this, which under the covers uses <a href="http://www.javassist.org/">Javassist</a>.  This is a relatively heavyweight approach.</p>
-</div>
-<div class="paragraph">
-<p>In 1.9.0 we have changed to using the <a href="https://github.com/lukehutch/fast-classpath-scanner">Fast-Classpath-Scanner</a> library, which is altogether more lightweight and has no dependencies.</p>
-</div>
-<div class="paragraph">
-<p>Generally this change should be transparent, however there are two points to double-check.</p>
-</div>
-<div class="sect3">
-<h4 id="_ensure_dom_classes_registered">Ensure dom classes registered</h4>
-<div class="paragraph">
-<p>First, you should ensure that all domain classes are correctly registered using the <code>isis.persistor.datanucleus.RegisterEntities.packagePrefix</code> key.  This should include any domain classes for addon modules.</p>
+<p>For the last of these we have tightened up the validation, to ensure that each package specified in the <code>isis.persistor.datanucleus.RegisterEntities.packagePrefix</code> key does indeed include at least one annotated entity.  This should include any domain classes for addon modules.</p>
 </div>
 <div class="paragraph">
 <p>For example, the (non-ASF) <a href="http://github.com/isisaddons/isis-app-todoapp">Isis addons' todoapp</a>'s configuration now reads:</p>
@@ -815,17 +818,7 @@ isis.persistor.datanucleus.impl.datanucleus.schema.validateConstraints=true</cod
 </table>
 </div>
 <div class="paragraph">
-<p>If you fail to do this then DataNucleus will build up its metamodel lazily, rather than validate all classes up-front.  This can call issues: we&#8217;ve seen malformed SQL being submitted when DN wasn&#8217;t aware of subclasses of a superclass, and we&#8217;ve also seen deadlocks when running against HSQLDB as it attempts to perform a DDL statement intermixed with DML statements.</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_ensure_services_annotated">Ensure services annotated</h4>
-<div class="paragraph">
-<p>In the previous implementation the <a href="rg.html#_rg_annotations_manpage-DomainService"><code>@DomainService</code></a> annotation could be applied to a superclass, and would be automatically picked up by any subclasses.</p>
-</div>
-<div class="paragraph">
-<p>With the new implementation this is no longer the case; every concrete domain service must be annotated with <code>@DomainService</code>.</p>
-</div>
+<p>If you fail to do specify all packages things may still work, however DataNucleus will build up its metamodel lazily.  This can call issues: we&#8217;ve seen malformed SQL being submitted when DN wasn&#8217;t aware of subclasses of a superclass, and we&#8217;ve also seen deadlocks when running against HSQLDB as it attempts to perform a DDL statement intermixed with DML statements.</p>
 </div>
 </div>
 <div class="sect2">
@@ -1387,12 +1380,7 @@ into the new <code>org.isisaddons.module.settings:isis-module-settings-dom</code
 <li><a href="#_run_code_mvn_clean_code">Run <code>mvn clean</code> !</a></li>
 </ul>
 </li>
-<li><a href="#_migration-notes_1.8.0-to-1.9.0_specify-all-dom-packages">Specify all <code>dom</code> packages</a>
-<ul class="sectlevel3">
-<li><a href="#_ensure_dom_classes_registered">Ensure dom classes registered</a></li>
-<li><a href="#_ensure_services_annotated">Ensure services annotated</a></li>
-</ul>
-</li>
+<li><a href="#_migration-notes_1.8.0-to-1.9.0_specify-all-dom-packages">Specify all <code>dom</code> packages</a></li>
 <li><a href="#_migration-notes_1.8.0-to-1.9.0_upgrading-to-java8">Upgrading to Java 8</a>
 <ul class="sectlevel3">
 <li><a href="#_in_the_parent_code_pom_xml_code_2">In the parent <code>pom.xml</code></a></li>