On 31 July 2015 at 14:46, Stephen Cameron <[email protected]> wrote:
> I can imagine that providing an alternative to using DataNucleus, at least > in initial development/prototyping could be possible? You could make use of > the JDO annotations to add a simple ORM layer via the isis metamodel. If > you don't enhance the classes the JDO annotations are still there to be > used. > > > Then when you were happy with the data-model and moving on to adding more > complex behaviour and/or seeking better performance, to switch over to > class enhancement. > We do have - and in fact I just mothballed - an inmemory object store. The trouble with it (and any other object store impl) is that one ends up with subtly different behaviour. One case in point is that DN will automatically maintain both ends of a bidirectional relationship. I'd rather go the other way, and work with Andy Jefferson to make DN's enhancement story better. With DN 4.x he decided to drop the JDO SPI support for interchangeable enhancement and to make that bit "proprietary" (no better or worse than JPA/Hibernate, in other words); so hopefully over time we'll see improvements and better control here. Thx anyway Dan > Just a thought, datanucleus obviously has good and not so good aspects in > the context of Isis. > > Regards > Steve C > > On Fri, Jul 31, 2015 at 9:13 PM, Dan Haywood <[email protected] > > > wrote: > > > I've been meaning to do add some docs and a quick screencast about DCEVM > > for a while; maybe this weekend.. > > > > To answer Martin's question: in fact, if running in prototype mode, then > > the Wicket viewer automatically invalidates the metamodel of the (class > of > > the) displayed object... this is why editing the .layout.json file and > > reloading changes causes updates to be picked up automatically. > > > > What is more tricky is if the entity is changed itself, ie its > > structure/method signatures. If the internals are changed then regular > > Java Hotspot can mostly cope, and I suspect that DCEVM would make that > more > > reliable still. But if the entity has changed then the class needs > > re-enhancing. Unfortunately DN doesn't provide any easy way to do that, > so > > there's little point in Isis providing an API to invalidate a class if > the > > underlying DN metamodel hasn't also been updated. > > > > One reasonable workaround is to use contributed actions, and/or event > bus, > > and have them in essence "decorate" the class. As your app gets larger > > you'll probably want to be using these anyway. And the contributing > > services can be reloaded by DCEVM without requiring any enhancing going > on. > > > > ~~~ > > Alternatively you could dust off the JRebel plugin that I worked on > [1]. I > > did get this working reasonably well for me, though I'm not sure if > anyone > > else did. (And, having said that I haven't found myself reaching for it, > > but partly because I switch context between projects all the time). > > Anyway, perhaps worth checking out. > > > > HTH > > Dan > > > > > > [1] https://github.com/isisaddons/isis-jrebel-plugin > > > > > > > > On 31 July 2015 at 09:03, Martin Grigorov <[email protected]> wrote: > > > > > Hi, > > > > > > I use DCEVM for code reloading. It is free and there is nothing to > learn. > > > But it doesn't help with updating Isis meta model. > > > It would be nice if Isis exposes REST/JMX/... interface that triggers > > > rebuild of the model. > > > @Dan: is this possible with the code of isis-mavel-plugin? > > > On Jul 31, 2015 7:45 AM, "Stephen Cameron" <[email protected] > > > > > wrote: > > > > > > > Hi again, > > > > > > > > After playing around with options I now think there isn't much > > > opportunity > > > > to speed things up, other than to use JRebel or change the way I > > develop > > > > (not start the webapp so much). The webapp project looks for jars in > > the > > > > maven repository not the war, so I only need to do maven install on > the > > > dom > > > > project when I change a dom class. That should have been apparent > > sooner > > > :( > > > > > > > > Bottomline: the webapp takes some time to start, but that is fine. > > > > > > > > > > > > > > > > On Fri, Jul 31, 2015 at 11:27 AM, Stephen Cameron < > > > > [email protected]> wrote: > > > > > > > > > Hi, > > > > > > > > > > I would greatly appreciate some advice on speeding up development > in > > > > > Eclipse. Using the simpleapp project with separate dom, fixture, > > > > integtest > > > > > and webapp subprojects. > > > > > > > > > > I'd at least like the webserver (jetty,tomcat) to restart when I > > > modify a > > > > > dom class. This is what I am used to with Dynamic Web Projects, > > however > > > > > after a bit of trying today I still cannot get that to work, using > > > > Tomcat. > > > > > > > > > > It seems most are using JRebel with IntelliJ, but I am not so keen > to > > > go > > > > > there yet as I am (re)learning on many fronts at present. > > > > > > > > > > The issue with Tomcat is a jetty dependancy, this was noted > > previously > > > > > [1], but I could not get around it by removing > > > > > jetty-all-9.2.11.v20150529.jar as suggested, I then got a > > null-pointer > > > > > exception. > > > > > > > > > > At the moment I have to rebuild the whole project after a class > > change > > > in > > > > > the dom-project then restart the server to see the change. Is the > > > because > > > > > the .war has to be rebuilt for mvn jetty:run to use the new version > > of > > > > the > > > > > class file? > > > > > > > > > > I've just tried to use the eclipse jetty plugin but that is telling > > me > > > > > that the dom classes have not been enhanced by datanucleus. > > > > > > > > > > Hoping for some insights. > > > > > > > > > > Thanks > > > > > Steve C > > > > > > > > > > > > > > > [1] > > > > > http://permalink.gmane.org/gmane.comp.apache.incubator.isis.devel/9931 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
